X-Forwarded-For


X-Forwarded-For

「XFF」は航空機については、グラマンFFを参照してください プロキシサーバーの自動ブロックによる付随的な損害を軽減しようとしているネットワーク管理者については、XFFプロジェクトを参照してください
Xフォワード-FOR(XFF)HTTPヘッダフィールドは、発信元識別するための一般的な方法であるIPアドレスに接続しているクライアントのウェブ・サーバを介したHTTP プロキシまたはロードバランサ。
X-Forwarded-ForHTTPリクエストヘッダは、によって導入されたイカのキャッシュプロキシサーバーの開発者。
X-Forwarded-Forまた、電子メールメッセージが1つ以上の他のアカウントから(おそらく自動的に)転送されたことを示す電子メールヘッダーです。
このコンテキストでは、キャッシングサーバーは、ほとんどの場合、ユーザーにワールドワイドウェブへのアクセスにプロキシサーバーの使用を推奨または強制する大規模なISPのサーバーです。これは、キャッシングを通じて外部帯域幅を削減するためによく行われます。場合によっては、これらのプロキシサーバーは透過プロキシであり、ユーザーはそれらを使用していることに気付かない可能性が
XFFまたは他の同様の手法を使用しない場合、プロキシを介した接続では、プロキシサーバーの発信元IPアドレスのみが明らかになり、プロキシサーバーが匿名化サービスに効果的に変換されるため、不正アクセスの検出と防止が非常に困難になります。発信元のIPアドレスが利用可能でした。XFFの有用性は、プロキシサーバーが元のホストのIPアドレスを正確に報告するかどうかに依存します。このため、XFFを効果的に使用するには、たとえば、メンテナが信頼できるサーバーのホワイトリストでプロキシを検索するなどして、どのプロキシが信頼できるかを知る必要が

コンテンツ
1 フォーマット
2 プロキシサーバーとキャッシングエンジン
3 ロードバランサー
4 代替案とバリエーション
5 も参照してください
6 参考文献
7 外部リンク

フォーマット
フィールドの一般的な形式は次のとおりです。
X-Forwarded-For:client、proxy1、proxy2
ここで、値はIPアドレスのコンマとスペースで区切られたリストであり、左端が元のクライアントであり、要求を渡した後続の各プロキシは、要求を受信したIPアドレスを追加します。この例では、リクエストはproxy1、proxy2、次にproxy3を通過しました(ヘッダーには表示されていません)。proxy3は、リクエストのリモートアドレスとして表示されます。
例:
X-Forwarded-For:203.0.113.195、70.41.3.18、150.172.238.178X-Forwarded-For:203.0.113.195X-Forwarded-For:2001:db8:85a3:8d3:1319:8a2e:370:7348
X-Forwarded-Forフィールドを偽造するのは簡単なので、与えられた情報は注意して使用する必要が右端のIPアドレスは、常に最後のプロキシに接続するIPアドレスです。これは、これが最も信頼できる情報源であることを意味します。X-Forwarded-Forデータは、フォワードプロキシシナリオまたはリバースプロキシシナリオで使用できます。
チェーンの最後のプロキシIPアドレスはX-Forwarded-Forフィールドに含まれておらず、実際のIPヘッダーに含まれているため、X-Forwarded-Forフィールドをログに記録するだけでは必ずしも十分ではありません。Webサーバーは、完全を期すために、要求の送信元IPアドレスとX-Forwarded-Forフィールド情報の両方をログに記録する必要が

