如何检索可能的 ssh 攻击者的 IP 地址?

kra*_*mir 20 security scripting ssh

我刚刚cat /var/log/auth.log登录并查看,有很多| grep "Failed password for"记录。

但是,有两种可能的记录类型 - 有效/无效用户。这使我对| cut他们的尝试变得复杂。

我希望创建一个列表(文本文件),其中包含可能攻击者的 IP 地址和每个 IP 地址的尝试次数。有没有简单的方法来创建它?

另外,仅关于ssh/var/log/auth.log在列出可能的攻击者列表时,我应该考虑哪些所有记录?

我的带有隐藏数字的“auth.log”示例:

cat /var/log/auth.log | grep "Failed password for" | sed 's/[0-9]/1/g' | sort -u | tail
Run Code Online (Sandbox Code Playgroud)

结果:

Mar 11 11:11:11 vm11111 sshd[111]: Failed password for invalid user ucpss from 111.11.111.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for invalid user vijay from 111.111.11.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for invalid user webalizer from 111.111.11.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for invalid user xapolicymgr from 111.111.11.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for invalid user yarn from 111.111.11.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for invalid user zookeeper from 111.111.11.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for invalid user zt from 111.11.111.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for mysql from 111.111.11.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for root from 111.11.111.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for root from 111.111.111.1 port 11111 ssh1
Run Code Online (Sandbox Code Playgroud)

cha*_*aos 23

你可以使用这样的东西:

grep "Failed password for" /var/log/auth.log | grep -Po "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" \
| sort | uniq -c
Run Code Online (Sandbox Code Playgroud)

它搜索字符串Failed password for并提取 ( -o) ip 地址。它已排序,并uniq计算出现次数。

输出将如下所示(以您的示例作为输入文件):

  1 111.111.111.1
  3 111.11.111.111
  6 111.111.11.111
Run Code Online (Sandbox Code Playgroud)

输出中的最后一个已经尝试了 6 次。

  • @orion true 但想象一下,第一个 grep 也可以是 `zgrep "Failed" /var/log/auth.log*` 来搜索压缩的日志档案,而 `sed` 不能。 (2认同)

小智 7

这可能是一个臃肿的解决方案,但我建议你看看安装类似Fail2Ban 的东西

它是为这种日志记录而设计的 + 增加了能够在防火墙中添加(临时)规则以阻止重复攻击者的好处。请务必将您自己的 ip 列入白名单,我曾几次设法将自己暂时锁定