IPSecトンネル(L2L)の理解

私の現在の役割では、私はL2L(LAN to LAN)トンネルを非常に頻繁に扱っています。 それらは、専用のアクセス回路と比較して2つの場所を接続するための「安価な」方法です。 唯一の要件は、正しいハードウェアと各場所に”常にオン”の静的IPを持つことです。 私は頻繁にASAのL2Lトンネルを設定することが容易で、CLIの20の設定行だけを取ること冗談を言います。 それはあなたが技術がどのように機能するかを理解していない場合は、ネットワークの世界で何か他のもののように言われて、あなたは一日立ち往生しようとしています。 コンソールに20行のconfig行を入力し、実際に何が起こっているのかを理解することは、まったく異なるものです。 この記事では、IPSecの基本、トンネルの形成方法、および問題が発生したときに実行できるトラブルシューティング手順について説明します。

用語
IPSec(Internet Protocol Security)–私たちが話していること

IKE(Internet Key Exchange)–IKEは、二つのエンドポイント間の安全な接続を確立し、維持するために必要なツールセットと考えてくださ 基本的にIKEは接続がIPSecトンネル

ISAKMP(Internet Security Association and Key Management Protocol)の主要部分であるSAs(Security Associations)を形成し、維持することを可能にします–ISAKMPはSAsを使用する方法を定 つまり、Isakmpは、SAsの作成、保守、変更、および破棄の方法を処理します。 あなたは重複に気づいたことがありますか? IKEとISAKMPは非常に似ていますよね? それは彼らがそうであるからです。 実際には、シスコも、彼らのドキュメントでこれを指摘しています。

“Ikeとも呼ばれるInternet Security Association and Key Management Protocolは、IPsecセキュリティassociationの構築方法について二つのホストが合意できるようにするネゴシエーションプロトコルです。 各ISAKMPネゴシエーションはPhase1とPhase2と呼ばれる二つのセクションに分かれています。”

ピアアドレス–コンテキストに応じて、トンネルの一方の端またはトンネルのもう一方の端のパブリックアドレスのいずれかです。

DH(Diffie-Hellman)–dhは、安全でないチャネルを介して二者が秘密鍵を共有できるようにします。 DHは、ikeフェーズ1の間に鍵を交換し、安全な秘密鍵を確立するために使用されます。•ISAKMPポリシーセットIKE暗号化アルゴリズム、IKE認証アルゴリズム、IKE認証タイプ、DHバージョン、およびIKEトンネル有効期間を指定するポリシーセット。 ISAKMPポリシー-セットは、IKEフェーズ1ネゴシエーションで使用されます。 これをさらに混乱させるために、ISAKMPポリシーセットは、ISAKMP変換セット、IKE変換セット、または単に単純な古い変換セット

IPSec変換セットとも呼ばれます。 実際の変換セットはIKEフェーズ2で使用され、通常はIKE暗号化タイプと認証タイプのみで構成されます。 繰り返しになりますが、混乱する部分は、しばしばこれらの変換セットを呼び出す人がいることです。

SAs(Security Associations)–基本的には、トンネルの両側が同意するIPSecパラメータのセットです。 私はシスコの土地で私たちのもののためにここで重要な区別をします。 ISAKMP SAとIPSec SAがあります。 IPSecトンネルの作成中に、複数のトンネルが作成されています。 ISAKMP SAはIKEフェーズ1の結果と見なされ、IPSec SAはIKEフェーズ2の結果と見なされることを覚えておいてください。 また、SAは一方向の接続にすぎません。 エンドポイント間のほとんどのトラフィックは双方向通信を必要とするため、各ASAは他のピアと通信するために独自のSAを作成します。

Nonce–一度だけ使用される安全なキーのために通常使用される数。 それが二度目に使用された場合、それは通常、不正な接続試行の兆候です。

用語の概要–VPNの用語は本当に、本当に、本当に混乱しています。 ISAKMPとIKEは時々同じ意味で使用されることを覚えておいてください。 さらに、変換セットは、設定のグループの一般的な用語です。 このフレーズは、IKEフェーズ2の認証および暗号化タイプを指定するために使用されるCLIで「transform-set」の後に入力したものを参照する場合にのみ使用します。

プロセス
いくつかの重要な用語がわかったので、IPSecトンネルがどのように形成されるかについて話し始めることができます。 私の意見では、IPSecトンネルの寿命には4つの段階があります。 私はそれらを下にレイアウトしてから、それらについて話します

