在我连接到互联网的服务器上的 /var/log/auth.log 中有以下内容:
Jul 6 10:04:17 ubuntu sshd[28207]: Connection from 221.111.75.119 port 48921
Jul 6 10:04:19 ubuntu sshd[28207]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=softbank221111075119.bbtec.net user=root
Jul 6 10:04:20 ubuntu sshd[28207]: Failed password for root from 221.111.75.119 port 48921 ssh2
Jul 7 17:00:40 ubuntu sshd[2185]: Connection from 41.238.117.10 port 4555
Jul 7 17:00:42 ubuntu sshd[2185]: reverse mapping checking getaddrinfo for host-41.238.117.10.tedata.net [41.238.117.10] failed - POSSIBLE BREAK-IN ATTEMPT!
Jul 7 17:00:42 ubuntu sshd[2185]: Failed none for root from 41.238.117.10 port 4555 ssh2
以及使用不同端口的许多其他登录尝试。我在路由器后面,在路由器上我只为我的 Ubuntu 服务器启用了默认 ssh 端口(带端口转发),那么为什么这些端口会出现在 auth.log 中?路由器中没有启用 DMZ。
答案1
这些是连接来自的源端口,而不是目标 ssh 端口。
只要您在标准端口 (22) 上打开 ssh,您就会受到此类自动攻击。如果您不放心,可以将 ssh 服务器移至另一个随机端口(使用 /etc/ssh/sshd_config 中的 Port 指令,并在路由器上反映此更改)。
您还可以使用类似 fail2ban 的工具,在多次尝试失败后自动阻止它们。但如果它来自多个主机,就像这里的情况一样(可能是某种僵尸网络攻击),fail2ban 就不会那么有效。
答案2
防弹 SSH 服务器应该是这样的:
- 非标准端口
- 仅用于验证私钥
- Fail2ban 禁止未能通过身份验证的 IP(例如连续 5 次)
睡得好 :-)