sshd 日志包含“pam_unix 身份验证失败”

sshd 日志包含“pam_unix 身份验证失败”

我在我的 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 端口更改为非标准端口(但这可能会导致与不支持自定义端口的软件出现兼容性问题)。

相关内容