よくわからないエンジニア

よく分からないエンジニアの日々の記録

よくわからないエンジニア

CentOS7 apache2.4.29 unique_id の変更によるwaf-fleへの通知失敗

過去記事の子ネタです。
www.unknownengineer.net

mod_securityを導入した際に、waf-fleというmod_securityの検知結果を受け取り、視覚的に表示するConsoleがあります。

waf-fle.org

既に更新は止まっていますが、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

上記対応で解消しました。リリースノートはちゃんと読もうという教訓。本日は以上です。