fail2ban-server がメモリを大量消費している
問題
fail2banが稼働しているのですが、メモリを1GBぐらい使っています。
ほんとにこんなに必要なのでしょうか。
top - 12:28:53 up 863 days, 49 min, 2 users, load average: 1.42, 0.61, 0.28 Tasks: 122 total, 2 running, 120 sleeping, 0 stopped, 0 zombie %Cpu(s): 2.7 us, 2.6 sy, 0.0 ni, 83.2 id, 11.5 wa, 0.0 hi, 0.1 si, 0.0 st KiB Mem : 2048812 total, 336132 free, 1291944 used, 420736 buff/cache KiB Swap: 4194300 total, 2136412 free, 2057888 used. 561152 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2323 root 20 0 2487432 1.140g 2800 S 0.0 58.3 2754:37 fail2ban-server 1559 chrony 20 0 117908 13676 4868 S 0.0 0.7 0:17.73 chronyd 5936 root 20 0 271648 2976 1012 S 0.0 0.1 0:00.01 abrt-dbus 5913 root 20 0 150552 2924 1580 S 0.0 0.1 0:00.07 sshd 371 root 20 0 47636 2372 2232 S 0.0 0.1 63:24.21 systemd-journal
答え
よくある理由
- 拒否しているIPが大量にある
- 拒否時間が長い
- 攻撃を受けている
- Fail2banが使用しているSQLiteデータベースが肥大化している
fail2banの状況は以下のようなコマンドで確認できる。
fail2ban-client status sshd
SQLiteデータベースが肥大化しているときは以下のようにして作り直すとよい。
サービス停止
/etc/init.d/fail2ban stop
データベースファイルを削除
rm /var/lib/fail2ban/fail2ban.sqlite3
サービス開始
/etc/init.d/fail2ban start
SQLiteデータベースが肥大化していると1G以上になっていたりする。
# ls -la /var/lib/fail2ban/fail2ban.sqlite3 -rw------- 1 root root 1438639104 Jul 29 12:48 /var/lib/fail2ban/fail2ban.sqlite3
コメント