如何跟踪失败的SSH登录尝试?


134

我想看看是否有人试图通过蛮力登录SSH到我的Ubuntu 12.04服务器。我如何查看是否正在进行此类活动?

Answers:


150

所有登录尝试都记录到/var/log/auth.log

1.过滤暴力交互的SSH登录

打开一个终端,然后输入以下内容;如果超过一页,您将可以上下滚动;输入q退出:

grep sshd.\*Failed /var/log/auth.log | less
  • 这是我的一个VPS的真实示例:

    8月18日11:00:57 izxvps sshd [5657]:来自95.58.255.62端口38980 ssh2的root用户密码失败
    8月18日23:08:26 izxvps sshd [5768]:来自91.205.189.15端口38156 ssh2的root用户的密码失败
    8月18日23:08:30 izxvps sshd [5770]:来自91.205.189.15端口38556 ssh2的密码失败
    8月18日23:08:34 izxvps sshd [5772]:来自91.205.189.15端口38864 ssh2的无效用户星号的密码失败
    8月18日23:08:38 izxvps sshd [5774]:来自91.205.189.15端口39157 ssh2的无效用户sjobeck的密码失败
    8月18日23:08:42 izxvps sshd [5776]:来自91.205.189.15端口39467 ssh2的root用户密码失败
    

2.查找失败的连接(即未尝试登录,可能是端口扫描仪等):

使用此命令:

grep sshd.*Did /var/log/auth.log | less
  • 例:

    8月5日22:19:10 izxvps sshd [7748]:未收到来自70.91.222.121的标识字符串
    8月10日19:39:49 izxvps sshd [1919]:未从50.57.1​​68.154接收到标识字符串
    8月13日23:08:04 izxvps sshd [3562]:未收到来自87.216.241.19的标识字符串
    8月17日15:49:07 izxvps sshd [5350]:没有收到来自211.22.67.238的标识字符串
    8月19日06:28:43 izxvps sshd [5838]:未从59.151.37.10接收到标识字符串
    

如何减少失败/暴力登录尝试

  • 尝试将SSH从默认的22切换到非标准端口
  • 或安装自动禁止脚本,例如fail2ban安装fail2ban

4
您在切换SSH端口时获得了多少安全性(正如您提到的那样,他们不能只是对您进行扫描),对于合法用户来说,轻微的可用性损失值得吗?
尼克T

8
@NickT事实证明足以显着减少登录尝试。在一个星期/一天中,我会进行数千次尝试,到目前为止,仅通过切换端口,上个月我就没有任何尝试。
AntoineG 2014年

2
我认为禁止使用密码登录也可能有所帮助。
吕克M

2
我知道这是ubuntu,只想提及在centos等某些系统上,文件路径为/var/log/secure
lfender6445,2016年

某些系统使用systemctl -eu sshd
alecdwm '16

72

我认为监视日志是一个较弱的解决方案,特别是如果您的帐户密码较弱。暴力破解通常每分钟尝试至少数百个密钥。即使您设置了一项cron作业来通过电子邮件发送暴力尝试,也可能需要数小时才能到达服务器。

如果您拥有面向公众的SSH服务器,则需要一个可以在很长时间之前就被黑客入侵的解决方案  。

我强烈建议fail2ban他们的维基说了什么比我做的更好。

Fail2ban扫描日志文件(例如/var/log/apache/error_log)并禁止显示恶意迹象的IP-太多密码失败,寻找漏洞等。通常,Fail2Ban然后用于更新防火墙规则以在指定的时间内拒绝IP地址,尽管还可以配置其他任意操作(例如,发送电子邮件或弹出CD-ROM托盘)。开箱即用Fail2Ban带有针对各种服务(apache,curier,ssh等)的过滤器。

从中获得保护就像sudo apt-get install fail2ban

默认情况下,一旦有人尝试失败三次,他们的IP就会被禁止五分钟。这种延迟实际上可以终止SSH暴力破解尝试,但是如果您忘记密码,也不会破坏您的一天(但是无论如何,您都应该使用密钥!)


6
为什么称它为禁令?
和平者

9
@Pacerier以此类推,登录失败导致(2)禁止。
塞比2015年

2
哇哈哈哈,你把我的日子定在@Pacerier了,我从来没有把它当作字面的“禁止取缔”。
adelriosantiago

1
我认为应对此进行编辑,以便从第一句话中“特别是”删除。如果您的密码不正确,这只是一个问题。在任何情况下都不能强行使用强密码,阻止人们尝试的唯一原因是减少服务器负载。
Abhi Beckert

完全同意。无论如何,可以防止服务器负载过大。我见过尝试的几率
迭戈·安德烈斯·迪亚斯·埃斯皮诺萨
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.