阻止服务器上的端口扫描

阻止服务器上的端口扫描

我在 /var/log/auth.log 中看到以下尝试,有人告诉我这可能是端口扫描尝试。(但不确定)

Nov 18 23:50:19 server sshd[21716]: Did not receive identification string from <some IP>
Nov 19 00:05:57  server sshd[24056]: Did not receive identification string from <some IP>

我怎样才能阻止此类尝试?

答案1

如果你使用 Linux,你可以使用失败2ban

“Fail2ban 会扫描日志文件(如 /var/log/pwdfail 或 /var/log/apache/error_log)并禁止密码输入次数过多的 IP。它会更新防火墙规则以拒绝该 IP 地址。”

答案2

与 fail2ban 一样,denyhosts 适用于在登录尝试失败后阻止主机,尽管它/etc/hosts.deny针对给定的服务进行更新,而不是修改防火墙规则。

将您的 SSH 服务器移至高端口可以减少大量此类流量,但正如 Glenn 所说,它本质上并不是更安全的。

如果那个时间间隔表明了您看到尝试的频率,我会简单地将其忽略为背景噪音。但是,如果您真的想将您的服务隐藏在一般互联网之外,请考虑使用端口敲击:http://www.portknocking.org/

答案3

我假设您使用的是 linux 与 FreeBSD - 但是对两者的建议几乎相同。

如果您正在运行以下任何一项:

  • RedHat v7.3、v8.0、v9.0
  • RedHat Enterprise v3、v4、v5(32/64 位)
  • CentOS v3、v4、v5(32/64 位)
  • Fedora Core v1 至 v12(32/64 位)
  • Gentoo
  • openSUSE v10、v11
  • Debian v3.1、v4.0、v5.0
  • Ubuntu v6.06 LTS、v8.10、v9.10、v10.04 LTS
  • 曼德里瓦 2009, 2010
  • Slackware v12.2

我建议使用来自ConfigServer 称为 CSF。如果您使用的是 cPanel 服务器,CSF 拥有出色的用户界面 - 但适用于上述任何 Linux 版本

还有其他替代方案,例如 R-Fx 网络的 APF 和 BFD - 谷歌搜索以下内容:APF(高级策略防火墙)BFD(暴力破解检测)或直接访问R-FX 网络网站了解更多详细信息。

还有一种通过模糊性来实现安全性的方法 - 但这不是解决办法 - 而只是隐藏而已。

首先 - 将 SSH 端口移至 22 以外的其他端口。其次 - 仅使用 ssh 密钥交换 - 忘记密码。第三 - 仅允许 SSH 版本 2。
第四 - 如果您有静态 IP - 则限制允许通过 iptables 和/或防火墙 ssh 进入系统的地址。

如果您需要任何帮助 - 请随时询问。

答案4

还有另一种选择(但不那么流行)。您必须购买另一个具有静态 IP(或 dyndns)的连接(比如 adsl)。设置防火墙,将 ssh 端口移至高数字,并将该路由器连接到您想要授予访问权限的网络中。如果您有机器的物理访问权限,则可以在需要时打开/关闭路由器。

通过这种方式,您可以随时打开门,而不必担心主连接。

相关内容