X-Forwarded-For
◇ピンチです!◇
■暇つぶし何某■

[Wikipedia|▼Menu]

ネットワーク管理者の方へ。ネットワーク管理下の利用者によるプロキシサーバの不正使用等により、別の利用者がウィキペディアの自動ブロックに巻き込まれた際、その被害を軽減する方法をお探しの場合は、XFF projectをご覧下さい。

「XFF」はこの項目へ転送されています。航空機については「グラマン FF」をご覧ください。

HTTP
主要項目Persistence
Compression(英語版)
HTTPS
HTTP/2
ヘッダーフィールド(英語版)Cookie
ETag
Location(英語版)
Referer
DNT(英語版)
X-Forwarded-For
ステータスコード301 Moved Permanently(英語版)
302 Found(英語版)
303 See Other(英語版)
403 Forbidden
404 Not Found
451 Legal Reasons
503 Service Unavailable










X-Forwarded-For (XFF) とは、HTTPヘッダフィールドの一つ。HTTPプロキシサーバまたは負荷分散装置(ロードバランサ)を経由してウェブサーバに接続するクライアントの送信元IPアドレスを特定する際のデファクトスタンダードである。このヘッダはSquidキャッシング・プロキシサーバの開発者により初めて導入された。のちに、IETFのネットワーク作業部会 (Network Working Group) が同種のHTTPヘッダForwardedを RFC 7239 で提唱している。

ここでのキャッシング・サーバー(キャッシュ・サーバ)とは、概ね、大規模なISPの利用者がWWWへ接続する際にISPが利用を推奨または強制的に利用させるプロキシサーバのことを指し、データのキャッシングにより外部へのネットワーク帯域幅を減らす働きを持つ。いくつかの場合、これらプロキシサーバは透過的プロキシであり、利用者は利用していることに気付かないかもしれない。

XFFや別の類似の技術を利用しなければ、プロキシ経由の接続はすべてプロキシサーバの送信元IPアドレスのみを示すことになり、送信元IPアドレスが利用できなくなる。そのため、悪意あるアクセスを検知したり防ぐことはかなり困難になり、プロキシサーバを匿名サービス(英語版)に変えてしまう。XFFの利用は送信元ホストのIPアドレスを正直に報告するプロキシサーバの存在を仮定している。そのため、XFFを効果的に利用するためには、どのプロキシサーバが信頼できるかの情報が必須となる。例えば、信頼できる人物が管理するサーバが一覧化されているホワイトリストに当該プロキシサーバが載っているかを検索するなどして情報を得る必要がある。


目次

1 フォーマット

2 各種製品のサポート状況

2.1 プロキシサーバとキャッシュ・エンジン

2.2 ロードバランサ


3 ウェブサーバ・ログのためのX-Forwarded-For

4 脚注

4.1 注釈

4.2 出典


5 関連項目

6 外部リンク


フォーマット

このフィールドの一般的なフォーマットは次の通りである。X-Forwarded-For: client1, proxy1, proxy2

ここで、値(変数)はコンマとスペースで分けられたIPアドレスの一覧である。コロンとスペースの次に来る、最も左のカラムにある値は最下流に位置するクライアントのIPアドレス、続いて接続要求を伝送する、おのおの連続したプロキシが、接続要求の送信元IPアドレスを追加していく。この例では、接続要求はproxy1、proxy2を通過し、最後に接続要求側のリモート・アドレスとして現れるproxy3に伝わる。

X-Forwarded-Forフィールドをでっち上げるのは簡単なので[1]、与えられた情報は慎重に取り扱うべきである。最終IPアドレスは常に最後のプロキシに接続するIPアドレスであるが、すなわちこの情報ソースが最も信頼できることを意味する。

フォワードプロキシまたはリバースプロキシを利用するシナリオにおいてはX-Forwarded-Forデータが利用可能である。

クライアントがフォワードプロキシを利用するシナリオの場合、接続先ネットワークの管理者は、クライアント側内部のネットワークのプロキシ接続の連鎖を経由して、接続するクライアントの実体IPアドレスを追跡することが可能で、ゲートウェイ機器上でのそのIPアドレスが記録される。セキュリティ的理由で、インターネットへ接続要求を送信する前に、管理下にあるゲートウェイ機器は任意のX-Forwarded-Forを削るべきである。またX-Forwarded-Forの情報が管理下にあるネットワーク内部で全て生成される場合は、このシナリオにおいては、X-Forwarded-Forの情報を信頼できるようにすべきである。

管理下のネットワークがリバースプロキシを利用するシナリオの場合、たとえ管理下のウェブサーバがインターネットからの経路情報を持たない場合でも、- 例えばウェブサーバがOSI参照モデル第7層に位置するプロキシ機器の背後に隠れている場合でも、ウェブサーバ管理者はウェブサーバにインターネット接続するクライアントの実体IPアドレスを追跡できる。またインターネット上から欺瞞情報を受信する可能性がある場合は、このシナリオにおいては、全てのX-Forwarded-Forの情報は信頼すべきではない。X-Forwarded-Forフィールドに通知されているプロキシIPアドレスが信頼できるものか確かめるため、斯様な信頼できるIPアドレスのリストを利用するべきである。

プロキシ接続の連鎖の末端にあるIPアドレスはX-Forwarded-Forフィールドの中に含まれていないので、X-Forwarded-Forフィールドのログをただ取得することは常に十分であるとは限らない。その情報は実際にはIPヘッダに含まれている。徹底するためには、ウェブサーバは接続要求元IPアドレスとX-Forwarded-Forフィールドの情報の双方を記録すべきである。
各種製品のサポート状況

この節に雑多な内容が羅列されています。事項を箇条書きで列挙しただけの節は、本文として組み入れるか、または整理・除去する必要があります。(2015年5月)

プロキシサーバとキャッシュ・エンジン


ご協力下さい!!
★暇つぶし何某★

[次ページ]
[記事の検索]
[おまかせリスト]
[ブックマーク登録]
[mixiチェック!]
[Twitterに投稿]
[オプション/リンク一覧]
[話題のニュース]
[列車運行情報]
[暇つぶしWikipedia]

Size:25 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:FIRTREE