7. セキュリティに関する考慮事項
- セキュリティに関する考慮事項
任意のクライアントが任意のターゲットへのトンネルを確立できるようにすることには重大なリスクがある。これにより、悪意のあるアクターがトラフィックを送信し、それを UDP プロキシに帰属させることが可能になる可能性があるためである。UDP プロキシをサポートする HTTP サーバーは、その使用を認証されたユーザーに制限すべきである。
着信リクエストの送信元 IP アドレスに基づいてアクセス制御チェックを実行するソフトウェアおよびネットワークデプロイメントが存在する。たとえば、一部のソフトウェアは、127.0.0.1 から発信された場合に限り、認証されていない設定変更を許可する。このようなソフトウェアは、UDP プロキシと同じホスト上、または同じブロードキャストドメイン内で実行されている可能性がある。その場合、プロキシされた UDP トラフィックは、UDP プロキシに属する送信元 IP アドレスで受信される。この送信元アドレスがアクセス制御に使用される場合、UDP プロキシクライアントは、UDP プロキシを使用して、本来持っている権限を超えてアクセス権限を昇格させる可能性がある。UDP プロキシが、UDP プロキシ自身のアドレスや localhost、リンクローカル、マルチキャスト、ブロードキャストアドレスなどの脆弱なターゲットへの UDP プロキシリクエストを許可しない限り、これは UDP プロキシクライアントによる不正アクセスにつながる可能性がある。UDP プロキシは、そのようなリクエストを拒否する際に、[PROXY-STATUS] のセクション 2.3.5 の destination_ip_prohibited プロキシエラータイプを使用できる。
UDP プロキシは、サービス拒否 (DoS) 攻撃を可能にするための悪用のインフラストラクチャとして考慮する場合、TCP CONNECT プロキシと多くの類似点を共有する。どちらも攻撃ターゲットから攻撃者の送信元アドレスを難読化できる。ステートレスなボリューム攻撃(TCP SYN フラッドや UDP フラッドなど)の場合、どちらのタイプのプロキシもトラフィックをターゲットホストに渡す。TCP CONNECT プロキシを介して送信されるステートフルなボリューム攻撃(HTTP フラッドなど)の場合、プロキシは、ターゲットが TCP SYN-ACK で応答することによってデータを受け入れる意思があることを示した場合にのみデータを送信する。ターゲットへのパスがフラッドすると、TCP CONNECT プロキシはターゲットからの応答を受信しなくなり、データの送信を停止する。UDP は UDP プロキシとターゲットの間に共有状態を確立しないため、UDP プロキシはそのような状況でもターゲットにデータを送信し続ける可能性がある。UDP プロキシは、ターゲットからの応答を観察するまで転送する意思のある UDP パケットの数を制限できる可能性があるが、UDP 上で実行されるプロトコルが応答し、それが UDP プロキシによって UDP を受け入れる意思があると解釈されるオープン UDP ポートを攻撃がターゲットとする場合、これは DoS 攻撃に対して限られた保護しか提供しない。このようなパケット制限は、正当なトラフィックに問題を引き起こす可能性もある。
[HTTP-DGRAM] のセクション 4 で説明されているセキュリティに関する考慮事項も、ここで適用される。UDP 経由で IP パケットをトンネリングすることは可能であるため、[TUNNEL-SECURITY] のガイダンスが適用できる。