フェーズ1–興味深いトラフィックはトンネルの作成を生成します
フェーズ2–IKEフェーズ1
フェーズ3–IKEフェーズ2
フェーズ4–トンネル終了

一部の人々は私のフェーズ3と4の間にフェーズを投げ、私の視点では実際にはフェーズではない”IPSecトンネルが作成されました”とリストします。 フェーズ1から3の製品をリストすることは、私の心の中で独自のフェーズを正当化するようには見えません。 いずれにせよ、それぞれの詳細に行きましょう。

フェーズ1–興味深いトラフィックがトンネルの作成を生成する
多くの人がIPSecについて知らないのは、私が”オンデマンド”サービスと呼んでいることです。 つまり、一度トンネルを作成すると、すべての時間を稼働させて実行されるわけではありません。 私達が’興味深い交通’と呼ぶ何を、トンネルの作成を誘発する。 トンネルの作成にはそれほど時間はかかりませんが、ほとんどの場合、pingを使用してテストするときに気付くことがあります。 ほとんどの場合、トンネルを介してクライアントマシンからpingしようとすると、トンネルがロードされているため、最初のICMP要求は失敗します。 その後のIcmpは正しく通過します。 関心のあるトラフィックは、ACLを使用してASA上で定義されます。 次に、ACLは「match address」コマンドを使用してトンネル暗号マップ内で指定されます。 ACLの例は次のようになります。

access-list L2Lcryptomap extended permit ip<Local subnet><Local mask><Destination subnet><Destination mask>

サブネットからトンネルの反対側のサブネットに来るトラフィッ これにより、重複したプライベートサブネットの問題が発生します。 両方のAsaの内部インターフェイス上のサブネットが同じであれば、問題が発生します。 このように考えると、一方の側のクライアントが他方のサブネット上のリソースに移動しようとすると、どこにも移動しません。 デフォルトでは、クライアントは、アクセスしようとしているリモートクライアントがローカルサブネット上にあると考えているため、応答をARPします。 それはサブネットをオフにしようとしないので、クライアントはデフォルトゲートウェイ(ASAの内部インターフェイス)に連絡することはありませんし、トンネ あなたがした場合でも、トラフィックはまだ流れないだろう。 この問題を解決するためにできる「トリッキーな」ことがいくつかありますが、このブログエントリの領域には含まれていません。 最良の状況は、各場所に一意のプライベートネットワークを持つことです。

Phase2–IKE Phase1
ASAが暗号マップに一致するリモートサブネットの要求を取得すると、IKE Phase1が開始されます。 IKEフェーズ1の目的は、IKEフェーズ2の接続を設定することです。 基本的に、IKEフェーズ1は、実際の接続が発生するための接地作業を行います。 実際には、管理SAと呼ばれることもある独自のSAを作成します。 この管理SAは、IKEフェーズ2で実際のデータトンネルを作成するために使用されます。 技術的な観点からは、IKEフェーズ1には3つのステップがあります。 最初のステップは、政策交渉と呼ばれています。 ポリシーネゴシエーションは、各エンドポイントで一致する変換セットを ISAKMP SAが形成される前に、各エンドポイントは一致するIKEポリシーセットに同意する必要があります。 次の項目は、トンネルの各側に設定されたポリシー内で一致する必要があります。

-IKE暗号化アルゴリズム
-IKE認証アルゴリズム
-IKEキー定義
-Diffie Hellmanバージョン
-IKEライフタイム

Ikeポリシーセットは、IKEフェーズ1の完了に関連付けられ エンドポイントは、順番に評価される任意の数のポリシーセットを持つことができます。 たとえば、ポリシーセット10、20、および30がある場合があります。 エンドポイントは、一致するものが見つかるまで、最初に最低のものから順にポリシーセットを順番に循環します。 したがって、より強力なポリシーセットを最初に定義することは理にかなっています。 弱いポリシーセットの後に定義されている場合は、最初に弱い一致を見つけることになる可能性があります。

さて、IKEフェーズ1にさらに進む前に、IKEフェーズ1には2つの異なるタイプがあることを説明するのに適しています。 最も頻繁に使用されるものは”メインモード”と呼ばれ、ピア間で交換される6つのメッセージで構成されています。 他のタイプは”積極的な”モードと呼ばれ、3つのメッセージに同等者の間で送られるメッセージを凝縮させます。 メインモードは設定が遅くなりますが、より安全です。 アグレッシブモードは設定が高速ですが、安全性は低くなります。 これについて私を引用しないでください、しかし私はメインモードがデフォルトで使用されると信じています。 私はここで詳細に飛び込むつもりはありません、彼らは両方とも同じことを達成し、私が上にリストした詳細は大きな違いについてあなたを手掛かりにすべきです。

