//ログ確認
$ cat /var/log/auth.log | grep sshd
// 存在しないユーザーへのアクセス
$ cat /var/log/auth.log | grep sshd.\*Invalid
$ cat /var/log/auth.log | grep sshd.\*Invalid | cut -d ' ' -f 8 | sort | uniq -c | sort -nr
// 一番多い不正ログイン試行のIPAddress
$ grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' /var/log/auth.log | grep -E 'Invalid user' | cut -d ' ' -f 10 | sort | uniq -c | sort -nr
$ cat /var/log/auth.log | grep sshd.\*Invalid | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | sort | uniq -c | sort -nr
#sshのログのIPアドレスだけ強調
$ tail -f /var/log/auth.log | grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
fail2ban のインストール
sudo apt install -y fail2ban
設定ファイルをコピーする
# cp -p /etc/fail2ban/jail.conf /etc/fail2ban/jail.d/jail.local
設定
[sshd] <-コメントを削除
enabled = true <-コメントを削除
起動
# systemctl enable fail2ban
# systemctl enable firewalld
確認
# systemctl status fail2ban
BANされたIPの確認
# fail2ban-client status sshd
# ipset --list
# iptables -nL
logの場所
/var/log/fail2ban.log
ファイルの位置
独自フィルタは「/etc/fail2ban/filter.d/」内に作成する。
独自アクション「/etc/fail2ban/action.d/」内に作成する。
拡張子は conf か local