忘れっぽくなった自分のために残したビンボーな備忘録

403 Error 対処方法 … ロリポップの場合

ロリポップの403Error

上図はAdsenseコードをheadタグへ貼り付けようとした時に表示されたエラーメッセージです。

目次

3桁の数字は要求に対するサーバーからの回答

「クライアントとサーバー」についてWEBの入門書には次のように書いてあります。

  • サービスを提供する側であるサーバーと、サービスを受ける側であるクライアント(ユーザー)がある
  • クライアントは何らかの通信手段を用いてサーバーにアクセスし、サービスの提供を受ける
  • サーバーでは要求に基づき処理を行い、その処理結果をクライアントに送り返す

上図にある3桁の数字(ここでは403)はステータスコードと言われ、システムが問題発生時の種類や状態を知らせるものです。

中でも404Errorなどは代表的なものだね

ページが見当たらない時によく見かけるわ

【参考】ステータスコードの例

コード分類メッセージ(例)
100番台情報続行せよ(100)
200番台成功OK (200)
300番台転送永久に移動(301)
400番台クライアントエラー禁止(403)、見つからず(404)
500番台サーバエラーサービス不可(503)
コード分類
100番台情報
200番台成功
300番台転送
400番台クライアントエラー
500番台サーバエラー

実際に最も多く返されるステータスコードは200番台なのですが、これは正常に処理ができたことを意味しているので、通常目にすることはありません。

403Error が発生した理由は

冒頭の画像はAdsenseコードをheadタグへ貼り付けようとした時に表示されたものです。

この時WAF (Web Application Firewall)というサイトの改ざんや情報漏洩を防ぐ機能が働き、脅威を検知してブロックしてしまったものです。WAFは多くのサーバーで採用されています。

PHPやCGIプログラム、CSSの記述変更をしたものなどをサーバーに送ろうとすると、サーバーのWAFという機能が攻撃を受けたものと誤検知してしまうことがあるらしいのです。

「何かうまくいかなかったようです。時間を置いて~」という表現も少々腹立たしくなるのですが、要するに何らかのエラー(誤検知)が発生しているわけですね。

ロリポップのサポートに問い合わせたところ、エラーを回避するにはその都度WAFを無効にしてくださいとのことでした。

対処方法 … 必要に応じてWAFを無効にする

サーバーのWAFという機能が攻撃を受けたものと誤検知してしまうことがあるというので、その都度WAFを無効にするのが最善のようです。切り替えは手動によるものと自動によるものがあります。

1 手動でWAFを無効にする方法

ロリポップの管理画面で左側のメニューからセキュリティ → WAF設定と進み、右端の設定変更ボタンをクリックして無効にします。

WAFを一時的に無効にする

「有効・無効」の切り替えが反映されるには10分程度を要します。

ロリポップの場合は独自ドメインを設定すると「www」が付加されたものも自動的に作成されますが、分からなければ全部無効にしてもいいです。

その都度有効・無効の切り替えをするのは面倒ですが、セキュリティと利便性とは相反するものです。

一連の作業が済んだら設定は「有効」に戻しておきます。

2 自動でWAFを無効にする方法(プラグインを利用)


SiteGuard WP Pluginは、管理ページとログインに関する攻撃からの防御に特化したセキュリティプラグインです。

このプラグインを使ってWAFの除外ルールを作成します。

セキュリティ対策プラグイン SiteGuard WP Plugin
セキュリティ対策プラグイン SiteGuard WP Plugin


ルールの作成手順
  • WAFが誤検知をした時のログをサーバーから入手する
  • このログを基に除外ルールを作成する

WAFの防御機能を活かしながら、状況によっては除外ルールに従ってパスしてくれるものです。

ただし、

ロリポップのベーシックプラン(旧ハイスピードプラン)とエンタープライズプランでは検知ログの参照ができないため、プラグインを使ったこの機能は利用できません。

つまりロリポップでは利用しているプランによっては SightGuard の WAF 除外ルール設定はできないので、前項「1 手動でWAFを無効にする方法」により切り替えを行うことになります。

(おわり)

- 広  告 -

目次