fail2ban を用いて SSH への侵入検知
Fail2ban のインストール(Ubuntu 上)
Fail2ban は、 apache 等のログファイルを読み取って、侵入検知を行うソフトウェア
sudo apt -y update
sudo apt -y install fail2ban
sudo fail2ban-client reload
sudo fail2ban-client status ssh
Fail2ban の設定
設定は /etc/fail2ban/jail.local で行われている. 既定(デフォルト)の設定では、一定時間内でのログインの失敗が「3」を超えると、600秒ロックされるようになっている (下図)

設定を変えたいときは、/etc/fail2ban/jail.conf ではなく, /etc/fail2ban/jail.local を書き換えて行う. 書き換えが終わったら, 次のコマンドを実行する.
sudo fail2ban-client reload
sudo service sshd restart
ブラックリストサイトからの接続拒否(Fail2Ban を利用)(Ubuntu の場合)
前準備として,SSH サーバの導入が終わっていること.
https://github.com/mitchellkrogza/Fail2Ban-Blacklist-JAIL-for-Repeat-Offenders-with-Perma-Extended-Banning の公開情報による
- 次のコマンドを実行
sudo apt -y update sudo apt -y install fail2ban sudo fail2ban-client reload sudo fail2ban-client status sshd sudo wget https://raw.githubusercontent.com/mitchellkrogza/Fail2Ban-Blacklist-JAIL-for-Repeat-Offenders-with-Perma-Extended-Banning/master/filter.d/blacklist.conf -O /etc/fail2ban/filter.d/blacklist.conf sudo wget https://raw.githubusercontent.com/mitchellkrogza/Fail2Ban-Blacklist-JAIL-for-Repeat-Offenders-with-Perma-Extended-Banning/master/action.d/blacklist.conf -O /etc/fail2ban/action.d/blacklist.conf sudo service fail2ban restart
- /etc/fail2ban/jail.local に次の設定を追加
このファイルがないときは,ファイルを新規作成.
[DEFAULT] port = 0:65535 filter = %(__name__)s [blacklist] enabled = true logpath = /var/log/fail2ban.* filter = blacklist banaction = blacklist action = %(action_)s bantime = 31536000 ; 1 year findtime = 31536000 ; 1 year maxretry = 10
- 次のコマンドを実行
sudo touch /etc/fail2ban/ip.blacklist sudo chmod 775 /etc/fail2ban/ip.blacklist sudo service fail2ban restart sudo fail2ban-client reload sudo service sshd restart
- しばらく運用した後,次のコマンドでログなどを確認.
cat /var/log/fail2ban.log cat /etc/fail2ban/ip.blacklist