プロキシサーバーとキャッシングエンジン
は、記事の主題に対する重要性または関連性が不明確または疑わしい情報が含まれています。  「X-Forwarded-For」  
X-Forwarded-Forフィールドは、A10 Networks、aiScaler、 Squid、 Apache mod_proxy、 Pound、 HAProxy、 Varnish、 IronPort Webセキュリティアプライアンス、 AVANU WebMux、アレイネットワーク、ラドウェアのAppDirector、Alteon ADC、ADC-VX、およびADC-VA、F5 Big-IP、 Blue Coat ProxySG、 Cisco Cacheエンジン、McAfee Web Gateway、Phion Airlock、FinjanのVital Security、NetApp NetCache、jetNEXUS、Crescendo NetworksのMaestro、Web Adjuster、Websense Web Security Gateway、 Microsoft Forefront Threat Management Gateway 2010(TMG)およびNGINX。
X-Forwarded-Forロギングは、Apacheを含む多くのWebサーバーでサポートされています。IISは、このフィルタリングにHTTPモジュールを使用することもできます。
Zscalerは、発信元の顧客IPアドレスを識別する独自のX-Forwarded-Forヘッダーを追加する前に、X-Forwarded-ForヘッダーをZ-Forwarded-Forでマスクします。これにより、内部IPアドレスがZscaler Enforcement Nodeから漏洩するのを防ぎ、サードパーティのコンテンツプロバイダーに顧客の真のIPアドレスを提供します。これにより、RFCに準拠していないHTTPリクエストが発生します。

ロードバランサー
アレイネットワークスADCシリーズはX-Forwarded-Forを1アームまたは2アームモードで展開します。通常、ソリューションがリバースプロキシmodで展開される場合に必要です。
アプリケーション配信ネットワーク負荷分散ソリューションであるAVANUWebMux Network Traffic Managerは、デフォルトでX-Forwarded-ForヘッダーをOne-Armed Single Network Modeに挿入し、Two-Armed NAT、Two-Armed Transparent、およびOneのファームオプションとして使用できます。 -武装したダイレクトサーバーリターンモード。
バラクーダロードバランサバラクーダネットワークスは、このようなX-転送さ-のためにクライアントの要求にクライアントのIPアドレスを挿入するなど、ユーザー定義のヘッダをサポートしています。
Citrix SystemsのNetScalerは、クライアントIPアドレスをクライアント要求に挿入するためのX-Forwarded-Forなどのユーザー定義フィールドをサポートしています。
Cisco ACEロードバランシングモジュールは、このフィールドを挿入することもできます。これは通常、ロードバランサがソースNATを実行するように設定されている場合に実装され、ロードバランサがワンアーム構成で存在できるようにすると同時に、実サーバがアカウンティングに使用できるメカニズムを提供します。クライアントの送信元IPアドレス用。参照ではx-forwardについて言及していますが、X-Forwarded-Forで置き換えることができます。
F5 Networksロードバランサーは、ワンアームおよびマルチアーム構成のX-Forwarded-Forをサポートします。 Big-IPは、信頼を1ホップ以上離れたプロキシに委任し、他のソースからのカスタムX-Forwarded-Forヘッダーを受け入れるように構成することもできます。
LineRate仮想ロードバランサーは、コマンドラインドライブ構成またはnode.jsスクリプトを介してX-Forwarded-Forをサポートします。
KEMP Technologies LoadMasterは、ワンアーム構成とマルチアーム構成の両方で、不透明なロードバランシング用のX-Forwarded-Forをサポートしています。
Coyote Point Systems Equalizerは、ワンアーム構成とマルチアーム構成の両方で負荷分散のためのX-Forwarded-Forフィールドをサポートします。
OpenBSDリレーは、このフィールドを挿入および/または変更できます。
AmazonのElasticLoad Balancingサービスは、このフィールドをサポートしています。
LBL LoadBalancerは、ワンアームおよびマルチアーム構成のX-Forwarded-Forをサポートします。
ラドウェアのAppDirector ADC、AlteonのADC、ADC-VX、およびADC-VAサポートは、Xに基づいてトラフィックの持続性を提供することが可能であるとして、X-転送先についてサーバーに向かってソースNATであるトラフィックのヘッダーを挿入すること、ならびにForwarded-サーバーへの永続性を維持しながら、プロキシ接続から複数のサーバーにトラフィックを分散するためのヘッダー用。
Loadbalancer.orgエンタープライズロードバランサーはX-Forwardedをサポートします-デフォルトでロードバランシング用

