第5章 Red Hat Ansible Automation Platform のプロキシーサポートの設定
プロキシーを使用してトラフィックと通信できるように、Red Hat Ansible Automation Platform を設定できます。本セクションでは、サポートされているプロキシー設定と設定方法を説明します。
5.1. 既知のプロキシーの設定
自動化コントローラーに到達できる既知のプロキシー一覧を設定できます。一覧に含まれていないロードバランサーおよびホストは、要求を拒否します。
5.1.1. 既知のプロキシー
Tower を REMOTE_HOST_HEADERS = ['HTTP_X_FORWARDED_FOR', 'REMOTE_ADDR', 'REMOTE_HOST']
で設定している場合には、X-Forwarded-For
の値が Tower の前にあるプロキシーまたはロードバランサ―から送られていることを前提としています。プロキシー/ロードバランサーを使用せずに Tower にアクセスできる場合や、プロキシーがヘッダーを検証しない場合、X-Forwarded-For
は比較的簡単になり、送信元の IP アドレスを偽装できます。REMOTE_HOST_HEADERS
設定で HTTP_X_FORWARDED_FOR
を使用すると、本質的にユーザーが持つべきではない特定のリソースにアクセスできる脆弱性が発生します。
脆弱性の例:
- ジョブテンプレートのホスト設定キー
- ジョブテンプレートのリンクされたインベントリーのホスト名または ansible_(ssh_)host
- ジョブテンプレートのプロビジョニングコールバックの URL
5.1.1.1. 既知のプロキシーの設定
設定 API から PROXY_IP_WHITELIST
設定を使用して許可される「既知のプロキシー」の一覧を設定できます。一覧に含まれていないロードバランサーおよびホストは、要求を拒否します。
-
PROXY_IP_WHITELIST
は、この一覧のプロキシーが適切にヘッダー入力をサニタイズし、X-Forwarded-For
の値がクライアントの実際のソース IP と同等になるように正しく設定します。{ControllerNameStart} は、PROXY_IP_WHITELIST
の 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_WHITELIST
を定義している
手順
-
自動化コントローラーノードで、テキストエディターを使用して
/etc/tower/conf.d/remote_host_headers.py
を開きます。
追加情報
- 手順モジュールの内容に密接に関連するその他の資料へのリンクの箇条書きの一覧。
- 現在、モジュールには xref を含めることができないため、コレクションに他のコンテンツへのリンクを含めることができません。別のアセンブリーへのリンクが必要な場合は、このモジュールを含むアセンブリーに xref を追加します。
- 手順モジュールの作成に関する詳細は、Modular Documentation Reference Guide を参照してください。
- ファイル名、ID、およびタイトルには一貫性のあるシステムを使用します。ヒントについては、Modular Documentation Reference Guide の Anchor Names and File Names を参照してください。