2026年9月29日
2026年9月29日
WordPressのWAF(ModSecurity)をApacheに設定する
はじめに
Webアプリケーションファイアウォール(WAF)は、Webサイトのセキュリティを強化するために重要なツールです。ModSecurityはApacheで使用可能なオープンソースのWAFであり、その効果的な利用によってWordPressサイトの安全性が大幅に向上します。
症状・背景
- Webサイトへの不正アクセスが頻繁に行われている
- WordPressプラグインによる脆弱性を閉塞したい
- サイトへのDDoS攻撃を防御したい
- 既存のファイアウォールでは不十分なセキュリティ対策が必要
手順・設定方法
ステップ1: ModSecurityのインストール
# パッケージリストの更新
sudo apt-get update
# ModSecurityのインストール
sudo apt-get install libapache2-mod-security2 -y
ステップ2: ApacheとModSecurityを連携させる設定
# ModSecurityの設定ファイルを作成または編集
sudo nano /etc/modsecurity/modsecurity.conf
# デフォルトルールセットの有効化
SecRuleEngine On
# 適用するルールセットを選択(オプション)
IncludeOptional /usr/share/modsecurity-crs/*.conf
ステップ3: WordPress向けカスタムルールを適用
# WordPress専用のModSecurityルールファイルを作成または編集
sudo nano /etc/apache2/conf-available/wp-modsec.conf
# ルールセットをインクルード
IncludeOptional /path/to/wordpress-specific-rules/*.conf
# Apache設定にカスタムルールを追加
sudo a2enmod modsecurity
ステップ4: ModSecurityの監視とトラブルシュート
# ログファイルの確認
tail -f /var/log/apache2/modsec_audit.log
# セッションログの確認(攻撃が発生した場合)
sudo cat /path/to/session/logs/
注意事項
- ModSecurityを有効にするとパフォーマンスに影響が出る可能性があるため、適切な設定が必要
- ルールセットは定期的に更新する必要がある
- 既存のセキュリティツールとの重複による問題に注意
- 必要に応じて、ルールセットをカスタマイズして特定の攻撃を防御
まとめ
1. インストール: ModSecurityとその依存パッケージをインストールします。
2. 設定: ApacheとModSecurityを連携させるための基本的な設定を行います。
3. カスタムルール: WordPress専用のルールセットを作成または取得し、適用します。
4. 監視: ModSecurityの動作状況や攻撃ログを定期的にチェックします。
5. 保守: ルールセットは最新のものに更新し続けることが重要です。
関連記事: