過去記事の子ネタです。
www.unknownengineer.net
mod_securityを導入した際に、waf-fleというmod_securityの検知結果を受け取り、視覚的に表示するConsoleがあります。
既に更新は止まっていますが、mod_securityが生成したログをテキストベースで見るよりはかなり見やすいので重宝していました。
しかし、とあるサーバでmod_securityに検知結果を渡せない事象が発生したので、解決策をメモっておきます。
目次
原因
コンパイルオプションもコンフィグも同じサーバにも関わらず、片方のサーバのみ検知結果を通知できない。よく見るとバージョンに違いがありました。
通知できない方はapache 2.4.29なので、リリースノートを見てみます。
http://www.apache.org/dist/httpd/CHANGES_2.4.29
内容をよく見ると、apache2.4.29よりunique_idの仕様に変更があったご様子。mod_securityがunique_idを利用しているので、九分九厘ここだろうとあたりをつけました。
解決策
古いunique_id を利用すれば、上記事象は回避できます。今回は、2.4.28のunique_idを使いました。
# cd /usr/local/src # wget https://archive.apache.org/dist/httpd/httpd-2.4.28.tar.gz # tar xvfz httpd-2.4.28.tar.gz # mv /usr/local/apache2/modules/mod_unique_id.so /usr/local/apache2/modules/mod_unique_id.so.bak # cd httpd-2.4.28/modules/metadata/ # /usr/local/apache2/bin/apxs -i -c mod_unique_id.c # /usr/local/apache2/bin/httpd -t Syntax OK # systemctl restart httpd
上記対応で解消しました。リリースノートはちゃんと読もうという教訓。本日は以上です。