VPN の基本
トンネリングは、インターネットなどのパブリック TCP/IP ネットワークを使用して、リモート ユーザと企業ネットワークとの間でセキュアな接続を構築することを可能にします。それぞれのセキュアな接続は、トンネルと呼ばれます。
IPsec ベースの VPN テクノロジーは、Internet Security Association and Key Management Protocol(ISAKMP または IKE)と IPsec トンネリング標準を使用して、トンネルの構築と管理を行います。ISAKMP と IPsec は、次の処理を実行できます。
-
トンネル パラメータのネゴシエーション。
-
トンネルの確立。
-
ユーザとデータの認証。
-
セキュリティ キーの管理。
-
データの暗号化と復号。
-
トンネル経由のデータ転送の管理。
-
トンネル エンドポイントまたはルータとしての着信と発信のデータ転送の管理。
VPN 内のデバイスは、双方向のトンネル エンドポイントとして機能します。プライベート ネットワークからプレーン パケットを受信してカプセル化し、トンネルを作成して、カプセル化したパケットをトンネルのもう一方の終端に送信します。トンネルの終端では、パケットのカプセル化が解除されて最終的な宛先に送信されます。また、カプセル化されたパケットをパブリック ネットワークから受信してカプセル化を解除し、プライベート ネットワーク上の最終的な宛先に送信します。
サイト間 VPN 接続が確立されると、ローカル ゲートウェイの背後にあるホストが、セキュアな VPN トンネルを介してリモート ゲートウェイの背後にあるホストに接続します。接続は、2 つのゲートウェイの IP アドレスとホスト名、それらの背後のサブネット、2 つのゲートウェイが相互認証に使用する方式で構成されます。
Internet Key Exchange(IKE)
インターネット キー交換(IKE)は、IPsec ピアの認証、IPsec 暗号キーのネゴシエーションと配布、および セキュリティ アソシエーション(SAs)の自動的な確立に使用されるキー管理プロトコルです。
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 ネゴシエーション用の暗号化方式。
-
送信者を特定し、搬送中にメッセージが変更されていないことを保証するハッシュ メッセージ 認証コード(HMAC)方式(IKEv2 では整合性アルゴリズムと呼ばれます)。
-
IKEv2 では、別個の疑似乱数関数(PRF)をアルゴリズムとして使用して、IKEv2 トンネルの暗号化に必要なキー関連情報とハッシュ操作を取得していました。オプションは、ハッシュ アルゴリズムに使用されるものと同じです。
-
暗号キー決定アルゴリズムの強度を決定する Diffie-Hellman グループ。デバイスは、このアルゴリズムを使用して、暗号キーとハッシュ キーを導き出します。
-
ピアの ID を保証するための認証方式。
-
デバイスが暗号化キーを交換するまでに使用できる時間制限。
IKE ネゴシエーションが開始されると、そのネゴシエーションを開始したピアが、有効ポリシーすべてをリモート ピアに送信します。リモート ピアは所有するポリシーで一致するものを優先順位順に検索します。暗号化、ハッシュ(IKEv2 の場合、整合性と PRF)、認証、および Diffie-Hellma 値が同じで、SA ライフタイムが、送信されたポリシーのライフタイム以下の場合には、IKE ポリシー間に一致が存在します。ライフタイムが等しくない場合は、リモート ピア ポリシーから取得した短い方のライフタイムが適用されます。デフォルトでは、DES を使用した単純な IKE ポリシーが唯一の有効ポリシーです。より高い優先順位で他の IKE ポリシーを有効にして、より強力な暗号化標準をネゴシエートできますが、DES ポリシーはネゴシエーションを成功させる必要があります。
VPN 接続をセキュアにする方法
通常、VPN トンネルはインターネットなどのパブリック ネットワークを通過するため、トラフィックを保護するために接続を暗号化する必要があります。IKE ポリシーと IPsec プロポーザルの使用を適用するために、暗号化とその他のセキュリティ テクニックを定義します。
デバイス ライセンスで強力な暗号化の適用が可能な場合は、さまざまな暗号化アルゴリズム、ハッシュ アルゴリズム、Diffie-Hellman グループから選択することができます。ただし、一般的なルールとして、トンネルに適用する暗号化が強力なほど、システム パフォーマンスは低下します。効率を犠牲にすることなく十分な保護を提供するようにセキュリティとパフォーマンスのバランスを取る必要があります。
オプションの選択肢に関する特定のガイダンスを示すことはできませんが、大規模な企業や組織で運用する場合は、すでに標準が定義されていることがあります。そうでない場合は、時間をかけてオプションを検討してください。
ここでは、使用可能なオプションについて説明します。
使用する暗号化アルゴリズムの決定
IKE ポリシーまたは IPsec プロポーザルで使用する暗号化アルゴリズムを決定する場合は、選択肢が VPN 内のデバイスによってサポートされているアルゴリズムに限られます。
IKEv2 の場合は、複数の暗号化アルゴリズムを設定できます。システムは、設定をセキュア度が最も高いものから最も低いものの順に並べ、その順序を使用してピアとのネゴシエーションを行います。IKEv1 の場合は、1 つのオプションしか選択できません。
IPsec プロポーザルの場合、このアルゴリズムはカプセル化セキュリティ プロトコル(ESP)で使用されます。これは、認証サービス、暗号化サービス、アンチリプレイ サービスを提供します。ESP は、IP プロトコル タイプ 50 です。IKEv1 IPsec プロポーザルでは、アルゴリズム名の先頭に ESP- が付けられます。
デバイス ライセンスが強力な暗号化に対応している場合は、次の暗号化アルゴリズムの中から選択できます。強力な暗号化の対象ではない場合、DES のみ選択できます。
![]() (注) |
強力な暗号化の対象である場合、評価ライセンスをスマートライセンスにアップグレードする前に、暗号化アルゴリズムを確認および更新して暗号化を強化し、VPN 設定が適切に機能するようにしてください。AES ベースのアルゴリズムを選択します。強力な暗号化をサポートするアカウントを使用して登録されている場合、DES はサポートされません。登録後は、DES の使用対象をすべて削除するまで変更を展開できません。 |
-
AES-GCM—(IKEv2 のみ)ガロア/カウンタ モードの 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 ビットのキーを使用して暗号化するデータ暗号化規格(Data Encryption Standard)は、対称秘密キー ブロック アルゴリズムです。ライセンスアカウントが輸出規制の要件を満たしていない場合、これは唯一のオプションです。
-
NULL、ESP-NULL:使用しないでください。NULL 暗号化アルゴリズムは、暗号化を使用しない認証を提供します。これは、ほとんどのプラットフォームでサポートされていません。
使用するハッシュ アルゴリズムの決定
IKE ポリシーでは、ハッシュ アルゴリズムがメッセージ ダイジェストを作成します。これは、メッセージの整合性を保証するために使用されます。IKEv2 では、ハッシュ アルゴリズムは 2 つのオプション(整合性アルゴリズム用に 1 つと Pseudo-Random Function(PRF; 疑似乱数関数)用に 1 つ)に分かれています。
IPsec プロポーザルでは、ハッシュ アルゴリズムが、認証用のカプセル化セキュリティ プロトコル(ESP)で用されます。IKEv2 IPsec プロポーザルでは、これが整合性ハッシュと呼ばれています。IKEv1 IPsec プロポーザルでは、アルゴリズム名の先頭に ESP- が付けられ、末尾に -HMAC(「ハッシュ法認証コード」を意味する)が付けられます。
IKEv2 の場合は、複数のハッシュ アルゴリズムを設定できます。システムは、設定をセキュア度が最も高いものから最も低いものの順に並べ、その順序を使用してピアとのネゴシエーションを行います。IKEv1 の場合は、1 つのオプションしか選択できません。
次のハッシュ アルゴリズムから選択できます。
-
[SHA (Secure Hash Algorithm)]:標準の SHA(SHA1)は、160 ビットのダイジェストを生成します。
よりセキュアな次の SHA-2 オプションを IKEv2 設定に使用できます。NSA Suite B 暗号化仕様を実装する場合は、次のいずれかを選択します。
-
SHA256:256 ビットのダイジェストでセキュア ハッシュ アルゴリズム SHA 2 を指定します。
-
SHA384:384 ビットのダイジェストでセキュア ハッシュ アルゴリズム SHA 2 を指定します。
-
SHA512:512 ビットのダイジェストでセキュア ハッシュ アルゴリズム SHA 2 を指定します。
-
-
ヌルまたはなし(NULL、ESP-NONE):(IPsec プロポーザルのみ)。ヌル ハッシュ アルゴリズムは、通常、テスト目的にのみ使用されます。しかし、暗号化オプションとしていずれかの AES-GCM オプションを選択した場合は、NULL 整合性アルゴリズムを選択する必要があります。ヌル以外のオプションを選択した場合でも、これらの暗号化標準では整合性ハッシュは無視されます。
使用する Diffie-Hellman 係数グループの決定
次の Diffie-Hellman キー導出アルゴリズムを使用して、IPsec セキュリティ アソシエーション(SA)キーを生成することができます。各グループでは、異なるサイズの係数が使用されます。係数が大きいほどセキュリティが強化されますが、処理時間が長くなります。両方のピアに、一致する係数グループが存在する必要があります。
AES 暗号化を選択した場合は、AES に必要な大きいキー サイズをサポートするために、Diffie-Hellman(DH)グループ 5 以上を使用する必要があります。IKEv1 ポリシーは、以下に示すすべてのグループをサポートしているわけではありません。
NSA Suite B 暗号化仕様を実装するには、IKEv2 を使用し、楕円曲線 Diffie-Hellman(ECDH)オプション(19、20、または 21)のいずれかを選択します。2048 ビット係数を使用した楕円曲線オプションとグループは、Logjam などの攻撃に耐性があります。
IKEv2 の場合は、複数のグループを設定できます。システムは、設定をセキュア度が最も高いものから最も低いものの順に並べ、その順序を使用してピアとのネゴシエーションを行います。IKEv1 の場合は、1 つのオプションしか選択できません。
-
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サーバ)の[拡張]タブにある証明書の[プロパティ]ダイアログボックスで確認できます。この拡張のデフォルトは 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) にオフロードされるため、デバイスのパフォーマンスが向上します。Cisco Secure Firewall 1200 シリーズでは、デバイスのパフォーマンスを向上させるために、IPsec 接続が Marvell Cryptographic Accelerator(CPT)にオフロードされます。
オフロード操作は、特に、入力の事前復号および復号処理と出力の事前暗号化および暗号化処理に関連しています。システムソフトウェアは、セキュリティポリシーを適用するための内部フローを処理します。
IPsec フローのオフロードはデフォルトで有効になっており、次のデバイスタイプに適用されます。
-
Cisco Secure Firewall 1200
-
Cisco Secure Firewall 3100
IPsec フローのオフロードに関する制約事項
次の IPsec フローはオフロードされません。
-
IKEv1 トンネル。IKEv2 トンネルのみがオフロードされます。IKEv2 は、より強力な暗号をサポートしています。
-
ボリュームベースのキー再生成が設定されているフロー。
-
圧縮が設定されているフロー。
-
トランスポートモードのフロー。トンネルモードのフローのみがオフロードされます。
-
AH 形式。ESP/NAT-T 形式のみがサポートされます。
-
ポストフラグメンテーションが設定されているフロー。
-
64 ビット以外のアンチリプレイ ウィンドウ サイズを持ち、アンチリプレイが無効になっていないフロー。
-
ファイアウォールフィルタが有効になっているフロー。
IPsec フローのオフロードの設定
IPsec フローのオフロードは、この機能をサポートするハードウェア プラットフォームではデフォルトで有効になっています。設定を変更するには、FlexConfig を使用して flow-offload-ipsec コマンドを実装します。このコマンドの詳細については、ASA コマンドリファレンスを参照してください。