Webセキュリティの小部屋

Twitter のフォローはこちらから Facebook ページはこちら RSSフィードのご登録はこちらから
公開日:2013年12月6日
最終更新日:2020年8月8日

WordPress が動作している CentOS に ModSecurity を導入する

CentOS 6.4 + WordPress 3.7 の環境に、ModSecurity を導入した場合、どのような設定になるのか例示します。

WordPress と ModSecurity の相性は悪いようで、動作するようになるまでかなり苦戦します。何か処理をすると、すぐに以下のようなエラーが表示されしまいます。

Forbidden
You don't have permission to access /wp-login.php on this server

これは、WordPress が特殊なことをしていたり、文章や画像といったコンテンツを自由に投稿することができたりするので攻撃と誤検知され偽陽性が発生しやすいことと、ModSecurity が過剰検知しやすいことが原因です。

偽陽性の解消方法については、以下の記事を参照してください。

そして、現在、WordPress が稼働している /etc/httpd/conf/httpd.conf の設定は以下のようになります(Windows Live Writer による投稿にも対応)。

<LocationMatch "(/wp-login.php)">
  SecRuleRemoveById 960024
</LocationMatch>

  SecRuleRemoveById 960015
  SecRuleRemoveById 981172

<LocationMatch "(/wp-admin/|/xmlrpc.php|/wp-comments-post.php)">
  SecRuleRemoveById 950001
  SecRuleRemoveById 950005
  SecRuleRemoveById 950006
  SecRuleRemoveById 950007
  SecRuleRemoveById 950901
  SecRuleRemoveById 958011
  SecRuleRemoveById 958030
  SecRuleRemoveById 958976
  SecRuleRemoveById 959073
  SecRuleRemoveById 959070
  SecRuleRemoveById 959071
  SecRuleRemoveById 959072
  SecRuleRemoveById 959151
  SecRuleRemoveById 960015
  SecRuleRemoveById 960024
  SecRuleRemoveById 973300
  SecRuleRemoveById 973302
  SecRuleRemoveById 973304
  SecRuleRemoveById 973305
  SecRuleRemoveById 973306
  SecRuleRemoveById 973308
  SecRuleRemoveById 973316
  SecRuleRemoveById 973332
  SecRuleRemoveById 973333
  SecRuleRemoveById 973334
  SecRuleRemoveById 973335
  SecRuleRemoveById 981172
  SecRuleRemoveById 981173
  SecRuleRemoveById 981231
  SecRuleRemoveById 981240
  SecRuleRemoveById 981241
  SecRuleRemoveById 981242
  SecRuleRemoveById 981243
  SecRuleRemoveById 981244
  SecRuleRemoveById 981245
  SecRuleRemoveById 981246
  SecRuleRemoveById 981247
  SecRuleRemoveById 981248
  SecRuleRemoveById 981249
  SecRuleRemoveById 981251
  SecRuleRemoveById 981255
  SecRuleRemoveById 981256
  SecRuleRemoveById 981257
  SecRuleRemoveById 981260
  SecRuleRemoveById 981276
  SecRuleRemoveById 981317
  SecRuleRemoveById 981318
  SecRuleRemoveById 981319
  SecRuleRemoveById 981320
</LocationMatch>

これでもまだ偽陽性の問題が起きるようでしたら、Audit ログを確認してルールを除外してください。ルールの除外は以下の記事を参考にしてください。

WAF設定まとめ

WAFの設定については以下のページにまとめていますので、こちらもどうぞ。


スポンサーリンク





カテゴリー:ツール

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA