最近,我通过防火墙打开了 SSH 端口(并重定向到我的服务器),这样我就可以在路上检查 (http) 服务器了。前一两周没有什么不同。但现在,三四周后,我看到了很多这样的情况:
Mar 20 08:38:28 localhost sshd[21895]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=mail.queued.net user=root
Mar 20 08:38:31 localhost sshd[21895]: Failed password for root from 207.210.101.209 port 2854 ssh2
Mar 20 15:38:31 localhost sshd[21896]: Received disconnect from 207.210.101.209: 11: Bye Bye
Mar 20 08:38:32 localhost unix_chkpwd[21900]: password check failed for user (root)
Mar 20 08:38:32 localhost sshd[21898]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=mail.queued.net user=root
Mar 20 08:38:34 localhost sshd[21898]: Failed password for root from 207.210.101.209 port 3729 ssh2
Mar 20 15:38:35 localhost sshd[21899]: Received disconnect from 207.210.101.209: 11: Bye Bye
Mar 20 08:38:36 localhost unix_chkpwd[21903]: password check failed for user (root)
Mar 20 08:38:36 localhost sshd[21901]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=mail.queued.net user=root
Mar 20 08:38:38 localhost sshd[21901]: Failed password for root from 207.210.101.209 port 4313 ssh2
Mar 20 15:38:38 localhost sshd[21902]: Received disconnect from 207.210.101.209: 11: Bye Bye
Mar 20 08:38:40 localhost unix_chkpwd[21906]: password check failed for user (root)
Mar 20 08:38:40 localhost sshd[21904]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=mail.queued.net user=root
Mar 20 08:38:42 localhost sshd[21904]: Failed password for root from 207.210.101.209 port 4869 ssh2
Mar 20 15:38:43 localhost sshd[21905]: Received disconnect from 207.210.101.209: 11: Bye Bye
Mar 20 08:38:44 localhost unix_chkpwd[21909]: password check failed for user (root)
Mar 20 08:38:44 localhost sshd[21907]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=mail.queued.net user=root
Mar 20 08:38:46 localhost sshd[21907]: Failed password for root from 207.210.101.209 port 2512 ssh2
Mar 20 15:38:47 localhost sshd[21908]: Received disconnect from 207.210.101.209: 11: Bye Bye
Mar 20 15:38:57 localhost sshd[21912]: Connection closed by 207.210.101.209
其中 3 月 20 日约有 1100 行,19 日为零行,18 日约有 800 行 — — 全部与同一 IP 相关。
这是什么意思?我该怎么办?为什么不按时间顺序排列?
答案1
这些是脚本小子试图通过 ssh 在您的机器上获取 root 权限。我发现处理这些问题的最佳方法是:
- 将 ssh 端口更改为除 22 之外的任何端口(例如 32999)或其他随机高端口号
- 使用 fail2ban 或类似脚本。在几次登录尝试失败后,它会使用 iptables 禁止该 IP 一段时间。
会有新手加入讨论,说将端口设置为不同的数字就是通过隐蔽性来实现安全性。是也不是。它不会让您的机器更安全,但它会大大减少破解 ssh 的脚本尝试次数。
编辑:
其他值得做的事情是,禁用 root 登录,以防他们猜出您的 root 密码或完全禁用密码验证并使用基于密钥的验证。
答案2
一种叫做端口敲击可以用来让你保持 ssh 端口关闭,直到你(外部)发出请求。
答案3
以上答案解释了为什么您会对 SSH 服务器进行多次身份验证尝试。
至于“为什么不按时间顺序排列?”,看起来您的时区设置可能有问题。所有日志似乎都是连续的,只是时间不同(分钟和秒数对齐)。
尝试运行:
sudo dpkg-重新配置 tzdata