プロジェクト

全般

プロフィール

データベースのメンテナンス

Fail2banは検索対象のログなどの情報をsqliteにインポートしてチェックを行っている。
そのため運用中にログが肥大化したり、読み込むログファイルの設定変更を行った際に
古いログが参照されて不具合を起こしたり起動・終了に遅延が発生することがある。
これを解決するために、既存ポリシーを大きく変更した際や遅延が実感できる場合に
データベースのクリアを行うことを推奨する。

特に「recidive」ポリシーを設定している場合はfail2ban自身のログもDBに格納するため
ポリシー設定ミスなどでエラーログが大量に出力された場合にもDBのクリア及びログ
自体のクリアを行うことを推奨する。

手順

  1. 「# systemctl stop fail2ban」でサービスを終了する
  2. 「# tar czxf /var/log/fail2ban/fail2ban.log.tar.gz /var/log/fail2ban/fail2ban.log」で現在のログを退避する
  3. 「# cat /dev/null > /var/log/fail2ban/fail2ban.log」でログをクリアする
  4. 「# mv /var/lib/fail2ban/fail2ban.sqlite3 /var/lib/fail2ban/fail2ban.sqlite3.old」でDBを退避する
  5. ポリシーの修正があれば修正を行う ※必要な場合
  6. 「# systemctl restart iptables」でiptablesにfail2banが設定した一時的なポリシーををリフレッシュする
  7. 「# systemctl start fail2ban」でサービスを開始する
  8. ログファイルに「WARNING New database created. Version '2'」が記載され、DBが作成されたことを確認する