侵入防御システム、Fail2banを本格的に導入してから半年余り。その効果のフィードバックです。

導入環境

  • Ubuntu 20.04
  • Fail2ban 0.11.1
  • AWS Lightsailで運用しており、鍵交換認証を行っています。
  • Lightsailで開けているポートは22(SSH),80(http),443(https)の3つです。

設定ファイル

  • /etc/fail2ban/jail.local
[ufw]
enabled=true
filter=ufw.aggressive
action=iptables-allports
logpath=/var/log/ufw.log
maxretry=1
bantime=-1
ignoreip = 127.0.0.0/8 ::1
# 他、自環境のアクセス元

[sshd]
enabled=true
filter=sshd
mode=normal
port=22
protocol=tcp
logpath=/var/log/auth.log
maxretry=3
bantime=-1
ignoreip = 127.0.0.0/8 ::1
# 他、自環境のアクセス元

bantimeは「-1」。つまり、一度でもリストに入るような不審な兆候があれば、永久に追放します。

半年の経過

この設定で、どのぐらいのIPアドレスを弾いたのか、確認してみました。

  • 確認コマンド(ufw)
sudo fail2ban-client status ufw
  • 確認結果(ufw)
Status for the jail: ufw
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     0
|  `- File list:        /var/log/ufw.log
`- Actions
   |- Currently banned: 187
   |- Total banned:     187
   `- Banned IP list: (後略)
  • 確認コマンド(sshd)
sudo fail2ban-client status sshd
  • 確認結果(sshd)
Status for the jail: sshd
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     29
|  `- File list:        /var/log/auth.log
`- Actions
   |- Currently banned: 5125
   |- Total banned:     5125
   `- Banned IP list: (後略)

驚くべきはSSHのリスト数。半年で5000件を超えているので、単純計算で一月に833件超。BANされたリストをランダムに選んでabusedIP (https://www.abuseipdb.com/)で検索をかけると、いずれも

Confidence of Abuse is 100%

と表示されるものがほとんどです。

  • 鍵交換認証だろうとお構いなしに攻撃を仕掛けるアクセス元の多さ
  • これらを(ほぼ自動的に)弾いてくれるシステムのありがたさ

を改めて思い知りました。また、IPアドレス固定サービスを利用しているのであれば、アクセス許可を固定する(ポジティブリスト形式)が確実です。