NEW

X-Forwarded-Forは、通信を中継したサーバーが、元の利用者のIPアドレスを書き添えるための欄です。 この欄は、利用者の側でも自由に書けます。 そのため、この欄を信じて送信元を決めるサイトでは、IPアドレスを偽られます。

用語(英語/日本語) 何の略か 何が問題か CWE
X-Forwarded-For 略語ではない(HTTPのヘッダの名前) 利用者が中身を書き換えられる CWE-348
リバースプロキシ(Reverse Proxy) 略語ではない 送信元がすべて中継のサーバーに見える なし
IP偽装(IP Spoofing) 略語ではない IPアドレスによる制限をすり抜けられる CWE-290

IPアドレスとは、インターネットにつながる機器ごとの番号です。 HTTPのヘッダとは、ブラウザとサーバーが本文の前にやり取りする、付け札のような情報です。

X-Forwarded-For

  • 何の略か 略語ではありません。HTTPのヘッダの名前です。
  • 日本語では 「X-Forwarded-For」と書きます。「XFF」と略すこともあります。
  • 一言の定義 中継のサーバーが、元の利用者のIPアドレスを書き添えるためのHTTPのヘッダです。
  • どんなリスクがあるか 利用者は、最初から好きな値をこの欄に入れて送れます。サイトがこの欄の値を送信元として信じると、管理画面のIPアドレスの制限や、ログインの失敗回数の制限をすり抜けられます。記録に残る送信元も、偽の値になります。
  • 影響を受ける運用 管理画面を「会社のIPアドレスからだけ開ける」設定で守っていて、その判定にこの欄を使っているサイトです。
  • 実際の事例 確認できませんでした。
  • 分類番号 CWE-348(信頼の低い情報源の使用)です。OWASP Top 10:2025 では A01:2025(アクセス制御の不備)にあたります。

リバースプロキシ(Reverse Proxy)

  • 何の略か 略語ではありません。
  • 日本語では 「リバースプロキシ」と書きます。「逆向きの代理サーバー」という意味です。
  • 一言の定義 利用者とWebサイトの本体の間に立ち、通信を受け取って本体へ渡すサーバーです。CDNやWAFも、この形で動くことが多くあります。
  • どんなリスクがあるか 本体から見ると、すべての通信がリバースプロキシから来たように見えます。本当の送信元を知るためにX-Forwarded-Forを読むとき、どの中継のサーバーの値を信じるかを決めていないと、偽の値を使ってしまいます。
  • 影響を受ける運用 CDNやWAFを後から入れたのに、本体の側の設定を見直していないサイトです。
  • 実際の事例 確認できませんでした。
  • 分類番号 リバースプロキシそのものは欠陥ではありません。信じる中継のサーバーを決めていない設定は、OWASP Top 10:2025 の A02:2025(セキュリティ設定の不備)にあたります。

IP偽装(IP Spoofing)

  • 何の略か 略語ではありません。
  • 日本語では 「IP偽装」「IPスプーフィング」と書きます。
  • 一言の定義 送信元のIPアドレスを、別のものに見せかけることです。
  • どんなリスクがあるか IPアドレスで利用者を見分けている仕組みは、偽装で破られます。Webサイトでは、X-Forwarded-Forの欄を書き換えるだけで偽装できる場合があります。
  • 影響を受ける運用 IPアドレスの制限だけで、管理画面や社内向けのページを守っているサイトです。
  • 実際の事例 確認できませんでした。
  • 分類番号 CWE-290(なりすましによる認証の回避)です。OWASP Top 10:2025 では A07:2025(認証の失敗)にあたります。

自分のサイトで確かめる方法

確かめるのは、自分が管理するサイトだけにします。

  1. サーバーやアプリの設定で、送信元のIPアドレスをどこから読んでいるかを確かめます。
  2. nginx なら set_real_ip_from と real_ip_header の設定を見ます。
  3. set_real_ip_from に、自社が使うCDNやWAFのアドレスだけが書かれているかを確かめます。

プロンプト駅の「サーバー設定の点検」に、設定ファイルを貼ると、信じる中継のサーバーの決め方をAIに点検させる文を作れます。

直し方の要点

  • X-Forwarded-Forの値は、自社が使う中継のサーバーから届いたときだけ使います。
  • nginx では、set_real_ip_from に中継のサーバーのアドレスを書き、real_ip_recursive on; を使います。
  • 管理画面は、IPアドレスの制限だけで守らず、パスワードと2段階の認証も使います。

出典

  • MITRE「CWE-348 Use of Less Trusted Source」 https://cwe.mitre.org/data/definitions/348.html
  • nginx「Module ngx_http_realip_module」 https://nginx.org/en/docs/http/ngx_http_realip_module.html
  • MDN「X-Forwarded-For」 https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Forwarded-For

関連するページ

下記フォームより直接ご相談・お問い合わせいただけます。
内容を確認のうえ、担当より折り返しご連絡いたします。

10文字以上4000文字以内でご記入ください。

プライバシーポリシーを読む

営業・提携・案件紹介などのご提案は、確かな実績をお持ちの方に限りお受けしています。

実績の例として、取引してきた企業の規模と、支援で伸ばした売上の金額をご記入ください。

ポートフォリオや紹介資料だけのご連絡には、返信いたしません。