5.2. 既知のプロキシー
Automation Controller を REMOTE_HOST_HEADERS = ['HTTP_X_FORWARDED_FOR', 'REMOTE_ADDR', 'REMOTE_HOST']
で設定している場合は、X-Forwarded-For
の値が、Automation Controller の前にあるプロキシーまたはロードバランサ―から送られていることを前提としています。プロキシー/ロードバランサーを使用せずにAutomation Controller に到達できる場合、またはプロキシーがヘッダーを検証しない場合は、X-Forwarded-For
の値が偽造されて発信元の IP アドレスを偽装する可能性があります。HTTP_X_FORWARDED_FOR
設定で REMOTE_HOST_HEADERS
を使用すると、脆弱性が発生します。
これを回避するには、許可される既知のプロキシのリストを設定することができます。PROXY_IP_ALLOWED_LIST Automation Controller の設定メニューのフィールド。既知のプロキシーリストに含まれていないロードバランサーおよびホストは、要求を拒否します。
5.2.1. 既知のプロキシーの設定
Automation Controller の既知のプロキシーのリストを設定するには、プロキシー IP アドレスを追加します。PROXY_IP_ALLOWED_LIST Automation Controller の設定ページのフィールド。
手順
-
Automation Controller で、
に移動します。 PROXY_IP_ALLOWED_LIST フィールドに、以下の例の構文に従って、Automation Controller への接続を許可する IP アドレスを入力します。
例 PROXY_IP_ALLOWED_LIST エントリー
[ "example1.proxy.com:8080", "example2.proxy.com:8080" ]
[ "example1.proxy.com:8080", "example2.proxy.com:8080" ]
Copy to Clipboard Copied!
-
PROXY_IP_ALLOWED_LIST
は、この一覧のプロキシーが適切にヘッダー入力をサニタイズし、X-Forwarded-For
の値がクライアントの実際のソース IP と同等になるように正しく設定します。Automation Controller は、PROXY_IP_ALLOWED_LIST
の IP アドレスとホスト名に依存して、X-Forwarded-For
フィールドに偽装されていない値を提供できます。 HTTP_X_FORWARDED_FOR
を `REMOTE_HOST_HEADERS` の項目として設定しないでください。all 次の条件のいずれかが満たされています。- SSL Termination でプロキシー環境を使用している
-
プロキシーにより
X-Forwarded-For
ヘッダーのサニタイズまたは検証が行われクライアントの攻撃を防止することができる -
/etc/tower/conf.d/remote_host_headers.py
が信頼されたプロキシーまたはロードバランサーの送信元 IP のみを含むPROXY_IP_ALLOWED_LIST
を定義している