ログインしたばかりcat /var/log/auth.log
で、記録がたくさんあることがわかりました| grep "Failed password for"
。
ただし、有効なユーザー/無効なユーザーの2つの可能なレコードタイプがあります。これはそれらに対する私の試みを複雑にします| 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
結果:
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
ベストアンサー1
次のように使用できます。
grep "Failed password for" /var/log/auth.log | grep -Po "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" \
| sort | uniq -c
文字列を見つけてIPアドレスをFailed password for
抽出します()。-o
ソートされ、uniq
発生回数が計算されます。
出力は次のとおりです(例を入力ファイルとして使用)。
1 111.111.111.1
3 111.11.111.111
6 111.111.11.111
出力の最後のエントリは6回試行されました。