ikeフェーズ1への最初のステップは政策交渉でした。 これを行うには、比較のためにポリシーセットを相互に送信し、一致する最小のポリシーセットを見つけます。 それが完了したら、次のステップであるDHキー交換に進むことができます。 このプロセスの間、ピアは共有秘密を確立するために使用される公開鍵を交換します。 このプロセスが完了した後、フェーズ1SA(ISAKMP SA)が形成され、ピア認証である最後のステップに進みます。

ピア認証中に、定義された認証方法を使用して、不正なデバイスがネットワークに安全な接続を形成していないことを確認します。 ほとんどの場合、これは事前共有キーで行われます。 このステップは非常に簡単です、ピアはキーが一致することを確認するためにチェックします。 そうでない場合、認証は失敗します。 彼らが一致すれば、私たちはIKEフェーズ2に移動します。

Phase3–IKE Phase2
私はIKE phase2をデータトンネルの実際の建物と考えたいと思います。 この時点までの作業は、主に、実際のIPsec Saを構築できるように、安全な通信チャネルを確保することでした。 IKEフェーズ1と比較して、IKEフェーズ2には「クイックモード」と呼ばれる1つのタイプのモードしかありません。 クイックモードでは、IKEフェーズ1で作成された既存のISAKMP SAを使用して、IPSec Saを作成し、キー交換を管理します。 クイックモードの最初のステップは、IPSec変換セットをネゴシエートすることです(ISAKMPポリシーセットと同じではありません!!). IPSec Saが形成されるには、次の項目を両端で一致させる必要があります。

-IPSecプロトコル
-IPsec暗号化タイプ
-IPSec認証タイプ
-IPSecモード
-IPSec SA lifetime

は今IKEフェーズ1およびフェーズ2からのtransform-setsを比較するために短い時を取ることを可能に 次に、ASAの一般的な設定を示します。10
認証プリシェア
暗号化3des
ハッシュsha
グループ2
ライフタイム86400

ipsec変換
暗号ipsec変換-セットESP-3DES-SHA esp-3des esp-sha-hmac

何か奇妙なことを見ますか? ISAKMPポリシーセットでは、合意する必要がある変換セットの5つの必要な部分を明確に見ることができます。 IPSec変換では、それほど明確ではありません。 これは、変換が実際には5つの必要な部分のうち3つしか定義していないためです。 上記の例では、IPSecプロトコル(ESP)、IPSec認証タイプ(SHA)、およびIPSec暗号化タイプ(3DES)を定義しています。 IPSecモードとIPSec SAの有効期間を定義する必要はありません。 そうでない場合、ASAは単純に、SA存続期間では28,800、すべての変換セットでは「トンネル」モードの次の値を想定します。 私は通常、反対側がそれらを変更しない限り、これらの値を変更しません。

変換セットがネゴシエートされて一致したら、IPSec SAsを作成できます。 上述したように、SAは単方向接続である。 したがって、トラフィックがそれぞれの方法で流れるようにするには、2つのIPSec Saを形成する必要があります。 ASAはもちろんあなたのためにこの作業を行いますので、ここで共有する詳細はあまりありません。 クイックモードでは、再生攻撃を防ぐ新しいキー素材を生成するためにnoncesを使用します。 第三のステップは、定期的に接続を再交渉するプロセスです。 SAsはトンネルの寿命の満了前に再生される必要があります。 クイックモードはこれを監視し、古いSAsが期限切れになる前に新しいSAsを生成します。

