ホーム›ACCESS / SECURITY

403 Forbiddenの原因と直し方|WAF・権限・認証を切り分け

403は『ページがない』ではなく、要求を理解したサーバーが処理を拒否した応答です。CDN・WAF・ロードバランサー・オリジンのどこが返したかを先に確定し、認証、IP・地域制限、ファイル権限を一つずつ確認します。

先に結論

403は『ページがない』ではなく、要求を理解したサーバーが処理を拒否した応答です。CDN・WAF・ロードバランサー・オリジンのどこが返したかを先に確定し、認証、IP・地域制限、ファイル権限を一つずつ確認します。

最初に403を返した主体を決める

  1. URL、操作、発生時刻、レスポンスヘッダー、エラー画面、request IDやRay IDを保存する。
  2. 全利用者か特定アカウント・IP・地域・パスだけかを確認する。
  3. CDN/WAFのイベントと、同時刻のオリジンアクセスログを突き合わせる。
  4. ログイン前後、GET/POST、静的ファイル/管理画面で差を確認する。
  5. 直前のWAFルール、IP許可、認証、移行、権限変更を一つずつ戻せる形で確認する。
結論:WAFに拒否イベントがあればルールと入力条件、オリジンに403記録があれば認証・Webサーバー・ファイル権限を優先します。記録がなければ一つ前のCDN/LBを確認します。

発生範囲から原因候補を絞る

観測優先候補次の確認
特定IP・地域だけWAF、IP・国別制限セキュリティイベント、allow/deny、VPN・社内出口
ログイン後だけロール・セッション・CSRF権限、Cookie、トークン、認可ログ
POST・アップロードだけWAF rule・容量・内容制限rule ID、Content-Type、サイズ、入力条件
静的ファイルだけ公開範囲・親ディレクトリdocument root、実行ユーザー、index設定
移行直後から全体所有者・設定・CDN経路権限差分、virtual host、WAF、origin hostname
一時的に大量アクセス後rate limit429と制限ログを確認

成功した1件との差分を比較する

  1. 同じURLで成功した要求を一つ選ぶ。
  2. 送信元IP、地域、アカウント、HTTP method、User-Agent、ヘッダー、入力サイズを比較する。
  3. CDN/WAFのrule IDとaction、オリジンstatus、認可ログを時刻でつなぐ。
  4. 例外許可は対象パス・method・送信元・期間を狭くし、変更理由を残す。
  5. 修正後も想定外の公開範囲が広がっていないか、未認証・別ロールで確認する。

移行・WordPressでも権限を広げすぎない

移行後の403はファイル所有者、親ディレクトリ、Webサーバー設定、プラグイン型WAFなど複数候補があります。バックアップと設定差分を保存し、一般論の数値へ一括変更せず、契約先と公式手順が示す実行ユーザー・必要権限を確認します。

避ける操作

  • 原因未確認でWAF、認証、IP制限を全停止する。
  • ファイルやディレクトリを一括で777へ変更する。
  • 管理画面やオリジンをインターネットへ直接公開して迂回する。
  • 403を404や200へ置換し、アクセス制御の不具合を隠す。
  • 本番の秘密情報や認証ヘッダーを外部の検証サイトへ貼る。

公式情報

WORDPRESS / 復旧後の判断

同じ運用を続けるかは、復旧後に分けて判断

障害中に移転を始めると、原因と移行差分が混ざります。まず復旧と証拠保存を優先し、その後に停止損失・復旧工数・移転費を同じ条件で比較します。

移転比較が近い売上・問い合わせへの影響があり、同種障害が反復。復元や保守の負担が大きく、30〜90日内に移転を判断したい。
まだ移転しない単発の設定・プラグイン原因で復旧済み。正常なバックアップと復元手順があり、停止損失も小さい。
先に確定する月間訪問、停止1時間の損失、現行費用、復旧工数、容量・帯域、移転期限をそろえる。
特定サービスへの申込みではなく、現状維持・段階移転・有料移転を同じ条件で比較します。

よくある質問

403と401の違いは何ですか?

401は通常、認証情報が不足または無効である状態です。403はサーバーが要求を理解したうえで拒否しています。ただしCDN、WAF、オリジンのどこが返したかをログとヘッダーで確定します。

ファイル権限を777にすれば直りますか?

推奨しません。過剰な権限は情報改ざんや漏えいのリスクを増やします。実行ユーザー、必要な読み書き範囲、親ディレクトリ、Webサーバー設定を確認し、最小権限へ直します。

Cloudflareの403はオリジン障害ですか?

Cloudflareのブランドがない403はオリジン由来の場合があり、ブランド付きならWAFやセキュリティ機能が候補です。Ray ID、イベントログ、同時刻のオリジンアクセスログを突き合わせます。