WordPress で作ったサイトで、記事の「更新」や「公開」を押すと「403 Forbidden」と表示されて保存できない。そんな経験はありませんか。
この原因の一つが、サイトを攻撃から守るための仕組み(WAF)です。私たちがお預かりしているサーバーでは、ModSecurity と OWASP CRS という WAF でサイトを守っています。WAF は、怪しい通信を止めてくれる大切な仕組みですが、WordPress の正しい操作まで「攻撃かもしれない」と判断して止めてしまうことがあります。
これまでの対策と、困っていたこと
こうした止めすぎを防ぐために、WAF には WordPress 用の「除外」の設定(公式のプラグイン)が用意されています。ただ、この設定はサイト全体にかかる作りでした。
WordPress だけのサイトなら問題ありません。でも、1 つのサイトの中で、ブログの部分(例:/blog/)だけを WordPress で作っている場合や、ほかの仕組みと一緒に動いている場合には、WordPress ではない部分の守りまで弱くなってしまいます。
WordPress の部分だけに、必要な設定をかけられるようにしました
そこで、公式の設定をもとに、WordPress を置いている場所だけに除外をかけられるように作り変えました。
- WordPress の更新や公開が、403 で止まりにくくなります
- WordPress ではない部分は、これまでどおり WAF がしっかり守ります
- 除外の中身は公式のものと同じで、必要なところだけを外しています
作り変えたものは、同じことで困っている方にも使っていただけるよう、GitHub で公開しています(futsure0/wordpress-rule-exclusions-plugin)。設定の方法など技術的なくわしい内容は、SecureHatters のコラムでご紹介しています。
WordPress をより安全に使うために
WAF の設定とあわせて、次のことも大切です。
- WordPress 本体・テーマ・プラグインを、こまめに更新する
- 管理画面には、IP の制限や 2 段階認証などで、別に守りをかける
「WordPress の保存がときどき止まる」「サイトの守りを見直したい」といったお困りごとがあれば、お気軽にご相談ください。
Futsure Co., Ltd.