3. Requirements for IPsec-NAT Compatibility (IPsec-NAT 互換性の要件)
3. Requirements for IPsec-NAT Compatibility (IPsec-NAT 互換性の要件)
IPsec-NAT 互換性ソリューションの目標は, セクション 2.3 で説明されている NAT 互換 IPsec トンネルモードソリューションで利用可能な機能を超えて, 使用可能な IPsec 機能の範囲を拡大することです。
IPsec-NAT 非互換性に対するソリューションを評価する際には, 以下の基準を念頭に置く必要があります:
展開 (Deployment)
IPv6 は IPv4 で NA(P)T の使用につながることが多いアドレス不足の問題に対処するため, IPsec-NAT 互換性の問題は IPv6 の広範な展開前の時間枠で解決する必要がある過渡的な問題です。したがって, 有用であるためには, IPsec-NAT 互換性ソリューションは IPv6 よりも短い時間スケールで展開可能でなければなりません。
IPv6 の展開にはルーターとホストの両方への変更が必要であるため, ルーターとホストの両方への変更を必要とする潜在的な IPsec-NAT 互換性ソリューションは, IPv6 とほぼ同じ時間スケールで展開可能になります。したがって, IPsec-NAT 互換性ソリューションはホストのみへの変更を必要とし, ルーターへの変更を必要としないべきです。
とりわけ, これは IPsec-NAT 互換性ソリューションによってホストと NA(P)T の間の通信が要求されるべきではないことを意味します。これには NA(P)T への変更とホストと NA(P)T 実装間の相互運用性テストが必要になるためです。短期間での展開を可能にするためには, ソリューションが展開されたインフラストラクチャ内の既存のルーターおよび NA(P)T 製品と連携する必要があります。
プロトコル互換性 (Protocol Compatibility)
IPsec NAT トラバーサルソリューションは, IPsec で保護されていない場合に NA(P)T を通過できないプロトコルの問題を解決することは期待されていません。したがって, IPsec NAT トラバーサルソリューションが利用可能であっても, 一部のプロトコルには ALG が必要な場合があります。
セキュリティ (Security)
NA(P)T の方向性はセキュリティ機能を果たすため, IPsec NA(P)T トラバーサルソリューションは, 双方向 IKE および IPsec 通信が確立された後はマッピング状態を維持すべきですが, 任意の IP アドレスからの任意の着信 IPsec または IKE トラフィックが NA(P)T の背後にあるホストによって受信されることを許可すべきではありません。
テレコミューターシナリオ (Telecommuter Scenario)
IPsec の主要な用途の1つは企業イントラネットへのリモートアクセスであるため, NA(P)T トラバーサルソリューションは IPsec トンネルモードまたは L2TP over IPsec トランスポートモード [RFC3193] のいずれかによる NA(P)T トラバーサルをサポートしなければなりません。これには, リモートクライアントと VPN ゲートウェイの間の複数の NA(P)T のトラバーサルのサポートが含まれます。
クライアントはルーティング可能なアドレスを持ち, VPN ゲートウェイは少なくとも1つの NA(P)T の背後にある場合があります。または, クライアントと VPN ゲートウェイの両方が1つ以上の NA(P)T の背後にある場合があります。テレコミューターは同じプライベート IP アドレスを使用し, それぞれが独自の NA(P)T の背後にある場合があります。または, 多くのテレコミューターが同じ NA(P)T の背後のプライベートネットワーク上に存在し, それぞれが独自の一意のプライベートアドレスを持ち, 同じ VPN ゲートウェイに接続する場合があります。IKE は宛先として UDP ポート 500 を使用するため, 同じ外部 IP アドレスの背後で動作する複数の VPN ゲートウェイを有効にする必要はありません。
ゲートウェイ間シナリオ (Gateway-to-Gateway Scenario)
ゲートウェイ間シナリオでは, プライベートアドレス指定ネットワーク (DMZ) が企業ネットワークとインターネットの間に挿入される場合があります。この設計では, 企業ネットワークの一部を接続する IPsec セキュリティゲートウェイが DMZ に存在し, その外部 (DMZ) インターフェイスにプライベートアドレスを持つ場合があります。NA(P)T は DMZ ネットワークをインターネットに接続します。
エンドツーエンドシナリオ (End-to-End Scenario)
NAT-IPsec ソリューションは, ホスト間ゲートウェイ通信だけでなく, IPsec を介した安全なホスト間ホスト TCP/IP 通信を可能にしなければなりません。プライベートネットワーク上のホストは, それらの間に1つ以上の NA(P)T がある別のホストへの1つまたは複数の IPsec 保護された TCP 接続または UDP セッションを確立できなければなりません。たとえば, NA(P)T は企業ネットワークに接続するブランチオフィス内に展開される場合があり, 企業ネットワークをインターネットに接続する追加の NA(P)T があります。同様に, NA(P)T は企業ネットワーク LAN または WAN 内に展開され, ワイヤレスまたはリモートロケーションクライアントを企業ネットワークに接続する場合があります。これには, ホスト上の TCP および UDP トラフィックの特別な処理が必要になる場合があります。
それらの間に1つ以上の NA(P)T がある別のホストへの SCTP 接続を確立することは, 特別な課題を提示する場合があります。SCTP はマルチホーミングをサポートしています。複数の IP アドレスが使用される場合, これらのアドレスはアソシエーションセットアップ中に SCTP パケットの一部として転送されます (INIT および INIT-ACK チャンクで)。シングルホーム SCTP エンドポイントのみが使用される場合, [RFC2960] セクション 3.3.2.1 では次のように述べています:
INIT および INIT-ACK で IP アドレスパラメータを使用しないことは, NAT ボックスを越えてアソシエーションがより機能しやすくするための代替手段であることに注意してください。
これは, 必要でない限り IP アドレスを SCTP パケットに入れるべきではないことを意味します。NAT が存在し IP アドレスが含まれている場合, アソシエーションセットアップは失敗します。最近 [AddIP] が提案されており, アソシエーションが確立された後に IP アドレスを変更できるようになります。変更メッセージにも SCTP パケット内に IP アドレスがあるため, NAT によって悪影響を受けます。
ファイアウォール互換性 (Firewall Compatibility)
ファイアウォールが広く展開されているため, NAT-IPsec 互換性ソリューションは, ファイアウォール管理者が IKE および IPsec NA(P)T トラバーサルトラフィックを許可または拒否するための単純な静的アクセスルールを作成できるようにしなければなりません。これは, たとえば IKE または IPsec 宛先ポートの動的割り当てを避けるべきであることを意味します。
スケーリング (Scaling)
IPsec-NAT 互換性ソリューションは, 数千人のテレコミューターで構成されるインストール内に展開できる必要があります。この状況では, 一度に1つのホストのみが特定の宛先と通信していると仮定することはできません。したがって, IPsec-NAT 互換性ソリューションは, 重複する SPD エントリと着信パケットの逆多重化の問題に対処しなければなりません。
モードサポート (Mode Support)
最低限, IPsec-NAT 互換性ソリューションは [RFC2409] および [RFC2401] 内でサポートが必要な IKE および IPsec モードのトラバーサルをサポートしなければなりません。たとえば, IPsec ゲートウェイは ESP トンネルモード NA(P)T トラバーサルをサポートしなければならず, IPsec ホストは IPsec トランスポートモード NA(P)T トラバーサルをサポートしなければなりません。AH の目的は IP ヘッダー内の不変フィールド (アドレスを含む) を保護することであり, NA(P)T はアドレスを変換して AH 完全性チェックを無効にします。その結果, NA(P)T と AH は根本的に互換性がなく, IPsec-NAT 互換性ソリューションが AH トランスポートまたはトンネルモードをサポートする要件はありません。
後方互換性と相互運用性 (Backward Compatibility and Interoperability)
IPsec-NAT 互換性ソリューションは, NA(P)T が存在しない場合に通信できるように, 既存の IKE/IPsec 実装と相互運用可能でなければなりません。これは, IPsec-NAT 互換性ソリューションが [RFC2401] で定義されている IPsec および [RFC2409] で定義されている IKE と後方互換性がなければならないことを意味します。さらに, NA(P)T トラバーサルサポートが必要な場合にのみ使用されるように, NA(P)T の存在を検出できるべきです。これは, 既存の IKE 実装が NA(P)T トラバーサルをサポートしていないことを判断できなければならず, [RFC2407], [RFC2408], および [RFC2409] で説明されているように標準的な IKE 会話が発生できることを意味します。これはポート 500 への IKE の開始を意味しますが, 特定の送信元ポートの要件はないため, UDP 送信元ポート 500 が使用される場合と使用されない場合があることに注意してください。
セキュリティ (Security)
IPsec-NAT 互換性ソリューションは, 追加の IKE または IPsec セキュリティ脆弱性を導入してはなりません。たとえば, 受け入れ可能なソリューションは, 新しいサービス拒否またはスプーフィング脆弱性を導入しないことを実証する必要があります。IKE は [RFC2408] で説明されているように双方向の方法で鍵の再生成が許可されなければなりません。