トンネリング、IPsec、および ISAKMP について
このトピックでは、バーチャル プライベート ネットワーク(VPN)の構築に使用するインターネット プロトコル セキュリティ(IPsec)標準と Internet Security Association and Key Management Protocol(ISAKMP)標準について説明します。
トンネリングは、インターネットなどのパブリック TCP/IP ネットワークを使用して、リモート ユーザとプライベートな企業ネットワークとの間でセキュアな接続を構築することを可能にします。それぞれのセキュアな接続は、トンネルと呼ばれます。
ASA は、ISAKMP と IPsec のトンネリング標準を使用してトンネルの構築と管理を行っています。ISAKMP と IPsec は、次の処理を実行できます。
-
トンネル パラメータのネゴシエーション
-
トンネルの確立
-
ユーザとデータの認証
-
セキュリティ キーの管理
-
データの暗号化と復号化
-
トンネル経由のデータ転送の管理
-
トンネル エンドポイントまたはルータとしての着信と発信のデータ転送の管理
ASA は、双方向のトンネル エンドポイントとして機能します。プライベート ネットワークからプレーン パケットを受信してカプセル化し、トンネルを作成して、カプセル化したパケットをトンネルのもう一方の終端に送信します。トンネルの終端では、パケットのカプセル化が解除されて最終的な宛先に送信されます。また、カプセル化されたパケットをパブリック ネットワークから受信してカプセル化を解除し、プライベート ネットワーク上の最終的な宛先に送信します。
IPsec の概要
ASA では、LAN-to-LAN VPN 接続に IPsec が使用され、client-to-LAN VPN 接続に IPsec を使用することもできます。IPsec 用語では、ピアとは、リモート アクセス クライアントまたは別のセキュアなゲートウェイを意味します。どちらの接続タイプについても、ASA はシスコのピアだけをサポートします。シスコは VPN の業界標準に従っているので、ASA は他ベンダーのピアとの組み合わせでも動作しますが、シスコはこのことをサポートしていません。
トンネルを確立する間に、2 つのピアは、認証、暗号化、カプセル化、キー管理を制御するセキュリティ アソシエーションをネゴシエートします。これらのネゴシエーションには、トンネルの確立(IKE SA)と、トンネル内のトラフィックの制御(IPsec SA)という 2 つのフェーズが含まれます。
LAN-to-LAN VPN は、地理的に異なる場所にあるネットワークを接続します。IPsec LAN-to-LAN 接続では、ASA は発信側または応答側として機能することができます。IPsec client-to-LAN 接続では、ASA は応答側としてのみ機能します。発信側は SA を提案し、応答側は、設定された SA パラメータに従って、SA の提示を受け入れるか、拒否するか、または対案を提示します。接続を確立するには、両方のエンティティで SA が一致する必要があります。
IPsec トンネルの概要
IPsec トンネルとは、ASA がピア間に確立する SA のセットのことです。SA とは、機密データに適用するプロトコルとアルゴリズムを指定するものであり、ピアが使用するキー関連情報も指定します。IPsec SA は、ユーザ トラフィックの実際の伝送を制御します。SA は単方向ですが、通常ペア(着信と発信)で確立されます。
ピアは SA ごとに使用する設定をネゴシエートします。各 SA は次のもので構成されます。
-
IKEv1 トランスフォーム セットまたは IKEv2 プロポーザル
-
クリプト マップ
-
ACL
-
トンネル グループ
-
事前フラグメンテーション ポリシー
ISAKMP および IKE の概要
ISAKMP は、2 台のホストで IPsec Security Association(SA; セキュリティ アソシエーション)の構築方法を一致させるためのネゴシエーション プロトコルです。これは、SA 属性のフォーマットに合意するための共通のフレームワークを提供します。このセキュリティ アソシエーションには、SA に関するピアとのネゴシエーション、および SA の変更または削除が含まれます。ISAKMP のネゴシエーションは 2 つのフェーズ(フェーズ 1 とフェーズ 2)に分かれています。フェーズ 1 は、以後の ISAKMP ネゴシエーション メッセージを保護する最初のトンネルを作成します。フェーズ 2 では、データを保護するトンネルが作成されます。
IKE は、IPsec を使用するための SA の設定に ISAKMP を使用します。IKE は、ピアの認証に使用される暗号キーを作成します。
ASA は、レガシー Cisco VPN Client から接続するための IKEv1、および AnyConnect VPN クライアントの IKEv2 をサポートしています。
ISAKMP ネゴシエーションの条件を設定するには、IKE ポリシーを作成します。このポリシーには、次のものが含まれます。
-
IKEv1 ピアに要求する認証タイプ。証明書を使用する RSA 署名または事前共有キー(PSK)です。
-
データを保護しプライバシーを守る暗号化方式。
-
送信者を特定し、搬送中にメッセージが変更されていないことを保証する Hashed Message Authentication Code(HMAC)方式。
-
暗号キー決定アルゴリズムの強度を決定するデフィーヘルマン グループ。ASA はこのアルゴリズムを使用して、暗号キーとハッシュ キーを導出します。
-
IKEv2 の場合は、別の疑似乱数関数(PRF)。IKEv2 トンネル暗号化などに必要な、キー関連情報とハッシュ操作を導出するためのアルゴリズムとして使用されます。
-
ASA が暗号キーを使用する時間の制限。この時間が経過すると暗号キーを置き換えます。
IKEv1 ポリシーでは、各パラメータに対して 1 個の値を設定します。IKEv2 では、単一のポリシーに対して、複数の暗号化タイプと認証タイプ、および複数の整合性アルゴリズムを設定できます。ASA は、設定をセキュア度が最も高いものから最も低いものに並べ替え、その順序を使用してピアとのネゴシエーションを行います。この並べ替えにより、IKEv1 と同様に、許可される各組み合わせを送信することなく、許可されるすべてのトランスフォームを伝送するために単一のプロポーザルを送信できます。
ASA は、IKEv2 の複数のセキュリティ アソシエーション(SA)をサポートしていません。ASA は現在、検出された最初の SA でのみインバウンド IPsec トラフィックを受け入れます。IPsec トラフィックが他の SA で受信された場合は、
vpn-overlap-conflict
のためドロップされます。複数の IPsec SA は 2 つのピア間の重複トンネル、または非対称トンネリングからの情報を取得できます。
IKEv1 トランスフォーム セットおよび IKEv2 プロポーザルの概要
IKEv1 トランスフォーム セットや IKEv2 プロポーザルは、ASA によるデータ保護の方法を定義するセキュリティ プロトコルとアルゴリズムの組み合わせです。IPsec SA のネゴシエート時に、ピアはそれぞれトランスフォーム セットまたはプロポーザルを指定しますが、これは両ピアで同一であることが必要です。ASA は、この一致しているトランスフォーム セットまたはプロポーザルを使用して SA を作成し、この SA によって暗号マップに対する ACL のデータ フローが保護されます。
IKEv1 トランスフォーム セットでは、各パラメータに対して 1 個の値を設定します。IKEv2 プロポーザルでは、単一のプロポーザルに対して、複数の暗号化および認証のタイプ、および複数の整合性アルゴリズムを設定できます。ASA は、設定をセキュア度が最も高いものから最も低いものに並べ替え、その順序を使用してピアとのネゴシエーションを行います。これによって、IKEv1 と同様に、許可される各組み合わせを個別に送信することなく、許可されるすべての組み合わせを伝送するために単一のプロポーザルを送信できます。
SA の作成に使用されたトランスフォーム セットまたはプロポーザルの定義が変更された場合は、ASA はトンネルを切断します。詳細については、セキュリティ アソシエーションのクリア を参照してください。
(注) |
トランスフォーム セットまたはプロポーザルの唯一の要素が消去または削除された場合は、ASA はそのトランスフォーム セットまたはプロポーザルを参照する暗号マップを自動的に削除します。 |
IKEv2 複数ピアクリプトマップについて
9.14(1) リリース以降、ASA IKEv2 は複数ピアクリプトマップをサポートするようになりました。トンネル内のピアがダウンすると、IKEv2 はリスト内の次のピアで SA の確立を試みます。最大 10 個のピアアドレスを持つクリプトマップを設定できます。IKEv2 でのこの複数ピアのサポートは、特に、複数ピアクリプトマップを使用して IKEv1 から移行する場合に役立ちます。
IKEv2 は双方向のクリプトマップのみをサポートします。したがって、複数ピアは双方向のクリプトマップにも設定され、トンネルを開始するピアからの要求を受け入れるために同じものが使用されます。
IKEv2 イニシエータの動作
IKEv2 はピア(Peer1 など)とのセッションを開始します。5 回の SA_INIT 再送信で Peer1 に到達できなかった場合、最終の再送信が実行されます。このアクティビティには約 2 分かかります。
Peer1 に障害が発生すると、SA_INIT メッセージが Peer2 に送信されます。Peer2 にも到達できない場合は、2 分後に Peer3 とのセッション確立が開始されます。
クリプトマップのピアリストにあるすべてのピアを使用すると、IKEv2 は、いずれかのピアと SA が確立されるまで、Peer1 からセッションを再度開始します。次の図に、この動作を示します。
(注) |
IKE SA を開始するには、継続的なトラフィックが必要です。そのため、試行が失敗するたびに次のピアに移動し、最終的に、到達可能なピアが SA を確立します。トラフィックが中断された場合は、次のピアで IKE SA を開始するために手動トリガーが必要になります。 |
IKEv2 レスポンダの動作
IKE SA のレスポンダデバイスがクリプトマップ内の複数のピアを使用して設定されている場合、IKE SA が試行されるたびに、イニシエータ IKE SA のアドレスが、クリプトマップ内の現在アクティブなピアのアドレスで検証されます。
たとえば、クリプトマップ内の現在アクティブなピア(レスポンダとして使用)が最初のピアである場合、IKE SA は Peer1 の IP アドレスから開始されます。同様に、クリプトマップ内の現在アクティブなピア(レスポンダとして使用)が 2 番目のピアである場合、IKE SA は Peer2 の IP アドレスから開始されます。
(注) |
ピアトラバーサルは、IKEv2 マルチピアトポロジのレスポンダ側ではサポートされません。 |
クリプトマップ変更時のピアインデックスのリセット
クリプトマップを変更すると、ピアインデックスがゼロにリセットされ、リスト内の最初のピアからトンネルが開始されます。次の表に、特定の状況での複数ピアインデックスの移行を示します。
SA 前の状況 |
ピアインデックスの移動 〇/x/リセット |
---|---|
到達不能なピア |
対応 |
フェーズ 1 プロポーザルの不一致 |
対応 |
フェーズ 2 プロポーザルの不一致 |
対応 |
DPD ACK 未受信 |
対応 |
AUTH フェーズ中のトラフィックセレクタの不一致 |
対応 |
Authentication failure(認証失敗) |
対応 |
ピアに到達不能なためキー再生成に失敗 |
Reset |
SA 後の状況 |
ピアインデックスの移動 〇/x/リセット |
---|---|
プロポーザルの不一致によるキー再生成の失敗 |
Reset |
キー再生成中のトラフィックセレクタの不一致 |
Reset |
クリプトマップの変更 |
Reset |
HA スイッチオーバー |
x |
clear crypto ikev2 sa |
Reset |
clear ipsec sa |
Reset |
IKEv2 SA タイムアウト |
Reset |
IKEv2 複数ピアの注意事項
IKEv1 および IKEv2 プロトコル
クリプトマップが両方の IKE バージョンおよび複数ピアで設定されている場合、次のピアに移動する前に、両方のバージョンの各ピアで SA の試行が行われます。
たとえば、2 つのピア P1 と P2 でクリプトマップが設定されている場合、IKEv2 の P1、IKEv1 の P1、IKEv2 の P2 のようにトンネルが開始されます。
高可用性
複数のピアを持つクリプトマップは、HA 内のレスポンダデバイスへのトンネルを開始します。最初のデバイスに到達できない場合、次のレスポンダデバイスに移動します。
イニシエータデバイスは、レスポンダデバイスへのトンネルを開始します。アクティブデバイスがダウンすると、スタンバイデバイスは、アクティブデバイスの Peer2 の IP アドレスに移動するクリプトマップに関係なく、Peer1 の IP アドレスからトンネルを確立しようとします。
集中クラスタ
複数のピアを持つクリプトマップは、集中クラスタの展開内にあるレスポンダデバイスへのトンネルを開始できます。最初のデバイスに到達できない場合、次のレスポンダデバイスへの移動を試みます。
イニシエータデバイスは、レスポンダデバイスへのトンネルを開始します。Peer1 に到達できない場合、クラスタ内のすべてのノードは次の Peer2 に移動します。
分散クラスタ
IKEv2 複数ピアクリプトマップが設定されている場合、分散クラスタリングはサポートされません。
マルチコンテキストモード
マルチコンテキストモードでは、複数ピアの動作は各コンテキストに固有となります。
デバッグ コマンド
トンネルの確立に失敗した場合は、これらのコマンドを有効にして、問題をさらに分析します。
-
debug crypto ikev2 platform 255
-
debug crypto ikev2 protocol 255
-
debug crypto ike-common 255
Sep 13 10:08:58 [IKE COMMON DEBUG]Failed to initiate ikev2 SA with peer 192.168.2.2,
initiate to next peer 192.168.2.3 configured in the multiple peer list of the crypto map.