fail2banがまともに働かなくなった

はじめに

というか発端。fail2banがひたすらUnbanし続ける怪談です。嘘です。
セキュリティ的な話になるのでぼんやりした雑談回です。

ときに皆様、ご自身のサーバに悪い虫が付かないよう、fail2banを導入している方は多いと思います。

ある日そんなサーバが垂れ流すログを眺めていたら、fail2banがUnbanしか吐いていない。これは怪しいです。確認をせねばなりません。

結論をいうと、自動的に走ったシステムアップデート後に、デーモンの起動が中途半端に転んでいたことが原因でした。ちゃんとログを確認しておかないといけないです。

cronでパッケージのアップデートをお任せしていたのがまずかったですね。サーバの再起動も行うので諸々の自動起動も設定していたのですが、順序かなにかが狂っちゃったようです。

諸々のログを確認して愕然とする

調査の基本、ログ確認です。ログローテーションでアーカイブされたログを含めて、大量のログが見つかりました。

システム関連、SSH関連、各パッケージと見ていきます。

Removed logfile: (ログファイル名)

botnet

Stopping all jails

(・д・)
ついに来たかと思いました。ヤッテシマッタ。モウオシマイダ。

冷静に考える

しばらく頭を抱えていましたが、抱えていても解決しません。いつまで経っても働かないfail2banが目の前に居るだけです。
落ち着いて状況を確認してみます。ハヤトチリ、ヨクナイ。

サーバのリソース使用率に極端な変動はありません。平常運転です。
ということは、ひとまず他人にゴリゴリこき使われている状況では無いですね。まぁ、極端な変動が起きないよう巧妙に使われている可能性もありますが。

続いて、Unbanしか出なくなった日付を特定します。その周辺で何か妙なことはなかったか?

ありましたよ!パッケージのアップデート後に。ドミノ倒しのごとくデーモンさんが盛大に起動失敗しています。

fail2banは起動成功していましたが、他のデーモンが起動失敗しているのに引きずられて正常に動いていない状態でした。

ログにはきっちりとデーモンさんが悲鳴を上げている記録が残っていました。
もっと早く見ていればよかった……

原因が分かったので対処

サーバ再起動し、デーモンを順次起動させていきます。後は不穏な動きが無いか監視しつつ、平常運転に戻すだけです。

まとめ

まずは落ち着く。
そして特異なことが起こった時点を特定する。
その後でログを確認する。

何よりも、日頃からこまめにお世話をしよう。

最初はヘラヘラっとしていたのですが、途中背筋が凍ったり慌てたりと大変でした。真夏の怪談よりも怖かったので詳しくは書きません。
たかがサーバですが、やらかすと一大事です。油断大敵!