代替案とバリエーション
RFC 7239はForwarded、同様の目的でHTTPヘッダーを標準化しましたが、HTTPヘッダーと比較してより多くの機能を備えていX-Forwarded-Forます。Forwardedヘッダーの構文の例:
転送:for = 192.0.2.60; proto = http; by = 203.0.113.43
HAProxyは、X-Forwarded-ForまたはForwardedヘッダーを使用せずに発信元クライアントのIPアドレスを通信できるPROXYプロトコルを定義します。このプロトコルは複数のトランスポートプロトコルで使用でき、内部プロトコルを検査する必要がないため、HTTPに限定されません。

も参照してください
インターネットのプライバシー
プロキシソフトウェアのリスト
X-発信-IPのためのSMTP同等
HTTPヘッダーフィールドのリスト

参考文献
^ “{title}”。2014-09-20にオリジナルからアーカイブされました。
^ 「squid:follow_x_forwarded_for構成ディレクティブ」。Squid-cache.org 。
^ 「X-Forwarded-For」。MDN WebDocs 。
^ 「管理ガイドページ152」(PDF)。Aiscaler.com 。
^ SquidFaq / ConfigureSquid – SquidWebプロキシWiki。Wiki.squid-cache.org(2012-02-06)。。
^ mod_proxy – ApacheHTTPサーバー。Httpd.apache.org。。
^ 「リクエストログ」の下のウェイバックマシンで2015年6月7日にアーカイブされたポンドプロキシ ^ HAProxy構成マニュアル。haproxy.1wt.eu。。
^ haproxy.1wt.eu。haproxy.1wt.eu。。
^ ロギングに関するWaybackMachineで2008年3月29日にアーカイブされたワニスFAQ ^ IronPortWebセキュリティアプライアンス。Ironport.com(2012-11-26)。。
^ 「ApacheまたはPHPでの「X-Forwarded-For」の使用」。devcentral.f5.com。
^ Bluecoatナレッジベースの記事000010319WaybackMachineで 2015-02-15にアーカイブされました。Kb.bluecoat.com(2009-06-29)。。
^ 「WebsenseWSGでの「X-Forwarded-For」の使用」。Websense.com 。
^ 「Winfrasoft–X-Forwarded-For– for TMG、ISA Server、およびIIS」。Winfrasoft.com 。
^ 「NGINXリバースプロキシ-NGINX」。Nginx.com 。
^ IIS用のWinfrasoftXFF。Winfrasoft.com
^ IIS AdvancedLogging。Iis.net(2009-08-10)。。
^ X-Forwarded-IIS7のHTTPモジュールの場合、ソースが含まれています!Joe PruittDevcentral.f5.comによる。(2013-07-05)。
^ 「WebMuxテクニカルリソース-アプリケーション配信ネットワークの負荷分散」。Avanu.com 。
^ Inc、バラクーダネットワークス。「レイヤー7HTTP(S)サービス」。バラクーダキャンパス。
^ Citrix NetScalerトラフィック管理ガイド–リリース9.1 … Support.citrix.com。。
^ ソースNATおよびクライアントIPヘッダーを備えたCiscoACE。Cisco.com。。
^ X-Forwarded-For HTTPヘッダーフィールドを使用して、SNATによって変換されたトラフィックの元のクライアントIPアドレスを保持します。Support.f5.com(2012-09-26)。。
^ TrustedX-Forwarded-Forヘッダーの概要。Support.f5.com(2012-09-26)。。
^ LineRateを使用したX-Forwarded-Forヘッダーの挿入(2014年12月29日) 。
^ ロードマスター製品マニュアル。Kemptechnologies.com。。
^ イコライザーユーザーガイド。Coyotepoint.com。。
^ relayed.confのマニュアルページ。Openbsd.org(2017-11-29)。2018-02-04に取得。
^ Loadbalancer.orgX-forwarded-.Loadbalancer.org用。。
^ ピーターソン、A; ニルソン、M。転送されたHTTP拡張。IETF。土井:10.17487 / RFC7239。RFC 7239 。
^ Willy Tarreau:PROXYプロトコル。haproxy.1wt.eu。。

外部リンク
Apache mod_extract_forwarded