VPN の基本
トンネリングによって、インターネットなどのパブリック TCP/IP ネットワークの使用が可能となり、リモート ユーザとプライベート企業ネットワークとの間でセキュアな接続を作成できます。各セキュアな接続がトンネルと呼ばれます。
IPsec ベースの VPN テクノロジーでは、Internet Security Association and Key Management Protocol(ISAKMP または IKE)と IPsec トンネリングを使用して、トンネルを構築し管理します。ISAKMP と IPsec は、次を実現します。
-
トンネル パラメータのネゴシエート。
-
トンネルの確立。
-
ユーザとデータの認証。
-
セキュリティ キーの管理。
-
データの暗号化と復号。
-
トンネルを経由するデータ転送の管理。
-
トンネル エンドポイントまたはルータとしてのインバウンドおよびアウトバウンドのデータ転送の管理。
VPN 内のデバイスは、双方向トンネル エンドポイントとして機能します。プライベート ネットワークからプレーン パケットを受信し、それらをカプセル化して、トンネルを作成し、それらをトンネルの他端に送信できます。そこで、カプセル化が解除され、最終宛先へ送信されます。また、パブリック ネットワークからカプセル化されたパケットを受信し、それらをカプセル化解除して、プライベート ネットワーク上の最終宛先に送信することもできます。
サイト間 VPN 接続が確立された後、ローカル ゲートウェイの背後にあるホストは、セキュアな VPN トンネルを介してリモート ゲートウェイの背後にあるホストと接続できます。接続は、2 つのゲートウェイの IP アドレスとホスト名、それらの背後にあるサブネット、および 2 つのゲートウェイが互いを認証するために使用する方式で構成されます。
インターネット キー エクスチェンジ(IKE)
インターネット キー エクスチェンジ(IKE)は、IPsec ピアを認証し、IPsec 暗号化キーをネゴシエートして配信し、IPsec セキュリティ アソシエーション(SA)を自動的に確立するために使用されるキー管理プロトコルです。
IKE ネゴシエーションは 2 つのフェーズで構成されています。フェーズ 1 では、2 つの IKE ピア間のセキュリティ アソシエーションをネゴシエートします。これにより、ピアはフェーズ 2 で安全に通信できるようになります。フェーズ 2 のネゴシエーションでは、IKE によって IPsec などの他のアプリケーション用の SA が確立されます。両方のフェーズで接続のネゴシエーション時にプロポーザルが使用されます。
IKE ポリシーは、2 つのピアが、ピア間の IKE ネゴシエーションの安全性を確保するために使用する一連のアルゴリズムです。IKE ネゴシエーションは、共通(共有)IKE ポリシーに合意している各ピアによって開始されます。このポリシーは、どのセキュリティ パラメータが後続の IKE ネゴシエーションを保護するかを規定します。IKE バージョン 1(IKEv1)の場合、IKE ポリシーには単一セットのアルゴリズムとモジュラスグループが含まれます。IKEv1 とは異なり、IKEv2 ポリシーでは、フェーズ 1 ネゴシエーション中にピアがその中から選択できるように、複数のアルゴリズムとモジュラス グループを選択できます。単一の IKE ポリシーを作成できますが、最も必要なオプションにより高い優先順位をつけるために異なるポリシーが必要となる場合もあります。サイト間 VPN の場合は、単一の IKE ポリシーを作成できます。
IKE ポリシーを定義するには、次を指定します。
-
固有の優先順位(1 ~ 65,543、1 が最高の優先順位)。
-
データを保護し、プライバシーを確保するための IKE ネゴシエーションの暗号化方式。
-
送信者の ID を保証し、メッセージが伝送中に変更されないように確保するためのハッシュ メッセージ認証コード(HMAC)方式(IKEv2 では整合性アルゴリズムと呼ばれる)。
-
IKEv2 の場合、IKEv2 トンネル暗号化に必要なキーの材料とハッシュ操作を派生させるためのアルゴリズムとして使用される個別の擬似乱関数(PRF)。オプションは、ハッシュ アルゴリズムで使用されているものと同じです。
-
暗号化キー判別アルゴリズムの強度を決定する Diffie-Hellman グループ。デバイスは、このアルゴリズムを使用して、暗号化キーとハッシュ キーを派生させます。
-
ピアの ID を保証するための認証方式。
-
デバイスが暗号化キーを交換するまでに使用できる時間制限。
IKE ネゴシエーションが開始すると、ネゴシエーションを開始するピアはリモート ピアに有効なポリシーをすべて送信し、リモート ピアは優先順位順に自身のポリシーとの一致を検索します。ピアが、暗号化、ハッシュ(IKEv2 の場合は整合性と PRF)、認証、Diffie-Hellman 値を保持し、さらに、送信されたポリシーのライフタイム以下である SA ライフタイムを保持している場合に、IKE ポリシー間に一致が存在します。ライフタイムが同じでない場合は、リモート ピアから取得した短い方のライフタイムが適用されます。デフォルトでは、DES を使用するシンプルな IKE ポリシーが唯一有効なポリシーです。より高い優先順位のその他の IKE ポリシーによってより強力な暗号化標準をネゴシエートできますが、DES ポリシーでも正常なネゴシエーションが確保されます。
VPN 接続の安全性を確保する方法
VPN トンネルは通常、インターネットなどのパブリック ネットワークを経由するため、トラフィックを保護するために接続を暗号化する必要があります。IKE ポリシーと IPsec プロポーサルを使用して、暗号化とその他のセキュリティ技術を定義し、適用します。
デバイス ライセンスによって強力な暗号化を適用できる場合は、広範な暗号化とハッシュ アルゴリズム、および Diffie-Hellman グループがあり、その中から選択できます。ただし、一般に、トンネルに適用する暗号化が強力なほど、システム パフォーマンスは低下します。効率を損なうことなく十分な保護を提供するセキュリティとパフォーマンスのバランスを見出します。
シスコでは、どのオプションを選択するかについての特定のガイダンスは提供できません。比較的大規模な企業またはその他の組織内で運用している場合は、すでに、満たす必要がある標準が定義されている可能性があります。定義されていない場合は、時間を割いてオプションを調べてください。
以降のトピックでは、使用可能なオプションについて説明します。
使用する暗号化アルゴリズムの決定
IKE ポリシーまたは IPsec プロポーザルに使用する暗号化アルゴリズムを決定する際、選択肢は VPN のデバイスでサポートされるアルゴリズムに限られます。
IKEv2 では、複数の暗号化アルゴリズムを設定できます。システムは、設定をセキュア度が最も高いものから最も低いものに並べ替え、その順序を使用してピアとのネゴシエーションを行います。IKEv1 では、単一のオプションのみ選択できます。
IPsec プロポーザルでは、認証、暗号化、およびアンチリプレイ サービスを提供するカプセル化セキュリティ プロトコル(ESP)によってアルゴリズムが使用されます。ESP は、IP プロトコル タイプ 50 です。IKEv1 IPsec プロポーザルでは、アルゴリズム名の前に ESP というプレフィックスが付けられます。
デバイス ライセンスが強力な暗号化を適用できる場合、次の暗号化アルゴリズムを選択できます。強力な暗号化の対象ではない場合、DES のみ選択できます。
(注) |
強力な暗号化の対象である場合、評価ライセンスをスマートライセンスにアップグレードする前に、暗号化アルゴリズムを確認および更新して暗号化を強化し、VPN 設定が適切に機能するようにしてください。AES ベースのアルゴリズムを選択します。強力な暗号化をサポートするアカウントを使用して登録されている場合、DES はサポートされません。登録後は、DES の使用対象をすべて削除するまで変更を展開できません。 |
-
AES-GCM—(IKEv2 のみ)Galois/カウンタ モードの Advanced Encryption Standard は、機密性、データの発信元の認証を提供する操作のブロック暗号モードであり、AES よりも優れたセキュリティを提供します。AES-GCM には、128 ビット、192 ビット、256 ビットの 3 種類のキー強度が用意されています。キーが長いほど安全になりますが、パフォーマンスは低下します。GCM は NSA Suite B をサポートするために必要となる AES モードです。NSA Suite B は、暗号化強度に関する連邦標準規格を満たすためにデバイスがサポートすべき一連の暗号化アルゴリズムです。.
-
AES(Advanced Encryption Standard)は DES よりも高度なセキュリティを提供する対称暗号化アルゴリズムであり、計算的には 3DES よりも効率的です。AES には、128 ビット、192 ビット、256 ビットの 3 種類のキー強度が用意されています。キーが長いほど安全になりますが、パフォーマンスは低下します。
-
DES(データ暗号化標準):56 ビット キーを使用して暗号化する対称秘密鍵ブロック アルゴリズムです。ライセンスアカウントが輸出規制の要件を満たしていない場合、これは唯一のオプションです。
-
NULL、ESP-NULL:使用しないでください。NULL 暗号化アルゴリズムは、暗号化を使用しない認証を提供します。これは、ほとんどのプラットフォームでサポートされていません。
使用するハッシュ アルゴリズムの決定
IKE ポリシーでは、ハッシュ アルゴリズムがメッセージ ダイジェストを作成します。これは、メッセージの整合性を保証するために使用されます。IKEv2 では、ハッシュ アルゴリズムは 2 つのオプションに分かれています。1 つは整合性アルゴリズムに使用され、もう 1 つは擬似乱数関数(PRF)に使用されます。
IPsec プロポーザルでは、ハッシュ アルゴリズムはカプセル化セキュリティ プロトコル(ESP)による認証のために使用されます。IKEv2 IPsec プロポーザルでは、これは整合性のハッシュと呼ばれます。IKEv1 IPsec プロポーザルでは、アルゴリズム名に ESP というプレフィックスだけでなく HMAC というサフィックスも付けられます(ハッシュ方式認証コードを意味する)。
IKEv2 では、複数のハッシュ アルゴリズムを設定できます。システムは、設定をセキュア度が最も高いものから最も低いものに並べ替え、その順序を使用してピアとのネゴシエーションを行います。IKEv1 では、単一のオプションのみ選択できます。
選択可能なハッシュ アルゴリズムは、次のとおりです。
-
[SHA (Secure Hash Algorithm)]:標準の SHA(SHA1)は、160 ビットのダイジェストを生成します。
IKEv2 の設定では、以下の SHA-2 オプションを指定して、より高度なセキュリティを実現できます。NSA Suite B 暗号化仕様を実装するには、次のいずれかを選択します。
-
SHA256:256 ビットのダイジェストを生成するセキュア ハッシュ アルゴリズム SHA 2 を指定します。
-
SHA384:384 ビットのダイジェストを生成するセキュア ハッシュ アルゴリズム SHA 2 を指定します。
-
SHA512:512 ビットのダイジェストを生成するセキュア ハッシュ アルゴリズム SHA 2 を指定します。
-
-
NULL またはなし(NULL、ESP-NONE):(IPsec プロポーザルのみ)NULL ハッシュ アルゴリズム。通常はテスト目的のみに使用されます。しかし、暗号化オプションとしていずれかの AES-GCM オプションを選択した場合は、NULL 整合性アルゴリズムを選択する必要があります。NULL 以外のオプションを選択した場合、これらの暗号化標準に対しては、整合性ハッシュは無視されます。
使用する Diffie-Hellman 係数グループの決定
次の Diffie-Hellman キー導出アルゴリズムを使用して、IPsec Security Association(SA:セキュリティ アソシエーション)キーを生成することができます。各グループでは、異なるサイズの係数が使用されます。係数が大きいほどセキュリティが強化されますが、処理時間が長くなります。両方のピアに、一致する係数グループが存在する必要があります。
AES 暗号化を選択する場合は、AES で必要な大きいキー サイズをサポートするために、Diffie-Hellman(DH:デフィーヘルマン)グループ 5 以降を使用する必要があります。IKEv1 ポリシーは、以下に示すすべてのグループをサポートしているわけではありません。
NSA Suite-B の暗号化の仕様を実装するには、IKEv2 を使用して楕円曲線 Diffie-Hellman(ECDH)オプション:19、20、21 のいずれか 1 つを選択します。楕円曲線オプションと、2048 ビット係数を使用するグループは、Logjam のような攻撃にさらされる可能性が低くなります。
IKEv2 では、複数のグループを設定できます。システムは、設定をセキュア度が最も高いものから最も低いものに並べ替え、その順序を使用してピアとのネゴシエーションを行います。IKEv1 では、単一のオプションのみ選択できます。
-
14:Diffie-Hellman グループ 14(2048 ビット Modular Exponential(MODP)グループ)。192 ビットのキーでは十分な保護レベルです。
-
15:Diffie-Hellman グループ 15(3072 ビット MODP グループ)。
-
16:Diffie-Hellman グループ 16(4096 ビット MODP グループ)。
-
19:Diffie-Hellman グループ 19(国立標準技術研究所(NIST)256 ビット楕円曲線モジュロプライム(ECP)グループ)。
-
20:Diffie-Hellman グループ 20(NIST 384 ビット ECP グループ)。
-
21:Diffie-Hellman グループ 21(NIST 521 ビット ECP グループ)。
-
31:Diffie-Hellman グループ 31(Curve25519 256 ビット EC グループ)。
使用する認証方式の決定
次の方法を使用して、サイト間 VPN 接続でピアを認証できます。
- 事前共有キー
-
事前共有キーは、接続内の各ピアで設定された秘密鍵文字列です。これらのキーは、IKE が認証フェーズで使用します。IKEv1 の場合は、各ピアで同じ事前共有キーを設定する必要があります。IKEv2 の場合は、各ピアに一意のキーを設定できます。
事前共有キーは、証明書に比べて拡張性がありません。多数のサイト間 VPN 接続を設定する必要がある場合は、事前共有キー方式ではなく証明書方式を使用します。
- 証明書
-
デジタル証明書は IKE キー管理メッセージの署名や暗号化に RSA キー ペアを使用します。サイト間 VPN 接続の両端を設定するときに、リモートピアがローカルピアを認証できるように、ローカルデバイスのアイデンティティ証明書を選択します。
証明書方式を使用するには、次の手順を実行する必要があります。
-
ローカルピアを認証局(CA)に登録し、デバイスアイデンティティ証明書を取得します。この証明書をデバイスにアップロードします。詳細については、「内部および内部 CA 証明書のアップロード」を参照してください。
リモートピアも担当している場合、そのピアも登録してください。ピアに同じ CA を使用すると便利ですが、必須ではありません。
自己署名証明書を使用して VPN 接続を確立することはできません。認証局でデバイスを登録する必要があります。
Windows 認証局(CA)を使用してサイト間 VPN エンドポイントの証明書を作成する場合は、アプリケーションポリシー拡張に IP セキュリティエンドシステムを指定する証明書を使用する必要があります。これは(Windows CA サーバー)の [拡張] タブにある証明書の [プロパティ(Properties)] ダイアログボックスで確認できます。この拡張のデフォルトは IP セキュリティ IKE 中間であり、Device Manager を使用して設定されたサイト間 VPN では機能しません。
-
ローカルピアのアイデンティティ証明書に署名するために使用された、信頼できる CA 証明書をアップロードします。中間 CA を使用した場合は、ルート証明書と中間証明書を含む完全なチェーンをアップロードします。詳細については、「信頼できる CA 証明書のアップロード」を参照してください。
-
リモートピアが異なる CA で登録されていた場合、リモートピアのアイデンティティ証明書に署名するために使用した信頼できる CA 証明書もアップロードします。リモートピアを制御する組織から証明書を取得します。中間 CA を使用した場合は、ルート証明書と中間証明書を含む完全なチェーンをアップロードします。
-
サイト間 VPN 接続を設定したら、証明書方式を選択し、ローカルピアのアイデンティティ証明書を選択します。接続の両端が、接続のローカル エンドの証明書を指定します。リモート ピアの証明書は指定しません。
-
VPN トポロジ
Device Manager を使用して設定できるのは、ポイントツーポイント VPN 接続のみです。すべての接続はポイントツーポイントですが、デバイスが参加する各トンネルを定義することで、より大規模なハブアンドスポーク VPN、またはメッシュ VPN にリンクできます。
次の図は、一般的なポイントツーポイントの VPN トポロジを示しています。ポイントツーポイントの VPN トポロジでは、2 つのエンドポイントが相互に直接通信します。2 つのエンドポイントをピア デバイスとして設定し、いずれかのデバイスでセキュアな接続を開始することができます。
動的にアドレス指定されたピアによるサイト間 VPN 接続の確立
ピアの IP アドレスが不明な場合でも、ピアへのサイト間 VPN 接続を作成できます。これは、次のような場合に役立ちます。
-
ピアが DHCP を使用してそのアドレスを取得した場合は、特定の静的 IP アドレスを持つリモートエンドポイントに依存することはできません。
-
不特定多数のリモートピアが、ハブアンドスポークトポロジのハブとして機能するデバイスとの接続を確立できるようにする場合。
動的にアドレス指定されたピア B へのセキュアな接続を確立する必要がある場合は、接続の終了 A にスタティック IP アドレスがあることを確認する必要があります。次に、A で接続を作成するときに、ピアのアドレスがダイナミックであることを指定します。ただし、ピア B で接続を設定する際は、リモートピアアドレスとして A の IP アドレスを入力します。
システムがサイト間 VPN 接続を確立する場合、ピアがダイナミックアドレスを持つすべての接続は応答のみとなります。つまり、リモートピアは接続を開始するものである必要があります。リモートピアが接続を確立しようとすると、デバイスは事前共有キーまたは証明書(接続で定義されているいずれかの方式)を使用して接続を検証します。
VPN 接続はリモートピアが接続を開始した後にのみ確立されるため、VPN トンネルのトラフィックを許可するアクセス制御ルールに一致するすべての発信トラフィックは、接続が確立されるまでドロップされます。これにより、適切な暗号化と VPN 保護のないデータがネットワークから流出しないようになります。
仮想トンネルインターフェイスとルートベースの VPN
従来は、VPN トンネルを介して暗号化される特定のローカルネットワークとリモートネットワークを定義することにより、サイト間 VPN 接続を設定していました。これらは、VPN 接続プロファイルの一部である暗号マップで定義されます。このタイプのサイト間 VPN は、ポリシーベースと呼ばれます。
また、ルートベースのサイト間 VPN を設定することもできます。この場合は、仮想トンネルインターフェイス(VTI)を作成します。これは、特定の物理インターフェイス(通常、外部インターフェイス)に関連付けられた仮想インターフェイスです。その後、ルーティングテーブルと静的ルートおよび動的ルートを使用して、目的のトラフィックを VTI に転送します。VTI(出力)を介してルーティングされるトラフィックは、VTI 用に設定した VPN トンネルを介して暗号化されます。
そのため、ルートベースのサイト間 VPN を使用すると、VPN 接続プロファイルを一切変更することなく、ルーティングテーブルを変更するだけで、特定の VPN 接続で保護されたネットワークを管理できます。リモートネットワークの追跡を継続し、前述の変更に対応して VPN 接続プロファイルを更新する必要はありません。その結果、クラウド サービス プロバイダーや大企業の VPN 管理が簡素化されます。
さらに、VTI のアクセス制御ルールを作成して、トンネルで許可されるトラフィックのタイプを微調整できます。たとえば、侵入検査や、URL およびアプリケーション フィルタリングを適用できます。
ルートベースの VPN を設定するためのプロセスの概要
概要として、ルートベースのサイト間 VPN をセットアップするプロセスには、次の手順が含まれます。
手順
ステップ 1 |
ローカルエンドポイントの IKEv1/2 ポリシーと IPsec プロポーザルを作成します。 |
ステップ 2 |
リモートピアに面する物理インターフェイスに関連付けられた仮想トンネルインターフェイス(VTI)を作成します。 |
ステップ 3 |
VTI、IKE ポリシー、および IPsec プロポーザルを使用するサイト間 VPN 接続プロファイルを作成します。 |
ステップ 4 |
リモートピア(およびリモート VTI)に同じ IKE および IPsec プロポーザルを作成し、このローカル VTI をリモートエンドポイントとして指定(リモートピアの観点から)するサイト間 VPN 接続プロファイルを作成します。 |
ステップ 5 |
トンネルを介して適切なトラフィックを送信するために、両方のピアでルートとアクセス制御ルールを作成します。 両方向のトラフィックフローを可能にするために、各エンドポイントのルートとアクセス制御が相互にミラーリングされていることを確認してください。 静的ルートには、次のような一般的特性があります。
|
仮想トンネルインターフェイスとルートベースの VPN に関するガイドライン
IPv6 のガイドライン
仮想トンネルインターフェイスは IPv4 アドレスのみをサポートしています。VTI で IPv6 アドレスを設定することはできません。
追加のガイドライン
-
最大 1024 個の VTI を作成できます。
-
VTI ルートベース VPN では、リバース ルート インジェクション(静的または動的)を設定できません(リバース ルート インジェクションは Threat Defense API のみを使用して設定可能)。
-
VTI をローカルインターフェイスとして選択する場合は、動的ピアアドレスを設定できません。
-
VTI をローカルインターフェイスとして選択する場合は、リモートバックアップピアを設定できません。
-
カスタム仮想ルータに割り当てられている送信元インターフェイスに VTI を作成することはできません。仮想ルータを使用する場合、グローバル仮想ルータのインターフェイスのみで、VTI を設定できます。
-
IKE および IPsec のセキュリティ アソシエーションには、トンネル内のデータ トラフィックに関係なく、継続的にキーの再生成が行われます。これにより、VTI トンネルは常にアップした状態になります。
-
ルートベースの接続プロファイルで IKEv1 と IKEv2 の両方を設定することはできません。1 つのバージョンの IKE のみを設定する必要があります。
-
暗号マップに設定されるピアアドレスと VTI のトンネル宛先が異なる場合は、同じ物理インターフェイスで異なる VTI およびポリシーベース(暗号マップ)設定を指定できます。
-
VTI を介してサポートされるのは BGP ルーティングプロトコルだけです。
-
システムが IOS IKEv2 VTI クライアントを終端している場合は、IOS VTI クライアントによって開始されたセッションのモード CFG 属性をシステムが取得できないため、IOS での設定交換要求を無効にします。
-
ルートベースのサイト間 VPN は双方向として設定されます。つまり、VPN トンネルのどちらのエンドポイントでも接続を開始できます。接続プロファイルを作成したら、このエンドポイントを唯一のイニシエータ(INITIATE_ONLY)に変更するか排他的にレスポンダ(RESPOND_ONLY)に変更することができます。必ず、補完的な接続タイプを使用するようにリモートエンドポイントを変更してください。この変更を行うには、API エクスプローラに移動し、GET /devices/default/s2sconnectionprofiles を使用して接続プロファイルを見つける必要があります。その後、本文の内容をコピーして PUT /devices/default/s2sconnectionprofiles/{objId} メソッドに貼り付け、[connectionType] を更新して目的のタイプを指定して、メソッドを実行します。
IPsec フローのオフロード
IPsec フローのオフロードを使用するように、サポートするデバイスモデルを設定できます。IPsec サイト間 VPN またはリモートアクセス VPN セキュリティ アソシエーション (SA) の初期設定後、IPsec 接続はデバイスのフィールド プログラマブル ゲート アレイ (FPGA) にオフロードされるため、デバイスのパフォーマンスが向上します。
オフロード操作は、特に、入力の事前復号および復号処理と出力の事前暗号化および暗号化処理に関連しています。システムソフトウェアは、セキュリティポリシーを適用するための内部フローを処理します。
IPsec フローのオフロードはデフォルトで有効になっており、次のデバイスタイプに適用されます。
-
Cisco Secure Firewall 3100
IPsec フローのオフロードに関する制約事項
次の IPsec フローはオフロードされません。
-
IKEv1 トンネル。IKEv2 トンネルのみがオフロードされます。IKEv2 は、より強力な暗号をサポートしています。
-
ボリュームベースのキー再生成が設定されているフロー。
-
圧縮が設定されているフロー。
-
トランスポートモードのフロー。トンネルモードのフローのみがオフロードされます。
-
AH 形式。ESP/NAT-T 形式のみがサポートされます。
-
ポストフラグメンテーションが設定されているフロー。
-
64 ビット以外のアンチリプレイ ウィンドウ サイズを持ち、アンチリプレイが無効になっていないフロー。
-
ファイアウォールフィルタが有効になっているフロー。
IPsec フローのオフロードの設定
IPsec フローのオフロードは、この機能をサポートするハードウェア プラットフォームではデフォルトで有効になっています。設定を変更するには、FlexConfig を使用して flow-offload-ipsec コマンドを実装します。このコマンドの詳細については、ASA コマンドリファレンスを参照してください。