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 のみ選択できます。
-
AES-GCM—(IKEv2 のみ)Galois/カウンタ モードの Advanced Encryption Standard は、機密性、データの発信元の認証を提供する操作のブロック暗号モードであり、AES よりも優れたセキュリティを提供します。AES-GCM には、128 ビット、192 ビット、256 ビットの 3 種類のキー強度が用意されています。キーが長いほど安全になりますが、パフォーマンスは低下します。GCM は NSA Suite B をサポートするために必要となる AES モードです。NSA Suite B は、暗号化強度に関する連邦標準規格を満たすためにデバイスがサポートすべき一連の暗号化アルゴリズムです。.
-
AES-GMAC—(IKEv2 IPsec プロポーザルのみ)。Advanced Encryption Standard のガロア メッセージ認証コード(GMAC)は、データ発信元認証だけを行う操作のブロック暗号モードです。これは AES-GCM の一種であり、データを暗号化せずにデータ認証が行えます。AES-GMAC には、128 ビット、192 ビット、256 ビットの 3 種類のキー強度が用意されています。
-
AES(Advanced Encryption Standard)は DES よりも高度なセキュリティを提供する対称暗号化アルゴリズムであり、計算的には 3DES よりも効率的です。AES には、128 ビット、192 ビット、256 ビットの 3 種類のキー強度が用意されています。キーが長いほど安全になりますが、パフォーマンスは低下します。
-
3DES(トリプル DES):56 ビット キーを使用して暗号化を 3 回行います。異なるキーを使用してデータの各ブロックを 3 回処理するため、DES よりも安全です。ただし、使用するシステム リソースが多くなり、DES よりも速度が遅くなります。
-
DES(データ暗号化標準):56 ビット キーを使用して暗号化する対称秘密鍵ブロック アルゴリズムです。ライセンスアカウントが輸出規制の要件を満たしていない場合、これは唯一のオプションです。3DES よりも高速であり、使用するシステム リソースも少ないですが、安全性も劣ります。堅牢なデータ機密保持が必要ない場合、およびシステム リソースや速度が重要である場合には、DES を選択します。
-
Null:ヌル暗号化アルゴリズムは暗号化なしで認証します。通常はテスト目的にのみ使用されます。
使用するハッシュ アルゴリズムの決定
IKE ポリシーでは、ハッシュ アルゴリズムがメッセージ ダイジェストを作成します。これは、メッセージの整合性を保証するために使用されます。IKEv2 では、ハッシュ アルゴリズムは 2 つのオプションに分かれています。1 つは整合性アルゴリズムに使用され、もう 1 つは擬似乱数関数(PRF)に使用されます。
IPsec プロポーザルでは、ハッシュ アルゴリズムはカプセル化セキュリティ プロトコル(ESP)による認証のために使用されます。IKEv2 IPsec プロポーザルでは、これは整合性のハッシュと呼ばれます。IKEv1 IPsec プロポーザルでは、アルゴリズム名に ESP というプレフィックスだけでなく HMAC というサフィックスも付けられます(ハッシュ方式認証コードを意味する)。
IKEv2 では、複数のハッシュ アルゴリズムを設定できます。システムは、設定をセキュア度が最も高いものから最も低いものに並べ替え、その順序を使用してピアとのネゴシエーションを行います。IKEv1 では、単一のオプションのみ選択できます。
選択可能なハッシュ アルゴリズムは、次のとおりです。
-
[SHA(Secure Hash Algorithm)]:標準 SHA(SHAI)が 160 ビットのダイジェストを生成します。SHA には、総当たり攻撃に対して、MD5 よりも高い耐性が備えられています。ただし、SHA は MD5 よりもリソース消費量が大きくなります。最大レベルのセキュリティを必要とする実装には、SHA ハッシュ アルゴリズムを使用してください。
IKEv2 の設定では、以下の SHA-2 オプションを指定して、より高度なセキュリティを実現できます。NSA Suite B 暗号化仕様を実装するには、次のいずれかを選択します。
-
SHA256:256 ビットのダイジェストを生成するセキュア ハッシュ アルゴリズム SHA 2 を指定します。
-
SHA384:384 ビットのダイジェストを生成するセキュア ハッシュ アルゴリズム SHA 2 を指定します。
-
SHA512:512 ビットのダイジェストを生成するセキュア ハッシュ アルゴリズム SHA 2 を指定します。
-
-
MD5 (Message Digest 5):128 ビットのダイジェストを生成します。MD5 は処理時間が短いため、全体的なパフォーマンスが SHA より高速ですが、SHA より強度は低いと考えられています。
-
NULL またはなし(NULL、ESP-NONE):(IPsec プロポーザルのみ)NULL ハッシュ アルゴリズム。通常はテスト目的のみに使用されます。ただし、暗号化アルゴリズムとして AES-GCM/GMAC オプションのいずれかを選択した場合は、ヌル整合性アルゴリズムを選択する必要があります。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 では、単一のオプションのみ選択できます。
-
2:Diffie-Hellman グループ 2(1024 ビット Modular Exponential(MODP)グループ)。このオプションは優れた保護とは見なされなくなりました。
-
5:Diffie-Hellman グループ 5(1536 ビット MODP グループ)。以前は 128 ビット キーに対する優れた保護と見なされていましたが、このオプションは優れた保護と見なされなくなりました。
-
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 グループ)。
-
24:Diffie-Hellman グループ 24(2048 ビット MODP グループおよび 256 素数位数サブグループ)。このオプションは推奨されなくなりました。
使用する認証方式の決定
次の方法を使用して、サイト間 VPN 接続でピアを認証することもできます。
- 事前共有キー
-
事前共有キーは、接続内のそれぞれのピアに設定されている秘密鍵の文字列です。これらのキーは、認証フェーズ中に IKE によって使用されます。IKEv1 の場合は、それぞれのピアで同じ事前共有キーを設定する必要があります。IKEv2 の場合は、各ピアに一意のキーを設定できます。
事前共有キーは証明書と比べて拡張性に劣ります。多数のサイト間 VPN 接続を設定する必要がある場合は、事前共有キー方式ではなく証明書方式を使用します。
- 証明書
-
デジタル証明書は IKE キー管理メッセージの署名や暗号化に RSA キー ペアを使用します。サイト間 VPN 接続の両端を設定するときに、リモートピアがローカルピアを認証できるように、ローカルデバイスのアイデンティティ証明書を選択します。
証明書方式を使用するには、次を実行する必要があります。
-
ローカルピアを認証局(CA)に登録し、デバイスアイデンティティ証明書を取得します。この証明書をデバイスにアップロードします。詳細については、内部および内部 CA 証明書のアップロードを参照してください。
リモートピアも担当している場合、そのピアも登録してください。ピアに同じ CA を使用することは便利ですが、必須ではありません。
VPN 接続を確立するために自己署名証明書を使用することはできません。認証局でデバイスを登録する必要があります。
Windows 認証局(CA)を使用してサイト間 VPN エンドポイントの証明書を作成する場合は、アプリケーション ポリシー拡張に IP セキュリティ エンド システムを指定する証明書を使用する必要があります。これは、[拡張(Extensions)] タブ(Windows CA サーバ)の証明書の [プロパティ(Properties)] ダイアログボックスで確認できます。この拡張機能のデフォルトは、IP セキュリティ IKE 中間ですが、これは FDM を使用して設定されたサイト間 VPN では機能しません。
-
ローカルピアのアイデンティティ証明書に署名するために使用された、信頼できる CA 証明書をアップロードします。中間 CA が使用されていた場合は、ルートおよび中間証明書を含むチェーン全体をアップロードします。詳細については、信頼できる CA 証明書のアップロードを参照してください。
-
リモートピアが異なる CA で登録されていた場合、リモートピアのアイデンティティ証明書に署名するために使用した信頼できる CA 証明書もアップロードします。リモートピアを制御する組織から証明書を取得します。中間 CA が使用されていた場合は、ルートおよび中間証明書を含むチェーン全体をアップロードします。
-
サイト間 VPN 接続を設定したら、証明書方式を選択し、ローカルピアのアイデンティティ証明書を選択します。接続の両端が、接続のローカル エンドの証明書を指定します。リモート ピアの証明書は指定しません。
-
VPN トポロジ
Firepower 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 保護のないデータがネットワークから流出しないようになります。