用語辞典・エラー・運用

403 Forbidden

403 Forbiddenとは

403 Forbidden(フォー・オー・スリー・フォービドゥン)は、サーバーは要求を理解したものの、権限などの理由で処理を拒否したことを示すステータスです。

サーバーは要求のメソッド・振り分け先を理解していますが、現在の識別情報、役割、資源方針、ネットワーク条件、安全性規則などにより履行しません。理由を安全に公開できる場合は応答内容で説明できます。

同じ認証情報を再送すれば直る401とは異なります。403は認証済みでも、対象操作を許す認可方針が満たされない状態を含みます。

本人確認を通過しても、資源ごとの方針で拒否されるファイル、役割、ネットワーク、要求フィルターのどの境界が止めたかを分ける
有効な本人確認情報を持つ利用者が認証を通過する一方、権限対応表によって対象操作を拒否され、権限修正後にアクセスを許可される様子を示すピクトグラム図解
図1識別情報が正しいことと、その資源・メソッドを操作できることは別の判定です。

403を返し得る層

Webサーバーファイル・ディレクトリーへのアクセス

ファイルシステムの権限、ディレクトリー一覧表示の禁止、設定規則で拒否します。

アプリケーション役割・所有者に基づく方針

管理者限定、所有者限定、契約状態などを判定します。

ネットワーク境界接続元・地域・非公開範囲

IP許可一覧、VPN必須、地域方針などにより拒否します。

WAF・セキュリティ危険な要求を検査して拒否

CSRF、自動プログラム、攻撃の特徴、要求数上限などの判定で拒否します。

401から403への流れ

  1. 認証情報を検証する本人・クライアントを認証できなければ401と認証要求を返します。
  2. 識別情報へ役割・対象範囲を対応させるセッション、トークン、グループ所属を現在の方針で解釈します。
  3. 資源とメソッドを照合する読む権限があっても更新・削除は許されない場合があります。
  4. 拒否理由を安全に返す攻撃者へ資源構成を漏らさない範囲で修正方法を示します。

404で存在を隠す場合

サーバーは、禁止理由や資源の存在を公開したくない場合、403の代わりに404 Not Foundを返せます。アカウント名、非公開保管庫、管理画面の列挙防止などで使われます。

ただし内部ログ・監査では「存在しない」と「方針で隠した」を区別し、運用者が原因を追えるようにします。利用者向け情報を減らすことと、観測性を失うことは同じではありません。

切り分けは権限対応表で行う

誰が、どの資源へ、どのメソッドで、どのネットワーク・時刻・状態から要求し、どの方針規則が拒否したかを記録します。ファイルのアクセス権だけを変更しても直らない場合、親ディレクトリー、Webサーバー設定、アプリケーション上の役割、WAFまで上流から確認します。

一時的に全員へ許可して原因を探すとデータ露出につながります。最小権限を維持し、試験識別情報と限定資源で規則を一つずつ検証します。

403は要求を理解したサーバーが方針上履行を拒むステータスです。認証の401とは分け、ファイル・アプリケーション・ネットワーク・安全性各層の拒否規則を権限対応表で特定します。

理解した要求の履行拒否:RFC 9110「403 Forbidden」

関連用語