フェーズ4–トンネル終了
この時点で、完全に機能するVPNトンネルがあります! 交通は両方の方向で渡るべきである。 行うには残っている唯一のことは、任意の興味深いトラフィックがない場合は、トンネルを取り壊すです。 SAsは、興味深いトラフィックが流れ続ける場合にのみ再生成されます。 興味深いトラフィックがSAに来て停止した場合は、その有効期間に達した後に期限切れになることが許可されています。 SAの有効期限が切れることが許可されている場合は、SAに関するすべてのデータがSAからフラッシュされます。 次回興味深いトラフィックが生成されると、プロセス全体が最初から開始されます。 IPSec接続で最も一般的な問題は、ikeフェーズ1および2の変換セットの一致が検出されないことです。 問題が発生した場合は、常に最初に行う必要があるのは、両側の設定を再確認して、100%と一致することを確認することです。 次にできることは、ASA上のSAsを見て、それらが作成されているかどうか、および作成されているかどうか、どのステータスがあるかを判断することです。Ikeフェーズ1SAを表示するには、次のコマンドを発行します。ASA#show crypto isakmp sa ikeフェーズ2SAを表示するには、次のコマンドを発行します。ASA#show crypto ipsec sa ikeフェーズ1SAがない場合は、それほど遠くに行くことはありません。 SAの状態はあなたにいくつかのことを伝えます。 これは、SAがメインまたは積極的なモードで作成されたかどうかを示します,どちら側がトンネルをもたらしました,また、あなたの交渉の状況を伝えま 典型的なフェーズ1SAの外観を以下に示します。

ASA#show crypto isakmp sa
アクティブSA:1
キー再設定SA: 1Ikeピア:<ピアIPアドレス>
タイプ:L2L役割:応答者
キー:いいえ状態:MM_ACTIVE

上記の出力からわかるように、1つのIKEフェーズ1SAがあります。 タイプは’L2L’(サイト間IPSecトンネルであることを示します)、ロールは’responder’(ピアがトンネルを起動したことを意味します)、状態はMm_Active(メインモード(MM)を使用し、IKE MM_ACTIVEは、フェーズ1IKE SAで見たいものです。 これは、IKEフェーズ2が発生する準備ができていることを意味します。 あなたがアクティブな状態を持っていない場合はどうすればよいですか? または全くSAはありませんか?

ISAKMP SAで何が起こっているのかを知ることができる他のいくつかの州があります。 注:これらのステータスコードは新しいASAバージョンのためだけ、古いIPSecコード使用された別のステータスメッセージのためです。
最初の二つの文字は、接続がメインモード(MM)またはアグレッシブモード(AM)で行われたかどうかを示します。 それはメインまたは積極的なモードのいずれかになる可能性があるので、私は単に以下の’XX’のようにリストします。 あなただけのメインまたは積極的なモードのいずれかでそれらのいくつかが表示されます付与されました。 私が各状態にリストしている定義は、ほとんどの場合、私が問題であることがわかったものです。

Xx_Active–Connected
XX_KEY_EXCH–認証エラー、認証方法を確認
XX_INIT_EXCH–認証エラー、認証方法を確認
XX_NO_STATE–IKEフェーズ1ポリシーと一致できません、それぞれの側で確認
XX_WAIT_MSG2–ピアからの応答を待っています

さらに、SAがない場合は、SAがない場合は、SAがない場合は、SAがない場合は、SAがない場合は、SAがない場合は、SAがない場合は、SAがない場合は、SAがない場合は、SAがない場合は、SAがない場合は、SAがない場合は、SAがない場合は、すべて、明らかの点検によって始めなさい。 レイヤ1から開始し、両方のユニットに接続があり、ピアアドレスが正しいことを確認してください。

問題の99%はIKEフェーズ1SAにあります。 フェーズ1でアクティブの状態を取得している場合は、おそらく良い形です。 それでも問題が解決しない場合は、IKE phase2SAをご覧ください。 私はその主に統計だけなので、その例を示すつもりはありません。 同じ概念が適用されますが、IPSec SAがない場合は、VPNトンネルがありません。

デバッグ
ASAの他の何かのようにまだ問題が、あれば、デバッグを試みて下さい。 あなたが探している二つのコマンドは次のようになります…

ASA#debug crypto isakmp
ASA#debug crypto ipsec
ASA#terminal monitor

コンソールポート

大きな修正
私は絶対に成功せずにロードするトンネ 最後に、2つのコマンドは常に私の問題を修正しました。 他のすべてが失敗した場合は、ISAKMPおよびIPSEC Saをすべてクリアします。 これはもちろん、ボックスへのIPSec接続を吹き飛ばします。 他のすべての接続を吹き飛ばしてゼロから始めることについての何かがそれを修正するようです。 これを行うには…。Asa#clear crypto ipsec sa
ASA#clear crypto isakmp sa

結論
IPSecがどのように動作するかを基本的に理解していることが、世界の違いになることをこの記事を通して見ていただければ幸いです。 IPSec L2Lトンネルのトラブルシューティングには、エラーを探す場所とエラーの解釈方法を知ることが重要です。

Leave a Reply