巧合的是,我查看了我的服务器 ssh 日志(/var/log/auth.log),我注意到有人一直在尝试获取访问权限:
Sep 7 13:03:45 virt01 sshd[14674]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=116.31.116.42 user=root
Sep 7 13:03:48 virt01 sshd[14674]: Failed password for root from 116.31.116.42 port 13423 ssh2
Sep 7 13:03:52 virt01 sshd[14674]: message repeated 2 times: [ Failed password for root from 116.31.116.42 port 13423 ssh2]
Sep 7 13:03:52 virt01 sshd[14674]: Received disconnect from 116.31.116.42: 11: [preauth]
Run Code Online (Sandbox Code Playgroud)
这种情况每分钟发生几次,并且在我不知道的情况下已经持续了很长时间。
问题如果是,我是否应该担心这个问题:我该怎么办?
Sve*_*ven 63
不幸的是,这绝对是正常的,每个 SSH 服务器都会遇到这种情况。欢迎来到互联网。
只要您正确保护您的服务器(例如保持更新,仅允许基于密钥的登录,禁用 root SSH 访问),这应该不是问题,但是您可以使用类似fail2ban
和其他方法(例如 IP)来进一步限制这一点白名单,更改端口和类似的东西在可能和适当的地方。
Mac*_*ity 22
禁用 root 登录。将此添加到/etc/ssh/sshd_config
PermitRootLogin no
Run Code Online (Sandbox Code Playgroud)
就让他们随心所欲地敲打根部。他们永远不会那样做。
Mat*_*lis 10
除了像 Sven 所指出的那样保护服务器之外,最好的事情之一(特别是如果 ssh 只为您,管理员)就是将 sshd 端口从 default 更改22
。
它不仅简单(尤其是当您将新端口放入其中时,~/.ssh/config
因此您不必每次都输入它),并且它会停止 99% 的自动扫描,因此您甚至看不到它们,而且它也会有所帮助即使发现了一些 0-day ssh 漏洞给你更多的时间,或者你的密钥被泄露等。
小智 7
这是很正常的行为。我每天都会收到数千份这样的邮件,我认为与大公司面临的情况相比,这甚至是微不足道的。
但是你需要担心吗?
fail2ban
吗?如果是,那么您不必担心。这些攻击通常是基于字典的对常见 unix 用户名的攻击。例如,我经常看到那些“用户”尝试登录:
我真的建议安装fail2ban
,因为它会根据他们的 ip 对尝试登录的任何用户进行速率限制,仅此一项就可以过滤掉大部分恶意流量。与其他人所说的相反,我不是基于 ip 的阻塞的支持者。对于一个非常精细的问题,这似乎是一个非常粗略的解决方案。此外,那些攻击者通常控制多个 ip,因此即使您阻止了多个(甚至几个 ip 块),也不能保证您将全部阻止。然而,Fail2ban 对于这些场景非常灵活。