レンタルサーバーロリポップ!で、サイト(Wordpress)でステップメールのシステムを構築しようと思ってプラグイン「Mailpoet」をインストールしました。
早速設定を始めたところ、「the server has responded with response code 403」というエラーが表示されて、設定やフォームの登録などが何にもできない状態になってしまいました。
原因は使っているレンタルサーバー「ロリポップ!」に標準で搭載されているWAFという機能にありました。この記事ではWAFの設定変更方法についてまとめています。
エラー403とは何か
その他のプラグインは問題なく、サイトも正常に表示されています。
wikipediaによると
HTTP 403、またはエラーメッセージ Forbidden(「閲覧禁止」「禁止されています」の意)は、HTTPステータスコードの一つ。ページが存在するものの、特定のアクセス者にページを表示する権限が付与されず、アクセスが拒否されたことを示すもの。また、サイトの制作者側の設計ミスによる障害やサイトが非常に混雑している時、URLが間違っている場合にも表示される事がある
となっています。なんとなくイメージできました。
改めて確認をしてみたところ、レンタルサーバーロリポップ!に標準で備わっている「WAF」という機能が色々と制御しているとのこと。
WAFによる脆弱性対策
WAF(ウェブアプリケーションファイアウォール)は、ウェブサイトに対するクロスサイトスクリプティングやSQLインジェクションなどの攻撃を自動的にブロックします。
これまでのファイアウォールやIDS(侵入検知)、IPS(侵入防止)で防御できなかったウェブサイトへの攻撃を検知できることでより安全なサイト運営が実現されます。
攻撃パターンの定義ファイルは自動でアップデートされるので、操作を行っていただかなくても、最新の攻撃パターンをブロックすることが可能です。引用元:ロリポップ
WAFを無効にする方法
それではロリポップ!にログインして、WAFを無効にする設定方法です。
状況を確認してみると、確かにWAF設定が有効になっていますので、それを一時的に無効にしてみます。
「無効にする」のボタンをクリックするだけで、すぐに設定は無効に変更されます。ただし反映されるまでには5〜10分かかるそうです。
そして10分程待ってから、もう一度「Mailpoet」の設定を進めてみると、無事に設定をすることができました。今回はWAFの制御によって、プラグインの動作が制限されていたわけです。
WEBサーバーにもファイヤーウォールを
自分のパソコンではファイヤーウォールを設定しているように、WEBサーバーにもファイヤーウォールは必要です。
WAFはサイトに対する外部からの攻撃に備えるための防御システムです。自分が公開しているブログは全世界から誰でもアクセスできる状態になっていますので、無防備なままではいつハッカーから攻撃されてしまうかわかりません。
今回行う作業自体は決して難しいものではありませんので、誰でも簡単に変更できると思います。ただし、運営しているサイトのセキュリティを考慮すると、「WAF」は有効になっていた方が良いですし、ロリポップでも有効にしておく事が推奨されています。
目的が果たせたら再度「有効」に戻しておくことをおすすめします。
今回は、Mailpoetでしたが、他のプラグインでも同様のケース(WAFの制御により動作しない)もあります。今後プラグインの設定時に不具合があった時は、この項目もチェックしてみると良いと思います。
そして、わかりやすい管理画面で親切設計のロリポップ!は困った時にすぐに解決できていいですね!