CentOS 8 は既に通常の CentOS Linux としてはサポートが終了しています。このページは新規構築を推奨するものではなく、過去環境の保守、移行前調査、設定の読み解きに使うためのレガシー Linux 手順です。新規構築では、現在サポートされているディストリビューションを利用してください。
CentOS 8 の Apache httpd に ModSecurity を導入し、WAF として動かすための基本を整理します。ModSecurity は入れるだけで安全になるものではなく、監査ログを読み、誤検知を調整しながら使う仕組みです。
この記事では、導入、検知モード、ログ確認、誤検知調整の考え方を扱います。既存環境では、どのルールがどのリクエストを止めたのかを確認できる状態にすることが重要です。
ModSecurity をインストールする
dnf install mod_security mod_security_crs設定ファイルを確認する
ls -l /etc/httpd/conf.d/*security*
ls -l /etc/httpd/modsecurity.d検知モードを確認する
grep -R "SecRuleEngine" /etc/httpd/modsecurity.d /etc/httpd/conf.d基本設定の考え方
SecRuleEngine DetectionOnly
SecAuditEngine RelevantOnly
SecAuditLog /var/log/httpd/modsec_audit.logApache を再起動する
apachectl configtest
systemctl restart httpd
systemctl status httpd監査ログを確認する
tail -n 100 /var/log/httpd/modsec_audit.log誤検知調整の考え方
誤検知が発生した場合は、WAF を丸ごと無効にするのではなく、監査ログからルール ID、対象パラメータ、該当 URI を確認します。除外は、できるだけ URI、パラメータ、ルール ID を絞って行います。
- ルール ID を確認する。
- 該当 URI とパラメータを確認する。
- 本当に正常リクエストかを確認する。
- 全体無効化ではなく、狭い例外にする。
まとめ
ModSecurity は、導入よりも運用が重要な WAF です。CentOS 8 の既存環境では、検知モード、監査ログ、CRS、例外設定を分けて確認し、誤検知を理由に全体を無効化しない設計にすることが重要です。
関連する記事
- CentOS 8 Apache Web サーバー構築 – httpd の基本設定
CentOS 8 上の Apache httpd 基本設定です。 - CentOS 8 Apache ModSecurity WAF – 導入と誤検知調整の基本
ModSecurity の導入と誤検知調整を扱います。
参考書籍
参考
書籍
書籍
参考書籍
ModSecurity Handbook, Second Edition
ModSecurity と Web Application Firewall の設定、ログ、ルール、チューニングを確認したい場合の参考書籍です。英語書籍であり、価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
CentOS 8 Apache ModSecurity WAF – 導入と誤検知調整の基本

