我在我的 Linux 机器上收到以下错误消息。
sshd[9287]: message repeated 2 times: [ error: PAM: Authentication failure for root from 172.16.2.1]
sshd[9287]: Received disconnect from 172.16.2.1: 11: [preauth]
sshd[9312]: error: PAM: Authentication failure for root from 172.16.2.1
sshd[9315]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=172.16.2.1 user=root
这种情况经常发生,我的日志里全是这个错误消息。如何解决这个问题?
答案1
有人试图暴力破解您的root
用户的密码。
(即使密码登录被禁止也没关系——他们仍然可以尝试,只是每次都会失败。)
你通常不会想要隐藏这些日志消息;当有人确实设法在某个时候闯入您的系统时,它们可能是有用的信息。
(尽管在这种情况下您需要仅附加的异地日志备份以确保安全。)
您可以使用日志聚合系统(如 Logstash 或 Graylog)将这些消息过滤到不同的视图中以单独处理它们,或者您可以grep -v '[Aa]uthentication failure]' /var/log/syslog | less
在手动查看日志时将它们过滤掉。
您还可以向源系统的操作员报告暴力破解尝试,但这通常是徒劳的。
(请注意,您看到的是 NAT 网关的私有网络地址 (172.16.2.1),因此您需要检查网关以获取实际的外部地址。)
通常的缓解措施只是预过滤和混淆:
确保
root
在您的系统中禁用用户的基于密码的登录/etc/ssh/sshd_config
:PermitRootLogin without-password # or PermitRootLogin no # or (at the very end of the file, since `Match` extends until the next `Match` or end of file) Match User root PasswordAuthentication no
- 配置防火墙以阻止来自您通常不连接的 IP 范围(作为白名单或黑名单)到 SSH 端口的连接,
- 可能将 SSH 端口更改为非标准端口(但这可能会导致与不支持自定义端口的软件出现兼容性问题)。