3.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 を使用すると、脆弱性が発生します。
これを回避するには、Automation Controller の設定メニューの PROXY_IP_ALLOWED_LIST フィールドを使用して許可される既知のプロキシーのリストを設定できます。既知のプロキシーリストに含まれていないロードバランサーおよびホストは、要求を拒否します。
3.2.1. 既知のプロキシーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Automation Controller の既知のプロキシーのリストを設定するには、Automation Controller の設定ページの PROXY_IP_ALLOWED_LIST フィールドにプロキシー IP アドレスを追加します。
手順
-
Automation Controller で、
に移動します。 PROXY_IP_ALLOWED_LIST フィールドに、以下の例の構文に従って、Automation Controller への接続を許可する IP アドレスを入力します。
PROXY_IP_ALLOWED_LIST エントリーの例
[ "example1.proxy.com:8080", "example2.proxy.com:8080" ]
-
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' のアイテムとして設定しないでください。- SSL Termination でプロキシー環境を使用している
-
プロキシーにより
X-Forwarded-Forヘッダーのサニタイズまたは検証が行われクライアントの攻撃を防止することができる -
/etc/tower/conf.d/remote_host_headers.pyが信頼されたプロキシーまたはロードバランサーの送信元 IP のみを含むPROXY_IP_ALLOWED_LISTを定義している