CentOS 8 の Apache に ModSecurity を導入し、WAF として利用するための基本メモです。WAF は万能な防御ではなく、シグネチャによる検知と誤検知調整を前提にした補助的な防御層です。
この手順は CentOS 8 設定マニュアル の一部として整理しています。
参考書籍
参考書籍
ストーリーで覚える Linux CLI 入門
Linux のコマンドライン操作を基礎から確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
インストール
dnf install mod_security mod_security_crs設定確認
grep -R "IncludeOptional modsecurity.d" /etc/httpd/conf.modules.d /etc/httpd/conf.d 2>/dev/null
grep -R "SecRuleEngine" /etc/httpd /etc/modsecurity.d 2>/dev/null検知モード
導入直後は DetectionOnly でログを確認し、誤検知を把握してから On にする方が安全です。
cat <<'EOF'
# ModSecurity の主な設定例
SecRuleEngine DetectionOnly
# SecRuleEngine On
EOF除外設定の考え方
WAF は正規のリクエストも誤検知することがあります。除外する場合は、IP アドレス、URL、ルール ID、対象アプリケーションを明確にします。
cat <<'EOF'
# 管理ネットワークを除外する例
SecRule REMOTE_ADDR "@ipMatch 10.0.0.0/24" "id:1,phase:1,nolog,allow,ctl:ruleEngine=Off"
# 特定ルールを除外する例
SecRuleRemoveById 950109
EOF確認
apachectl configtest
systemctl restart httpd.service
journalctl -u httpd --no-pagerWAF はアプリケーションの脆弱性を消すものではありません。公開面、認証、更新、ログ監視と組み合わせて運用します。
この手順は CentOS 8 設定マニュアル の一部として整理しています。
CentOS 8 Apache ModSecurity WAF – 導入と誤検知調整の基本





