ロリポップレンタルサーバでのWAFによるアクセス権エラーで更新処理が失敗する件

背景

先の記事にも書いたように、グーグルアドセンスの審査をするために、AdSense側から審査対象サイトの<head>~</head>の間に指定コードを入力するよう指示される。

事象

所定の場所( 「Diverオプション」⇒「アクセス解析」(画面真ん中よりやや下)⇒「アクセス解析タグ」⇒「</head>タグの直前」 )にコードを入力し保存ボタンを押すがエラーとなる。

エラーの内容

403エラー

現在、このページへのアクセスは禁止されています。
サイト管理者の方はページの権限設定等が適切かご確認ください。

エラーの原因

ロリポップの管理画面へログインし「セキュリティ」⇒「WAF設定」を選択し、対象ドメインの「ログ参照」をクリックする。WAF検知ログよりエラーが発生している日付を選択します。

①ログが表示され、403エラーが表示された日時と同じ日時にログが表示されていることを確認します。

②表示されているURLが「XXXXX/wp-admin/XXXXX/...」という「wp-admin」を含んだURLが表示されていること(ワードプレス管理画面のアクセスでエラー)を確認します。

上記①、②の条件を満たしていれば、WAFの誤検知により、403エラーになっています。

このエラーはロリポップのレンタルサーバを使用し、「WAF」を有効にしている場合に発生します。



解決方法

解決方法① WAF無効化

コードを挿入して保存するときだけ、WAFを無効化します。

ロリポップの管理画面へログインし「セキュリティ」⇒「WAF設定」を選択し、対象ドメインのWAFを無効にします。

保存完了後にWAFを有効化します。

ずっとWAFを無効化するのはセキュリティレベルが下がるためやめましょう。面倒ですが、編集の都度、WAFの無効化⇒有効化します。

解決方法② プラグイン(SiteGuard)の導入/設定

・まずワードプレスにSiteGuardというプラグインを導入し、導入後、ワードプレスの管理画面に「SiteGuard」が表示されていることを確認します。

・ロリポップの管理画面よりWAFの検知ログを再び確認し(手順はエラーの原因の箇所に記載)、ログよりエラー時の検出されたシグネチャの確認とシグネチャをコピーしておきます。

・ワードプレスの管理画面に戻り、「SiteGuard」⇒「WAFチューニングサポート」を選択します。

「新しいルールを追加」より先ほどコピーしたシグネチャを「シグネチャ」欄に貼り付けます。その他の項目は必要であれば入力して保存します。画面が戻り「ルールを適用」を押下します。これで、このシグネチャを除外ルールとして設定します。

解決方法①、②のどちらかを実施し、変更内容が保存されることを確認します。

まとめ

ロリポップのレンタルサーバを使ってワードプレスを使用しているとよく発生する事象のようです。ちなみにどの画面でどの設定を変更すると発生するかわかっていません。とりあえずワードプレスを使用してサイトの更新をしていた時に、同様の事象(403エラー)が発生した場合は、上記と同様のエラーが発生していることを確認し、解決方法①、②のどちらか実施して解決するか確認するとよいと思います。

ちなみに、セキュリティを考慮し解決方法②で対応しました。

知っていれば、何でもないような事象だけど、知らないと、なぜ管理者ユーザで設定変更できないのだ?って一瞬固まってしまいますね。



おすすめの記事