如何在 Debian 中阻止对 OpenSSH 公共服务器 IP 的访问?

Van*_*par 5 linux firewall ssh

我在 DMZ 中有一个带有公共和私有 IP 的 Debian 服务器。我需要能够在我们的私有端通过 SSH 连接到它,然后阻止对公共地址的所有访问。/etc/hosts.deny 和 sshd_config 似乎都只允许一个阻止传入的 IP 地址。我真正想要的是禁用公共 IP 的 SSH 连接。我一直在尝试 iptables,但我也没有运气。

任何帮助表示赞赏。

--EDIT 所以收集我到目前为止的尝试列表:

  • SSH
  • iptables iptables -I INPUT -d $public_ip -p tcp --dport 22 -j REJECT
  • /etc/hosts.deny -sshd: ALL except 192.168.2.12 $DHCPaddressrange : deny插入。
  • Netstat - 结果netstat -tunlp | grep 22

到目前为止,/etc/init.d/ssh 和 /etc/init.d/network 已重新启动。

尝试连接到服务器时使用了内部和外部网络连接。两者都可以通过公共地址访问。

- 编辑

它还活着!显然,我们的访客网络可以访问,这不是最佳选择,但我尝试通过来自访客网络的电话通过 SSH 进行连接,也没有连接。显然,除非我在我们的网络之一上,否则我无法解决它。我在那里看到了一些防火墙问题。

感谢您的回应伙计们。

Mic*_*nik 2

您可以使用in来执行此iptables -I INPUT -d $public_ip -p tcp --dport 22 -j REJECT操作,或者可以将 sshd 绑定为仅侦听您的私有 IP 。ListenAddress $private_ip/etc/ssh/sshd_config