Cisco ASA 5500 シリーズ/Cisco PIX 500 シリーズ Cisco セキュリティ アプライアンス コマンド ライン コンフィギュレーション ガイド Version 7.1(1)
IPSec と ISAKMP の設定
IPSec と ISAKMP の設定
発行日;2012/02/03 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 6MB) | フィードバック

目次

IPSec と ISAKMP の設定

トンネリングの概要

IPSec の概要

ISAKMP の設定

ISAKMP の概要

ISAKMP ポリシーの設定

外部インターフェイスでの ISAKMP のイネーブル化

Aggressive モードでの ISAKMP のディセーブル化

ISAKMP ピアの識別方式の決定

IPSec over NAT-T のイネーブル化

NAT-T の使用

IPSec over TCP のイネーブル化

リブートの前にアクティブ セッションの終了を待機

接続解除の前にピアに警告する

証明書グループ照合の設定

証明書グループ照合の規則とポリシーの作成

tunnel-group-map default-group コマンドの使用

IPSec の設定

IPSec トンネルの理解

トランスフォーム セットの概要

暗号マップの定義

インターフェイスへの暗号マップの適用

インターフェイス アクセスリストの使用

IPSec SA のライフタイムの変更

基本的な IPSec コンフィギュレーションの作成

ダイナミック暗号マップの使用

サイトツーサイト冗長性の定義

IPSec コンフィギュレーションの表示

セキュリティ アソシエーションのクリア

暗号マップ コンフィギュレーションのクリア

IPSec と ISAKMP の設定

この章では、バーチャル プライベート ネットワークを構築するための IPSec と ISAKMP の標準の設定方法について説明します。ここでは、次の項目について説明します。

「トンネリングの概要」

「IPSec の概要」

「ISAKMP の設定」

「証明書グループ照合の設定」

「IPSec の設定」

「セキュリティ アソシエーションのクリア」

「暗号マップ コンフィギュレーションのクリア」

トンネリングの概要

トンネリングは、インターネットなどのパブリック TCP/IP ネットワークを使用して、リモート ユーザとプライベートな企業ネットワークとの間でセキュアな接続を構築することを可能にします。それぞれのセキュアな接続は、トンネルと呼ばれます。

セキュリティ アプライアンスは、ISAKMP と IPSec のトンネリング標準を使用してトンネルの構築と管理を行っています。ISAKMP と IPSec は、次の処理を実行できます。

トンネル パラメータのネゴシエーション

トンネルの確立

ユーザとデータの認証

セキュリティ キーの管理

データの暗号化と復号化

トンネル経由のデータ転送の管理

トンネル エンドポイントまたはルータとしての着信と発信のデータ転送の管理

セキュリティ アプライアンスは、双方向のトンネル エンドポイントとして機能します。プライベート ネットワークからプレーン パケットを受信してカプセル化し、トンネルを作成して、カプセル化したパケットをトンネルのもう一方の終端に送信します。トンネルの終端では、パケットのカプセル化が解除されて最終的な宛先に送信されます。また、カプセル化されたパケットをパブリック ネットワークから受信してカプセル化を解除し、プライベート ネットワーク上の最終的な宛先に送信します。

IPSec の概要

最もセキュアなプロトコルであるとされている IPSec は、VPN トンネルの最も完全なアーキテクチャを提供します。IPSec は、ネットワーク内のデータを権限のないビューや修正から保護するため、およびデータがパブリック インターネットなどの保護されていないネットワークを通して転送されたときのために、認証サービスおよび暗号化サービスを提供します。当社の IPSec 標準の実装では、ESP セキュリティ プロトコルを使用して認証サービス、暗号化サービス、リプレイ攻撃防止サービスを提供しています。

セキュリティ アプライアンスは、次の 2 種類のコンフィギュレーションで IPSec を実装します。

LAN-to-LAN コンフィギュレーションは、2 つの IPSec セキュリティ ゲートウェイ間、たとえばセキュリティ アプライアンス装置やその他のプロトコル準拠の VPN デバイスのコンフィギュレーションです。LAN-to-LAN VPN は、地理的に異なる場所にあるネットワークを接続します。

リモートアクセス コンフィギュレーションは、セキュアなリモートアクセスをモバイル ユーザなどの Cisco VPN クライアントに提供します。リモートアクセス VPN を使用することで、リモート ユーザは中央集中型ネットワーク リソースに安全にアクセスできます。Cisco VPN クライアントは IPSec プロトコルに準拠し、特にセキュリティ アプライアンスと連携して動作するように設計されています。一方、セキュリティ アプライアンスは、さまざまなプロトコル準拠クライアントとの IPSec 接続を確立できます。

IPSec LAN-to-LAN 接続では、セキュリティ アプライアンスは発信側または応答側として機能します。IPSec リモートアクセス接続では、セキュリティ アプライアンスは応答側としてだけ機能します。発信側は SA を提案し、応答側は、設定されたセキュリティ アソシエーション(SA)パラメータに従って、SA の提示を受け入れるか、拒否するか、または対案を提示します。接続を確立するには、両方のエンティティで SA が一致する必要があります。

IPSec 用語では、ピアとは、リモートアクセス クライアントまたは別のセキュアなゲートウェイを意味します。

ISAKMP の設定

この項では、Internet Key Exchange(IKE; インターネット キー エクスチェンジ)プロトコルについて説明します。このプロトコルは Internet Security Association and Key Management Protocol とも呼ばれます。セキュリティ アプライアンスの IKE コマンドは、ISAKMP をキーワードとして使用します。このマニュアルでも同様です。ISAKMP は、IPSec と連携することで、VPN をよりスケーラブルなものにします。ここでは、次の項目について説明します。

「ISAKMP の概要」

「ISAKMP ポリシーの設定」

「外部インターフェイスでの ISAKMP のイネーブル化」

「Aggressive モードでの ISAKMP のディセーブル化」

「ISAKMP ピアの識別方式の決定」

「IPSec over NAT-T のイネーブル化」

「IPSec over TCP のイネーブル化」

「リブートの前にアクティブ セッションの終了を待機」

「接続解除の前にピアに警告する」

ISAKMP の概要

IKE は ISAKMP とも呼ばれ、2 台のホストで IPSec セキュリティ アソシエーションの構築方法を一致させるためのネゴシエーション プロトコルです。ISAKMP のネゴシエーションは 2 つのフェーズ(フェーズ 1 とフェーズ 2)に分かれています。

フェーズ 1 は、以後の ISAKMP ネゴシエーション メッセージを保護する最初のトンネルを作成します。フェーズ 2 は、データを保護するトンネルを作成します。

ISAKMP ネゴシエーションの条件を設定するには、以下を含む ISAKMP ポリシーを作成します。

ピアの ID を確認する認証方式。

データを保護し、プライバシーを守る暗号化方式。

送信者を特定し、搬送中にメッセージが変更されていないこと保証する Hashed Message Authentication Code(HMAC)方式。

暗号キー決定アルゴリズムの強度を決定する Diffie-Hellman グループ。このアルゴリズムを使用して、セキュリティ アプライアンスは暗号キーとハッシュ キーを導出します。

セキュリティ アプライアンスが暗号キーを置き換える前に、この暗号キーを使用する最長時間の制限。

表24-1 に、ISAKMP ポリシー キーワードとそれらの値を示します。

 

表24-1 CLI コマンド用の ISAKMP ポリシー キーワード

コマンド
キーワード
意味
説明

isakmp policy authentication

rsa-sig

RSA シグニチャ アルゴリズムによって生成されたキー付きのデジタル証明書

各 IPSec ピアの ID を確立するためにセキュリティ アプライアンスが使用する認証方式を指定します。

dsa-sig

DSA シグニチャ アルゴリズムによって生成されたキー付きのデジタル証明書

認証方式として、デジタル署名アルゴリズムのシグニチャを指定します。

pre-share

(デフォルト)

事前共有キー

事前共有キーは拡大するネットワークに対応して拡張が困難ですが、小規模ネットワークではセットアップが容易です。

isakmp policy encryption

des

3des(デフォルト)

56 ビット DES-CBC

168 ビット Triple DES

2 つの IPSec ピア間で伝送されるユーザ データを保護する対称暗号化アルゴリズムを指定します。デフォルトは 168 ビット Triple DES です。

aes
aes-192
aes-256

Advanced Encryption Standard(AES; 高度暗号規格)は、128 ビット、192 ビット、256 ビットの長さのキーをサポートしています。

isakmp policy hash

sha(デフォルト)

SHA-1(HMAC バリアント)

データ整合性の確保のために使用するハッシュ アルゴリズムを指定します。パケットがそのパケットに記されている発信元から発信されたこと、また搬送中に変更されていないことを保証します。

md5

MD5(HMAC バリアント)

デフォルト値は SHA-1 です。MD5 は、SHA-1 よりもダイジェストが小さく、わずかに速いとされています。しかし、MD5 に対する攻撃が成功(これは非常に困難)しても、IKE が使用する HMAC バリアントがこの攻撃を防ぎます。

isakmp policy group

1

Group 1(768 ビット)

Diffie-Hellman グループ ID を指定します。この ID は、2 つの IPSec ピアが、相互に共有秘密情報を転送するのではなく、共有秘密情報を取り出すために使用します。

グループ 7 以外は、Diffie-Hellman グループ番号が小さいほど、実行に必要な CPU 時間も少なくなります。Diffie-Hellman のグループ番号が大きいほど、セキュリティも高くなります。

Cisco VPN クライアント バージョン 3.x 以降では、少なくともグループ 2 が必要です(DH グループ 1 を設定すると、Cisco VPN クライアントは接続できません)。

AES は、VPN-3DES のライセンスがあるセキュリティ アプライアンスに限りサポートされます。AES で必要なより大きいキー長をサポートするには、ISAKMP ネゴシエーションで
Diffie-Hellman(DH)のグループ 5 を使用する必要があります。

グループ 7 は、PDA や携帯電話など処理能力の低いデバイス用に設計されていて、最高のセキュリティを提供します。Certicom Movian クライアントにはグループ 7 が必要です。

2(デフォルト)

Group 2(1024 ビット)

5

Group 5(1536 ビット)

7

グループ 7(楕円曲線フィールドのサイズが 163 ビット)

isakmp policy lifetime

整数値

(86400 = デフォルト)

120 ~ 2147483647 秒

SA ライフタイムを指定します。デフォルトは 86,400 秒、つまり 24 時間です。原則として、ライフタイムが短いほど、ISAKMP ネゴシエーションの安全性は(ある程度まで)高くなります。ただし、ライフタイムが短いほど、セキュリティ アプライアンスによる IPSec SA のセットアップ機能が高速になります。

各コンフィギュレーションは最大 20 個の ISAKMP ポリシーをサポートし、ポリシーごとに値セットが異なります。作成するポリシーごとに一意のプライオリティを割り当てます。プライオリティ番号が小さいほど、プライオリティが高くなります。

ISAKMP ネゴシエーションが始まると、ネゴシエーションを開始したピアはそのすべてのポリシーをリモート ピアに送信し、リモート ピアは一致するポリシーを探します。リモート ピアは、一致するポリシーを見つけるまで、設定済みのポリシーに対してピアのすべてのポリシーを 1 つずつプライオリティ順に(最も高いプライオリティから)照合します。

2 つのピアのポリシーの両方に、同一の暗号化、ハッシュ、認証、および Diffie-Hellman パラメータ値が含まれ、さらにリモート ピアのポリシーで指定されているライフタイムが、発信側が送信したポリシーのライフタイム以下である場合、一致しているとされます。ライフタイムが等しくない場合、セキュリティ アプライアンスは短い方のライフタイムを使用します。一致するポリシーがない場合、ISAKMP はネゴシエーションを拒否し、SA は確立されません。

各パラメータに対して特定の値を選択するときは、セキュリティとパフォーマンスの間に暗黙のトレードオフが発生します。デフォルト値で得られるセキュリティ レベルは、ほとんどの組織のセキュリティ要件に十分に対応します。パラメータに対し 1 つの値だけをサポートしているピアと相互運用する場合は、相手のピアがサポートしている値に選択が制限されます。


) 新しい ASA コンフィギュレーションには、デフォルトの ISAKMP ポリシーはありません。


ISAKMP ポリシーの設定

ISAKMP ポリシーを設定するには、グローバル コンフィギュレーション モードで、 isakmp policy コマンドにさまざまな引数を指定します。ISAKMP ポリシー コマンドのシンタックスは次のとおりです。

isakmp policy priority attribute_name [ attribute_value | integer ]

ISAKMP コマンドには、それぞれプライオリティを指定する必要があります。プライオリティ番号によってポリシーが一意に識別され、ISAKMP ネゴシエーションにおけるポリシーのプライオリティが決定されます。

ISAKMP を設定してイネーブルにするには、例を参考にして、次の手順を実行します。


) 所定のポリシー パラメータに値を指定しない場合、デフォルト値が適用されます。



ステップ 1 暗号化アルゴリズムを指定します。デフォルトは Triple DES です。この例では、暗号化を DES に設定します。

isakmp policy priority encryption [aes | aes-192 | aes-256 | des | 3des]
 

次の例を参考にしてください。

hostname(config)# isakmp policy 2 encryption des
 

ステップ 2 ハッシュ アルゴリズムを指定します。デフォルトは SHA-1 です。この例では、MD5 を設定します。

isakmp policy priority hash [md5 | sha]
 

次の例を参考にしてください。

hostname(config)# isakmp policy 2 hash md5
 

ステップ 3 認証方式を指定します。デフォルトは事前共有キーです。この例では、RSA シグニチャを設定します。

isakmp policy priority authentication [pre-share | dsa-sig | rsa-sig]
 

次の例を参考にしてください。

hostname(config)# isakmp policy 2 authentication rsa-sig
 

ステップ 4 Diffie-Hellman グループ識別番号を指定します。デフォルトはグループ 2 です。この例では、グループ 5 を設定します。

isakmp policy priority group [1 | 2 | 5 | 7]
 

次の例を参考にしてください。

hostname(config)# isakmp policy 2 group 5
 

ステップ 5 SA ライフタイムを指定します。この例では、4 時間(14400 秒)のライフタイムを設定します。デフォルトは 86400 秒(24 時間)です。

isakmp policy priority lifetime seconds
 

次の例を参考にしてください。

hostname(config)# isakmp policy 2 lifetime 14400
 


 

外部インターフェイスでの ISAKMP のイネーブル化

VPN トンネルを終端するインターフェイスでは、ISAKMP をイネーブルにする必要があります。通常は外部(つまり、パブリック)インターフェイスです。

ISAKMP をイネーブルにするには、次のコマンドを入力します。

isakmp enable interface-name
 

次の例を参考にしてください。

hostname(config)# isakmp enable outside

Aggressive モードでの ISAKMP のディセーブル化

フェーズ 1 の ISAKMP ネゴシエーションでは、Main モードまたは Agressive モードのいずれかを使用できます。どちらのモードも同じサービスを提供しますが、Agressive モードでは、ピア間で 3 回の合計 6 つのメッセージ交換ではなく、2 回の合計 3 つのメッセージ交換だけですみます。Agressive モードの方が高速ですが、通信パーティの ID は保護されません。このため、セキュアな SA を確立する前に、ピア間で ID 情報を交換する必要があります。Agressive モードはデフォルトでイネーブルになっています。

交換回数の多い Main モードは低速ですが、通信しているピアの ID を保護します。

Agressive モードは高速ですが、ピアの ID を保護しません。

Agressive モードの ISAKMP をディセーブルにするには、次のコマンドを入力します。

isakmp am-disable
 

次の例を参考にしてください。

hostname(config)# isakmp am-disable
 

Agressive モードをいったんディセーブルにした後でイネーブルに戻すには、no 形式でコマンドを使用します。次の例を参考にしてください。

hostname(config)# no isakmp am-disable


) Agressive モードをディセーブルにすると、Cisco VPN クライアントは、セキュリティ アプライアンスへのトンネルを確立するための事前共有キー認証を使用できなくなります。ただし、証明書に基づく認証(つまり ASA または RSA)を使用してトンネルを確立できます。


ISAKMP ピアの識別方式の決定

フェーズ I の ISAKMP ネゴシエーションでは、ピアは相互に相手を識別する必要があります。この識別方法は、次のオプションから選択できます。

 

アドレス

ISAKMP の識別情報を交換するホストの IP アドレスを使用します。

自動

接続タイプによって ISAKMP ネゴシエーションが決まります。

事前共有キーの IP アドレス

証明書認証の証明書認定者名

ホスト名

ISAKMP の識別情報を交換するホストの完全修飾ドメイン名を使用します(デフォルト)。この名前は、ホスト名とドメイン名で構成されます。

キー ID

リモート ピアが事前共有キーの検索に使用する文字列を使用します。

セキュリティ アプライアンスは、ピアに送信するフェーズ I の ID を使用します。これは、事前共有キーで認証を行う Main モードでの LAN-to-LAN 接続を除いて、すべての VPN シナリオで行われます。

デフォルト設定は hostname です。

ピア識別方式を変更するには、次のコマンドを入力します。

isakmp identity {address | hostname | key-id id-string | auto}
 

たとえば、次のコマンドはピア識別方法を「自動」に設定します。

hostname(config)# isakmp identity auto

IPSec over NAT-T のイネーブル化

NAT-T を使用すると、IPSec ピアは NAT デバイスを介した接続を確立できます。NAT-T は UDP データグラムの IPSec トラフィックをカプセル化し、ポート 4500 を使用して、NAT デバイスにポート情報を提供します。NAT-T はすべての NAT デバイスを自動検出し、必要な場合だけ IPSec トラフィックをカプセル化します。この機能は、デフォルトでディセーブルになっています。

セキュリティ アプライアンスは、データ交換を行うクライアントに応じて、標準の IPSec、IPSec over TCP、NAT-T、および IPSec over UDP を同時にサポートできます。NAT-T と IPSec over UDP の両方がイネーブルになっている場合、NAT-T が優先されます。IPSec over TCP は、イネーブルになっている場合、その他のすべての接続方式よりも優先されます。

NAT-T をイネーブルにすると、セキュリティ アプライアンスは、IPSec がイネーブルになっているすべてのインターフェイス上で自動的にポート 4500 を開きます。

セキュリティ アプライアンスは、次の両方のネットワークではなく、どちらか一方のネットワークで動作する単一の NAT/PAT デバイスの背後にある複数の IPSec ピアをサポートします。

LAN-to-LAN

リモートアクセス

混合環境では、リモートアクセス トンネルはネゴシエーションに失敗します。これは、すべてのピアが同じパブリック IP アドレス、つまり同じ NAT デバイスから発信されたように見えるためです。また、リモートアクセス トンネルは、LAN-to-LAN トンネルグループ(つまり NAT デバイスの IP アドレス)と同じ名前を使用することが多いため、混合環境では失敗します。この名前の一致により、NAT デバイスの背後にあるピアの LAN-to-LAN とリモートアクセスの混合ネットワークでは、複数のピア間のネゴシエーションが失敗する場合があります。

NAT-T の使用

NAT-T を使用するには、次の作業を実行する必要があります。


ステップ 1 セキュリティ アプライアンスでグローバルに IPSec over NAT-T をイネーブルにするには、次のコマンドを入力します。

isakmp nat-traversal natkeepalive
 

natkeepalive は 10 ~ 3600 秒の範囲です。デフォルトは、20 秒です。

たとえば、次のコマンドを入力して、NAT-T をイネーブルにし、キープアライブ値を 1 時間に設定します。

hostname(config)# isakmp nat-traversal 3600
 

ステップ 2 IPSec フラグメンテーション ポリシーに「before-fragmentation」オプションを選択します。

このオプションは、IP フラグメンテーションをサポートしていない NAT デバイス間をトラフィックが通過できるようにします。このオプションを使用しても、IP フラグメンテーションをサポートしていない NAT デバイスの動作を妨げることはありません。


 

IPSec over TCP のイネーブル化

IPSec over TCP を使用すると、標準 ESP や標準 ISAKMP が機能できない環境、または既存のファイアウォール規則を変更した場合に限って機能できる環境で、Cisco VPN クライアントが動作できるようになります。IPSec over TCP は TCP のようなパケット内で ISAKMP プロトコルと IPSec プロトコルをカプセル化し、NAT と PAT の両方のデバイスとファイアウォールを通過するセキュアなトンネリングを実現します。この機能は、デフォルトでディセーブルになっています。


) この機能は、プロキシ ベースのファイアウォールでは動作しません。


IPSec over TCP は、リモートアクセス クライアントで動作します。IPSec over TCP をグローバルにイネーブルにすると、ISAKMP がイネーブルにされたすべてのインターフェイスで動作します。これは、セキュリティ アプライアンス機能に対応するクライアントに限られます。LAN-to-LAN 接続では機能しません。

セキュリティ アプライアンスは、データ交換を行うクライアントに応じて、標準の IPSec、IPSec over TCP、NAT-Traversal、および IPSec over UDP を同時にサポートできます。IPSec over TCP は、イネーブルになっている場合、その他のすべての接続方式よりも優先されます。

1 度に 1 つのトンネルをサポートする VPN 3002 ハードウェア クライアントは、標準の IPSec、IPSec over TCP、NAT-Traversal、または IPSec over UDP を使用して接続できます。

セキュリティ アプライアンスとその接続先のクライアントの両方で IPSec over TCP をイネーブルにします。

最大 10 個のポートを指定して、それらのポートに対して IPSec over TCP をイネーブルにできます。ポート 80(HTTP)やポート 443(HTTPS)などの周知のポートを入力すると、そのポートに関連付けられているプロトコルがパブリック インターフェイスで機能しなくなることを示すアラートが表示されます。その結果、パブリック インターフェイスを介してセキュリティ アプライアンスを管理するためにブラウザを使用することができなくなります。この問題を解決するには、HTTP/HTTPS 管理を別のポートに再設定します。

デフォルト ポートは 10000 です。

セキュリティ アプライアンスだけでなく、クライアントでも TCP ポートを設定する必要があります。クライアントの設定には、セキュリティ アプライアンス用に設定したポートを少なくとも 1 つ含める必要があります。

セキュリティ アプライアンスでグローバルに IPSec over TCP をイネーブルにするには、次のコマンドを入力します。

isakmp ipsec-over-tcp [port port 1...port0]
 

次の例では、IPSec over TCP をポート 45 でイネーブルにしています。

hostname(config)# isakmp ctcp port 45
 

リブートの前にアクティブ セッションの終了を待機

すべてのアクティブ セッションが自発的に終了した場合に限り、セキュリティ アプライアンスがリブートするようにスケジュールを設定できます。この機能は、デフォルトでディセーブルになっています。

セキュリティ アプライアンスのリブートの前にすべてのアクティブ セッションが自発的に終了するまで待機する機能をイネーブルにするには、次のコマンドを入力します。

isakmp reload-wait
 

次の例を参考にしてください。

hostname(config)# isakmp reload-wait
 

reload コマンドを使用して、セキュリティ アプライアンスをリブートします。 reload-wait コマンドを設定すると、 reload quick コマンドを使用して reload-wait 設定を無効にできます。 reload コマンドと reload-wait コマンドは特権 EXEC モードで使用できます。どちらにも isakmp プレフィックスは付けません。

接続解除の前にピアに警告する

セキュリティ アプライアンスのシャットダウンまたはリブート、セッション アイドル タイムアウト、最大接続時間の超過、管理者による停止などいくつかの理由で、リモートアクセス セッションまたは LAN-to-LAN セッションがドロップすることがあります。

セキュリティ アプライアンスは、限定されたピア、つまり Cisco VPN クライアントと VPN 3002 ハードウェア クライアントに対して、セッションが接続解除される直前に通知できます(LAN-to-LAN コンフィギュレーションの場合)。アラートを受信したピアまたはクライアントは、その理由をデコードしてイベント ログまたはポップアップ パネルに表示します。この機能は、デフォルトでディセーブルになっています。

限定されたクライアントとピアには次のものが含まれます。

アラートがイネーブルになっているセキュリティ アプライアンス

バージョン 4.0 以降のソフトウェアを実行している Cisco VPN クライアント(アラート設定は不要)

バージョン 4.0 以降のソフトウェアを実行し、アラートがイネーブルになっている VPN 3002 ハードウェア クライアント

バージョン 4.0 以降のソフトウェアを実行し、アラートがイネーブルになっている VPN 3000 シリーズ コンセントレータ

IPSec ピアに対する接続解除の通知をイネーブルにするには、 isakmp disconnect-notify コマンドを入力します。

 

次の例を参考にしてください。

hostname(config)# isakmp disconnect-notify

証明書グループ照合の設定

トンネルグループは、ユーザの接続条件とアクセス権を定義します。証明書グループ照合では、ユーザ証明書のサブジェクト DN または発行者 DN を使用して、ユーザとトンネルグループを照合します。

証明書のこれらのフィールドに基づいてユーザをトンネルグループと照合するには、まず一致基準を定義した規則を作成し、次に各規則を目的のトンネルグループに関連付ける必要があります。

証明書マップを作成するには、 crypto ca certificate map コマンドを使用します。 トンネルグループを定義するには、tunnel-group コマンドを使用します。

また、証明書ユーザの許可グループを識別するための方法として、次のいずれか 1 つを設定する証明書グループ照合ポリシーも設定する必要があります。

規則からグループを照合する。

organizational unit (OU) フィールドからグループを照合する。

すべての証明書ユーザにデフォルトのグループを使用する。

上記の方法のいずれか、またはすべてを使用できます。

証明書グループ照合の規則とポリシーの作成

証明書ベースの ISAKMP セッションをトンネルグループにマッピングするためのポリシーと規則を設定し、証明書マップ エントリをトンネルグループに関連付けるには、グローバル コンフィギュレーション モードで tunnel-group-map コマンドを入力します。

このコマンドのシンタックスは次のとおりです。

tunnel-group-map enable { rules | ou | ike-id | peer ip }

tunnel-group-map [ rule-index ] enable policy

 

policy

証明書からトンネルグループ名を取得するためのポリシーを指定します。 policy には、次のいずれか 1 つを指定できます。

ike-id :トンネルグループを規則検索によって決定しない、または ou から取得しない場合、 証明書ベースの ISAKMP セッションは、フェーズ 1 の ISAKMP ID の内容に基づいてトンネルグループにマッピングされることを示します。

ou :トンネルグループを規則検索によって決定しない場合、サブジェクト認定者名(DN)の OU の値を使用することを示します。

peer-ip :トンネルグループを規則検索によって決定しない、OU から取得しない、または ike-id 方式によって取得しない場合、ピアの IP アドレスを使用することを示します。

rules :証明書ベースの ISAKMP セッションが、このコマンドによって設定された証明書マップの関連付けに基づいて、トンネルグループにマッピングされることを示します。

rule index

オプション。 crypto ca certificate map コマンドで指定したパラメータを参照します。値は、1 ~ 65,535 です。

次のことに注意してください。

このコマンドの起動が他と重複せず、マップ インデックスの参照が 1 度だけであれば、このコマンドを何度でも起動できる。

規則は 255 文字以下である。

1 つのグループに複数の規則を割り当てられる。複数の規則を割り当てるには、まず規則のプライオリティを追加し、グループ化します。次に、各グループに必要な数だけ基準文を定義します。1 つのグループに複数の規則を割り当てた場合、テストされる最初の規則の照合結果は一致します。

ユーザを特定のトンネルグループに割り当てる前にすべての一致基準が必要な場合は、単一の規則を作成する。すべての一致基準が必要であることは、論理 AND 操作に相当します。または、ユーザを特定のトンネルグループに割り当てる前にすべての一致基準が必要な場合は、基準ごとに 1 つの規則を作成します。一致基準が 1 つだけ必要であることは、論理 OR 操作に相当します。

次の例では、フェーズ 1 の ISAKMP ID の内容に基づいて、証明書ベースの ISAKMP セッションをトンネルグループにマッピングする機能をイネーブルにします。

hostname(config)# tunnel-group-map enable ike-id
hostname(config)#
 

次の例では、ピアの IP アドレスに基づいて、証明書ベースの ISAKMP セッションをトンネルグループにマッピングする機能をイネーブルにします。

hostname(config)# tunnel-group-map enable peer-ip
hostname(config)#
 

次の例では、サブジェクト認定者名(DN)の組織ユニット(OU)に基づいて、証明書ベースの ISAKMP セッションをマッピングする機能をイネーブルにします。

hostname(config)# tunnel-group-map enable ou
hostname(config)#
 

次の例では、設定された規則に基づいて、証明書ベースの ISAKMP セッションをマッピングする機能をイネーブルにします。

hostname(config)# tunnel-group-map enable rules
hostname(config)#
 

tunnel-group-map default-group コマンドの使用

このコマンドは、コンフィギュレーションでトンネルグループが指定されていない場合に使用する、デフォルトのトンネルグループを指定します。

コマンドのシンタックスは、 tunnel-group-map [ rule-index ] default-group tunnel-group-name です。rule-index は規則のプライオリティで、 tunnel-group name は既存のトンネルグループである必要があります。

IPSec の設定

この項では、IPSec に関する背景情報と、IPSec を使用して VPN を実装するときにセキュリティ アプライアンスを設定する手順について説明します。次の項目について説明します。

「IPSec トンネルの理解」

「トランスフォーム セットの概要」

「暗号マップの定義」

「インターフェイスへの暗号マップの適用」

「インターフェイス アクセスリストの使用」

「IPSec SA のライフタイムの変更」

「基本的な IPSec コンフィギュレーションの作成」

「ダイナミック暗号マップの使用」

「サイトツーサイト冗長性の定義」

「IPSec コンフィギュレーションの表示」

IPSec トンネルの理解

IPSec トンネルとは、セキュリティ アプライアンスがピア間に確立する SA のセットのことです。SA は機密データに適用するプロトコルとアルゴリズムを定義し、ピアが使用するキー関連情報を指定します。IPSec SA は、ユーザ トラフィックの実際の伝送を制御します。SA は単方向ですが、通常ペア(着信と発信)で確立されます。

ピアは SA ごとに使用する設定をネゴシエートします。各 SA は次のもので構成されます。

トランスフォーム セット

暗号マップ

アクセスリスト

トンネルグループ

事前フラグメンテーション ポリシー

トランスフォーム セットの概要

トランスフォーム セットとは、セキュリティ アプライアンスによるデータの保護方法を定義したセキュリティ プロトコルとアルゴリズムの組み合せのことです。複数のトランスフォーム セットを作成し、最大 6 個のトランスフォーム セットを暗号マップに指定します。

IPSec SA のネゴシエート中、2 つのピアは、両方のピアで一致しているトランスフォーム セットを識別する必要があります。次にセキュリティ アプライアンスは一致しているトランスフォームを使用して、暗号マップに対するアクセスリストのデータ フローを保護する SA を作成します。

トランスフォーム セット定義を変更すると、セキュリティ アプライアンスはトンネルを切り離します。詳細については「セキュリティ アソシエーションのクリア」を参照してください。


) トランスフォーム セットの要素を 1 つだけ消去または削除すると、セキュリティ アプライアンスはその要素を参照する暗号マップを自動的に削除します。


暗号マップの定義

暗号マップ は、IPSec SA でネゴシエートされる IPSec ポリシーを定義します。暗号マップには、次のものが含まれます。

IPSec 接続が許可および保護するパケットを識別するためのアクセスリスト

ピア ID

IPSec トラフィックのローカル アドレス(詳細については、「インターフェイスへの暗号マップの適用」を参照)

ピアのセキュリティ設定の照合に使用される最大 6 個のトランスフォーム セット

暗号マップ セット は、同じマップ名を持つ 1 つまたは複数の暗号マップで構成されます。最初の暗号マップを作成したときに、暗号マップ セットを作成します。暗号マップを作成または追加するコマンドのシンタックスは、次のとおりです。

crypto map map-name seq-num match address access-list-name
 

このコマンドを続けて入力すると、暗号マップを暗号マップ セットに追加できます。次の例では、暗号マップを追加する暗号マップ セットの名前は「mymap」です。

crypto map mymap 10 match address 101
 

同じ名前を持つ暗号マップの中で、上記のシンタックスで示されている シーケンス番号 (seq-num)はそれぞれ異なります。暗号マップに割り当てられている シーケンス番号 によって、暗号マップ セット内の暗号マップ間のプライオリティが決まります。 シーケンス番号が小さいほど、プライオリティが高くなります。暗号マップ セットをインターフェイスに割り当てると、セキュリティ アプライアンスは、そのインターフェイスを通過するすべての IP トラフィックと暗号マップ セット内の暗号マップを、シーケンス番号が低い順に照合して評価します。

暗号マップに割り当てられている Access Control List (ACL; アクセス コントロール リスト)は、同じアクセスリスト名を持つすべての Access Control Entry(ACE; アクセス コントロール エントリ)で構成されます。コマンドのシンタックスは、次のとおりです。

access-list access-list-name {deny | permit} ip source source-netmask destination destination-netmask
 

各 ACL は、同じアクセスリスト名を持つ 1 つまたは複数の ACE で構成されます。最初の ACE を作成したときに、ACL を作成します。ACL を作成または追加するコマンドのシンタックスは、次のとおりです。

access-list access-list-name {deny | permit} ip source source-netmask destination destination-netmask
 

次の例では、セキュリティ アプライアンスは、10.0.0.0 サブネットから 10.1.1.0 サブネットまでのすべてのトラフィック フローに対して、暗号マップに割り当てられている IPSec 保護を適用します。

access-list 101 permit ip 10.0.0.0 255.255.255.0 10.1.1.0 255.255.255.0
 

パケットが一致する暗号マップによって、SA ネゴシエーションで使用されるセキュリティ設定が決定します。ローカルのセキュリティ アプライアンスがネゴシエーションを開始する場合は、スタティック暗号マップで指定されたポリシーを使用して、指定のピアに送信するオファーを作成します。ピアがネゴシエーションを開始する場合、セキュリティ アプライアンスはポリシーをスタティック暗号マップと照合しますが、これが失敗した場合は、暗号マップ セットのダイナミック暗号マップと照合して、ピアのオファーを受け入れるか拒否するかを決定します。

2 つのピアが SA の確立に成功するには、両方のピアが互換性のある暗号マップを少なくとも 1 つ持っている必要があります。互換性が成立するには、暗号マップが次の条件を満たす必要があります。

暗号マップに、互換性を持つ暗号 ACL(たとえば、ミラー イメージ ACL)が含まれている。応答するピアがダイナミック暗号マップを使用する場合、IPSec を適用するための要件として、セキュリティ アプライアンスもダイナミック暗号マップを使用する必要があります。

各暗号マップが他のピアを識別する(応答するピアがダイナミック暗号マップを使用していない場合)。

暗号マップに、共通のトランスフォーム セットが少なくとも 1 つある。

1 つのインターフェイスに適用できる暗号マップ セットは 1 つだけです。次の条件のいずれかが当てはまる場合は、セキュリティ アプライアンス上の特定のインターフェイスに対して複数の暗号マップを作成します。

特定のピアに異なるデータ フローを処理させる。

さまざまなタイプのトラフィックにさまざまな IPSec セキュリティを適用する。

たとえば、暗号マップを 1 つ作成し、2 つのサブネット間のトラフィックを識別する ACL を割り当て、トランスフォーム セットを 1 つ割り当てます。別の暗号マップを作成し、別の 2 つのサブネット間のトラフィックを識別する ACL を割り当て、VPN パラメータが異なるトランスフォーム セットを適用します。

1 つのインターフェイスに複数の暗号マップを作成する場合は、暗号マップ セット内のプライオリティを決めるシーケンス番号(seq-num)を各暗号マップ エントリに指定します。

各 ACE には permit 文または deny 文が含まれます。 表24-2 に、暗号マップに適用される ACL での ACE の許可と拒否の特別な意味を示します。

 

表24-2 発信トラフィックに適用されるアクセスリストにおける許可と拒否の特別な意味

暗号マップ評価の結果
対応

permit 文が含まれている ACE の基準と一致

パケットを暗号マップ セットの残りの ACE と照合して評価することを停止し、パケット セキュリティ設定を、暗号マップに割り当てられているトランスフォーム セットと照合して評価します。セキュリティ設定がトランスフォーム セットのセキュリティ設定と一致すると、セキュリティ アプライアンスは関連する IPSec 設定を適用します。一般に発信トラフィックの場合、IPSec 設定の適用とはパケットの復号化、認証、ルーティングを行うことを意味します。

deny 文が含まれている ACE の基準と一致

パケットを評価中の暗号マップの残りの ACE と照合して評価することを中断し、次の暗号マップ(暗号マップに割り当てられているシーケンス番号で判断する)の ACE との照合と評価を再開します。

暗号マップ セット内のテスト済みのすべての許可 ACE と不一致

パケットを暗号化せずにルーティングします。

deny 文が含まれている ACE は、IPSec 保護が不要な発信トラフィック(たとえば、ルーティング プロトコル トラフィックなど)をフィルタリングして除外します。したがって、暗号アクセスリストの permit 文と照合して評価する必要のない発信トラフィックをフィルタリングするために、最初の deny 文を挿入します。

暗号化された着信パケットに対しては、セキュリティ アプライアンスは送信元アドレスと ESP SPI を使用して、パラメータの復号化を決定します。セキュリティ アプライアンスは、パケットを復号化した後で、復号化されたパケットの内部ヘッダーを、そのパケットの SA に関連付けられている ACL の許可 ACE と比較します。内部ヘッダーがプロキシと一致しない場合、セキュリティ アプライアンスはそのパケットをドロップします。内部ヘッダーがプロキシと一致する場合、セキュリティ アプライアンスはそのパケットをルーティングします。

暗号化されていない着信パケットの内部ヘッダーを比較する場合は、セキュリティ アプライアンスはすべての拒否規則を無視します。これは、拒否規則によってフェーズ 2 の SA の確立が妨げられるためです。


) 暗号化されていない着信トラフィックをクリア テキストとしてルーティングするには、ACE の許可の前に ACE の拒否を挿入します。


図24-1 に、セキュリティ アプライアンスの LAN-to-LAN ネットワークの例を示します。

 

図24-1 ACE の許可と拒否がトラフィックに及ぼす影響(概念上のアドレス)

 

この図に示され、また以下の説明で使用されている単純なアドレス表記は、抽象化したものです。実際の IP アドレスを使用した例は、この説明の後に示します。

この LAN-to-LAN ネットワーク例において、セキュリティ アプライアンス A、B、および C を設定する目的は、図24-1 に示したホストのいずれか 1 台から発信されるすべてのトラフィックのトンネリングを許可することです。ただし、ホスト A.3 から発信されるトラフィックには人事部の機密データが含まれるため、他のトラフィックよりも強固な暗号化と頻繁なキー再生が必要です。そのため、ホスト A.3 から発信されるトラフィックには特別なトランスフォーム セットを割り当てます。

セキュリティ アプライアンス A の発信トラフィックを設定するために、2 つの暗号マップを作成します。1 つはホスト A.3 の発信トラフィック用で、もう 1 つはネットワーク A の別のホストの発信トラフィック用です。次に例を示します。

Crypto Map Seq_No_1
deny packets from A.3 to B
deny packets from A.3 to C
permit packets from A to B
permit packets from A to C
Crypto Map Seq_No_2
permit packets from A.3 to B
permit packets from A.3 to C
 

ACL を作成したら、一致するパケットごとに必要な IPSec を適用するためのトランスフォーム セットを各暗号マップに割り当てます。

カスケード ACL とは、拒否 ACE を挿入することで、ACL との照合と評価をバイパスし、暗号マップ セット内の次の ACL との照合と評価を再開するものです。暗号マップごとに異なる IPSec 設定を関連付けることができるため、拒否 ACE を使用することで、特別なトラフィックを対応する暗号マップでの以後の評価から除外し、異なるセキュリティを提供する別の暗号マップ、または異なるセキュリティを必要とする別の暗号マップの permit 文と特別なトラフィックを照合することができます。暗号 ACL に割り当てられているシーケンス番号によって、暗号マップ セット内の評価の順序が決まります。

図24-2 に、上記のイメージ ACE から作成されたカスケード ACL を示します。この図の各記号の意味は次のとおりです。

 

 

暗号マップ セット内の暗号マップ。

 

(すき間がある直線)パケットが ACE に一致した時点で暗号マップの照合を終了します。

 

1 つの ACE の説明と一致したパケット。それぞれの大きさのボールは、図中の別々の ACE に一致する異なるパケットを表しています。大きさの 違いは、各パケットの発信元と宛先が異なることを示しています。

 

暗号マップ セット内での次の暗号マップへのリダイレクション。

 

パケットが ACE に一致するか、または暗号マップ セット内のすべての許可 ACE に一致しない場合の応答。

図24-2 暗号マップ セット内のカスケード ACL

 

セキュリティ アプライアンス A は、ホスト A.3 から発信されたパケットが許可 ACE と一致するまで評価し、暗号マップに関連付けられている IPSec セキュリティの割り当てを試行します。このパケットが拒否 ACE と一致すると、セキュリティ アプライアンスはこの暗号マップの残りの ACE を無視し、次の暗号マップ(暗号マップに割り当てられているシーケンス番号で判断する)との照合と評価を再開します。この例では、セキュリティ アプライアンス A がホスト A.3 から発信されたパケットを受信すると、このパケットを最初の暗号マップの拒否 ACE と照合し、次の暗号マップでの照合と評価を再開します。パケットが 2 番目の暗号マップの許可 ACE と一致すると、関連付けられた IPSec セキュリティ(強固な暗号化と頻繁なキー再生)がパケットに適用されます。

このネットワーク例におけるセキュリティ アプライアンスの設定を完了するために、ミラー暗号マップをセキュリティ アプライアンス B と C に割り当てます。しかし、セキュリティ アプライアンスは、暗号化された着信トラフィックの評価では拒否 ACE を無視するため、拒否 A.3 B と 拒否 A.3 C の ACE のミラーに相当するものを無視できます。したがって、暗号マップ 2 のミラーに相当するものを無視できます。このため、セキュリティ アプライアンス B と C のカスケード ACL の設定は不要です。

表24-3 に、図24-1 の 3 台のセキュリティ アプライアンス用に設定された暗号マップに割り当てられている ACL を示します。

 

表24-3 許可文と拒否文の例(概念図)

セキュリティ アプライアンス A
セキュリティ アプライアンス B
セキュリティ アプライアンス C
暗号マップ
シーケンス
番号
ACE パターン
暗号マップ
シーケンス
番号
ACE パターン
暗号マップ
シーケンス
番号
ACE パターン

1

A.3 B を拒否

1

B A を許可

1

C A を許可

A.3 C を拒否

A B を許可

A C を許可

B C を許可

C B を許可

2

A.3 B を許可

A.3 C を許可

図24-3 では、図24-1 の概念アドレスを実際の IP アドレスにマッピングしています。

図24-3 ACE の許可と拒否がトラフィックに及ぼす影響(実際のアドレス)

 

次の表は、図24-3 の IP アドレスを 表24-3 の概念と結合したものです。これらの表に示されている実際の ACE によって、このネットワーク内で評価を受けたすべての IPSec パケットに適切な IPSec 設定が適用されます。

 

表24-4 セキュリティ アプライアンス A の permit 文と deny 文の例

セキュリティ
アプライアンス
暗号マップ
シーケンス番号
ACE パターン
実際の ACE

A

1

A.3 B を拒否

deny 192.168.3.3 255.255.255.192 192.168.12.0 255.255.255.248

A.3 C を拒否

deny 192.168.3.3 255.255.255.192 192.168.201.0 255.255.255.224

A B を許可

permit 192.168.3.0 255.255.255.192 192.168.12.0 255.255.255.248

A C を許可

permit 192.168.3.0 255.255.255.192 192.168.201.0 255.255.255.224

2

A.3 B を許可

permit 192.168.3.3 255.255.255.192 192.168.12.0 255.255.255.248

A.3 C を許可

permit 192.168.3.3 255.255.255.192 192.168.201.0 255.255.255.224

B

必要なし

B A を許可

permit 192.168.12.0 255.255.255.248 192.168.3.0 255.255.255.192

B C を許可

permit 192.168.12.0 255.255.255.248 192.168.201.0 255.255.255.224

C

必要なし

C A を許可

permit 192.168.201.0 255.255.255.224 192.168.3.0 255.255.255.192

C B を許可

permit 192.168.201.0 255.255.255.224 192.168.12.0 255.255.255.248

このネットワーク例で示されている論法を応用して、カスケード ACL を使用することにより、Cisco セキュリティ アプライアンスで保護されているさまざまなホストまたはサブネットにさまざまなセキュリティ設定を割り当てることができます。


) デフォルトでは、セキュリティ アプライアンスは、トラフックが入ってきたインターフェイスと同じインターフェイスを宛先とするトラフィックはサポートしません(このタイプのトラフィックには、U ターン、ハブアンドスポーク、ヘアピニングなどの名称があります)。ただし、IPSec で U ターン トラフィックをサポートすることもできます。そのためには、同じネットワークの発信トラフィックと着信トラフィックを許可する ACE を挿入します。たとえば、セキュリティ アプライアンス B で U ターン トラフィックをサポートするには、概念上の「permit B B」ACE を ACL1 に追加します。実際の ACE は次のようになります。
permit 192.168.12.0 255.255.255.248 192.168.12.0 255.255.255.248


インターフェイスへの暗号マップの適用

暗号マップ セットは、IPSec トラフィックが通過する各インターフェイスに割り当てる必要があります。セキュリティ アプライアンスは、すべてのインターフェイスで IPSec をサポートします。暗号マップ セットをインターフェイスに割り当てると、セキュリティ アプライアンスは、すべてのトラフィックを暗号マップ セットと照合して評価し、接続中またはネゴシエーション中は指定されたポリシーを使用します。

暗号マップをインターフェイスに割り当てると、SA データベースやセキュリティ ポリシー データベースなどのランタイム データ構造も初期設定されます。暗号マップを修正してインターフェイスに再割り当てすると、ランタイム データ構造は暗号マップ設定と再同期化されます。また、新しいシーケンス番号を使用して新しいピアを追加し、暗号マップを再割り当てしても、既存の接続が切断されることはありません。

インターフェイス アクセスリストの使用

セキュリティ アプライアンスでは、デフォルトで IPSec パケットがインターフェイス ACL をバイパスするようになっています。インターフェイス アクセスリストを IPSec トラフィックに適用する場合は、 no 形式の sysopt connection permit-ipsec コマンドを使用します。

発信インターフェイスにバインドされている暗号マップ アクセスリストは、VPN トンネルを通過する IPSec パケットの許可と拒否を行います。IPSec は、IPSec トンネルから来たパケットの認証と解読を行い、トンネルに関連付けられている ACL とパケットを照合して評価します。

アクセスリストは、どの IP トラフィックを保護するかを定義します。たとえば、2 つのサブネット間または 2 台のホスト間のすべての IP トラフィックを保護するためのアクセスリストを作成できます(これらのアクセスリストは、 access-group コマンドで使用されるアクセスリストとよく似ています。ただし、 access-group コマンドでは、アクセスリストがインターフェイスで転送するトラフィックと阻止するトラフィックを決めます)。

暗号マップを割り当てるまで、アクセスリストは IPSec の使用に限定されません。各暗号マップはアクセスリストを参照し、パケットがアクセスリストのいずれか 1 つで permit と一致した場合に適用する IPSec プロパティを決めます。

IPSec 暗号マップに割り当てられているアクセスリストには、次の 4 つの主要機能があります。

IPSec で保護する発信トラフィックを選択する(permit に一致したものが保護の対象)。

確立された SA がない状態で移動するデータに対して ISAKMP ネゴシエーションをトリガーする。

着信トラフィックを処理して、IPSec で保護すべきであったトラフィックをフィルタリングして廃棄する。

ピアからの IKE ネゴシエーションを処理するときに、IPSec SA の要求を受け入れるかどうかを決定する(ネゴシエーションは ipsec-isakmp crypto map エントリだけに適用されます)。ピアは ipsec-isakmp crypto map コマンド エントリに関連付けられているデータ フローを「許可」し、ニゴシエーション中に要求を受け入れられるようにする必要があります。

トラフィックが着信か発信かに関係なく、セキュリティ アプライアンスは、インターフェイスに割り当てられているアクセスリストとトラフィックを照合して評価します。インターフェイスに IPSec を割り当てるには、次の手順を実行します。


ステップ 1 IPSec に使用するアクセスリストを作成します。

ステップ 2 作成したアクセスリストを、同じ暗号マップ名を使用して 1 つまたは複数の暗号マップにマッピングします。

ステップ 3 データ フローに IPSec を適用するために、トランスフォーム セットを暗号マップにマッピングします。

ステップ 4 共有する暗号マップ名を割り当てて、暗号マップを一括して「暗号マップ セット」としてインターフェイスに適用します。


 

図24-4 では、データがセキュリティ アプライアンス A 上の外部インターフェイスを出てホスト 10.2.2.2 に向かうときに、ホスト 10.0.0.1 とホスト 10.2.2.2 の間のトラフィックに IPSec 保護が適用されます。

図24-4 暗号アクセスリストを IPSec に適用する方法

 

セキュリティ アプライアンス A は、ホスト 10.0.0.1 からホスト 10.2.2.2 へのトラフィックを次のように評価します。

送信元 = ホスト 10.00.00.1

宛先 = ホスト 10.20.20.2

またセキュリティ アプライアンス A は、ホスト 10.2.2.2 からホスト 10.0.0.1 へのトラフィックを次のように評価します。

送信元 = ホスト 10.20.20.2

宛先 = ホスト 10.00.00.1

評価中のパケットと最初に一致した permit 文によって、IPSec SA のスコープが決まります。


) アクセスリストの要素を 1 つだけ削除すると、セキュリティ アプライアンスは関連付けられている暗号マップも削除します。


現在 1 つまたは複数の暗号マップが参照しているアクセスリストを修正する場合は、 crypto map interface コマンドを使用して SA データベースのランタイムを再初期化します。詳細については、 crypto map コマンドを参照してください。

ローカル ピアで定義するスタティック暗号マップに指定したすべてのアクセスリストに対して、リモート ピアで「ミラー イメージ」暗号アクセスリストを定義することを推奨します。また、暗号マップは共通トランスフォームをサポートし、他のシステムをピアとして参照する必要があります。これにより、両方のピアで IPSec が正しく処理されます。


) すべてのスタティック暗号マップでアクセスリストと IPSec ピアを定義する必要があります。どちらかが定義されていないと、暗号マップは不完全なものになり、セキュリティ アプライアンスは、前の完全な暗号マップにまだ一致していないトラフィックをドロップします。show conf コマンドを使用して、すべての暗号マップが完全なものになるようにします。不完全な暗号マップを修正するには、いったん暗号マップを削除し、不足しているエントリを追加してから再適用します。


暗号アクセスリストで送信元アドレスまたは宛先アドレスの指定に any キーワードを使用すると問題が発生するため、このキーワードの使用は避けてください。 permit any any コマンド文を使用すると次の現象が発生するため、使用は極力避けてください。

すべての発信トラフィックが保護されます。これには、対応する暗号マップで指定されているピアに送信される保護済みのトラフィックも含まれます。

すべての着信トラフィックに対する保護が必要になります。

このシナリオでは、セキュリティ アプライアンスは IPSec 保護されていないすべての着信パケットを通知なしでドロップします。

保護するパケットを定義したことを必ず確認してください。 permit 文に any キーワードを使用する場合は、その文の前に一連の deny 文をおき、保護対象外のトラフィックをすべてフィルタリングして排除します。これを行わないと、その permit 文に保護対象外のトラフィックが含まれることになります。

IPSec SA のライフタイムの変更

セキュリティ アプライアンスが新しい IPSec SA とネゴシエートするときに使用する、グローバル ライフタイム値を変更できます。特定の暗号マップのグローバル ライフタイム値を無効にできます。

IPSec SA では、取得された共有秘密キーが使用されます。共有秘密キーは SA に不可欠な要素で、共有秘密キーにリフレッシュが必要な場合、SA と同時にタイムアウトします。各 SA には、「時間」ライフタイムと「トラフィック量」ライフタイムの 2 つがあります。それぞれのライフタイムとネゴシエーションが新しい SA 用に開始されると、前の SA は期限満了になります。デフォルトのライフタイムは、28,800 秒(8 時間)および 4,608,000 キロバイト(10 メガバイト/秒で 1 時間)です。

グローバル ライフタイムを変更すると、セキュリティ アプライアンスはトンネルをドロップします。変更後に確立された SA のネゴシエーションでは、新しい値が使用されます。

暗号マップに設定されたライフタイム値がなく、セキュリティ アプライアンスから新しい SA を要求された場合、暗号マップは、ピアに送信される新しい SA 要求に、既存の SA で使用されているグローバル ライフタイム値を挿入します。ピアがネゴシエーション要求を受け取ると、このピアが提案するライフタイム値とローカルに設定されているライフタイム値のうち小さい方の値を、新しい SA のライフタイム値として使用します。

既存 SA のライフタイムのしきい値を超える前に、ピアは新しい SA をネゴシエートします。このようにして、既存 SA の有効期限が切れる前に、新しい SA の準備が整います。既存 SA の残りのライフタイムが約 5 ~ 15% になると、ピアは新しい SA をネゴシエートします。

基本的な IPSec コンフィギュレーションの作成

次の手順は、基本的な IPSec コンフィギュレーション(スタティック暗号マップ付き)の作成について説明しています。


ステップ 1 アクセスリストを作成して、保護するトラフィックを定義します。

access-list access-list-name {deny | permit} ip source source-netmask destination destination-netmask
 

次の例を参考にしてください。

access-list 101 permit ip 10.0.0.0 255.255.255.0 10.1.1.0 255.255.255.0
 

この例では、 permit キーワードによって、指定の条件に一致するトラフィックすべてが暗号で保護されます。

ステップ 2 トラフィックを保護する方法を定義するトランスフォームを設定します。複数のトランスフォーム セットを設定し、暗号マップでこれらのトランスフォーム セットの 1 つまたは複数を指定します(ステップ 3c)。

crypto ipsec transform-set transform-set-name transform1 [tcansform2, transform3]
 

次の例を参考にしてください。

crypto ipsec transform-set myset1 esp-des esp-sha-hmac
crypto ipsec transform-set myset2 esp-3des esp-sha-hmac
crypto ipsec transform-set aes_set esp-md5-hmac esp-aes-256
 

この例では、「myset1」、「myset2」、「aes_set」がトランスフォーム セットの名前です。

ステップ 3 暗号マップを作成するには、次の手順を実行します。

a. アクセスリストを暗号マップに割り当てます。

crypto map map-name seq-num match address access-list-name
 

次の例では、「mymap」が暗号マップ セットの名前です。マップ セットのシーケンス番号は 10 です。シーケンス番号は、1 つの暗号マップ セット内の複数のエントリにランクを付けるために使用します。シーケンス番号が小さいほど、プライオリティが高くなります。

crypto map mymap 10 match address 101
 

この例では、アクセスリスト 101 が暗号マップ「mymap」に割り当てられます。

b. IPSec で保護されたトラフィックの転送先となるピアを指定します。

crypto map map-name seq-num set peer ip-address
 

次の例を参考にしてください。

crypto map mymap 10 set peer 192.168.1.100
 

セキュリティ アプライアンスは、ピアに IP アドレス 192.168.1.100 が割り当てられている SA をセットアップします。このコマンドを繰り返して、複数のピアを指定します。

c. この暗号マップに対して許可するトランスフォーム セットを指定します。複数のトランスフォーム セットをプライオリティ順(最高のプライオリティのものが最初)に列挙します。トランスフォーム セットは最大 6 つ指定できます。

crypto map map-name seq-num set transform-set transform-set-name1 [transform-set-name2, ...transform-set-name6]
 

次の例を参考にしてください。

crypto map mymap 10 set transform-set myset1 myset2
 

この例では、トラフィックがアクセスリスト 101 に一致すると、SA は、どのトランスフォーム セットがピアのトランスフォーム セットに一致するかによって、「myset1」(第 1 プライオリティ)と「myset2」(第 2 プライオリティ)のいずれかを使用できます。

d. (オプション)グローバル ライフタイムを上書きする場合は、暗号マップの SA ライフタイムを指定します。

crypto map map-name seq-num set security-association lifetime {seconds seconds | kilobytes kilobytes}
 

次の例を参考にしてください。

crypto map mymap 10 set security-association lifetime seconds 2700

この例では、暗号マップ「mymap 10」の時間ライフタイムを 2700 秒に短縮します。
(45 分)。トラフィック量ライフタイムは変更されません。

e. (オプション)IPSec がこの暗号マップに対して新しい SA を要求するときに Perfect Forward Secrecy(PFS; 完全転送秘密)を要求するか、または IPSec ピアから受け取る要求に PFS を要求するかを指定します。

crypto map map-name seq-num set pfs [group1 | group2 | group5 | group7]
 

次の例を参考にしてください。

crypto map mymap 10 set pfs group2
 

この例では、暗号マップ「mymap 10」に対して新しい SA をネゴシエートするときに、PFS を要求しています。セキュリティ アプライアンスは、新しい SA で 1024 ビットの Diffie-Hellman プライム モジュラス グループを使用します。

ステップ 4 IPSec トラフィックを評価するために、暗号マップ セットをインターフェイスに適用します。

crypto map map-name interface interface-name
 

次の例を参考にしてください。

crypto map mymap interface outside
 

この例では、セキュリティ アプライアンスは外部インターフェイスを通過するトラフィックを暗号マップ「mymap」と照合して評価し、保護が必要かどうかを判断します。


 

ダイナミック暗号マップの使用

ダイナミック暗号マップは、パラメータがまったく設定されていない暗号マップです。ダイナミック暗号マップは、不足しているパラメータが、ピアの要件に合うように後でダイナミックに取得される(IPSec ネゴシエーションの結果として)ポリシー テンプレートの役割を果たします。セキュリティ アプライアンスは、IP アドレスがまだスタティック暗号マップで指定されていない場合に、ダイナミック暗号マップを適用してピアにトンネルをネゴシエートさせます。これは、次のタイプのピアで発生します。

ダイナミックに割り当てられるパブリック IP アドレスを持つピア

LAN-to-LAN およびリモートアクセス ピアはいずれも、DHCP を使用してパブリック IP アドレスを取得できます。セキュリティ アプライアンスは、このアドレスをトンネルの開始にだけ使用します。

ダイナミックに割り当てられるプライベート IP アドレスを持つピア

通常、リモートアクセス トンネルを要求するピアには、ヘッドエンドによって割り当てられたプライベート IP アドレスがあります。一般に、LAN-to-LAN トンネルには、スタティック マップの設定に使用され、IPsec SA の確立に使用されるプライベート ネットワークの事前設定済みのセットがあります。

スタティック暗号マップを設定する管理者は、割り当てられた方法には関係なく、ダイナミックに割り当てられる IP アドレス(DHCP またはその他の方法による)や、他のクライアントのプライベート IP アドレスを知らない場合もあります。通常、VPN クライアントには、スタティック IP アドレスがなく、IPSec ネゴシエーションを発生させるためのダイナミック暗号マップが必要です。たとえば、ヘッドエンドは IKE ネゴシエーション中に IP アドレスを Cisco VPN Client に割り当てますが、クライアントはこれを使用して IPSec SA をネゴシエートします。


) ダイナミック暗号マップには transform-set パラメータだけが必要です。


ダイナミック暗号マップは、IPSec コンフィギュレーションを容易にするので、ピアが必ずしも事前設定されていないネットワークで使用するのに適しています。ダイナミック暗号マップは、ダイナミックに割り当てられた IP アドレスを取得する Cisco VPN クライアント(たとえば、モバイル ユーザ)およびルータに使用します。


ヒント ダイナミック暗号マップの permit エントリで any キーワードを使用する場合は、注意が必要です。そのような permit エントリの対象となるトラフィックに、マルチキャスト トラフィックまたはブロードキャスト トラフィックが含まれる可能性がある場合は、適切なアドレス範囲に対する deny エントリをアクセスリストに挿入する必要があります。ネットワークとサブネット ブロードキャスト トラフィックに対して、また IPSec で保護しないその他のトラフィックに対しては、必ず deny エントリを挿入してください。


ダイナミック暗号マップは、接続を開始するリモート ピアと SA をネゴシエートするためだけに機能します。セキュリティ アプライアンスは、ダイナミック暗号マップを使用して、リモート ピアへの接続を開始することはできません。ダイナミック暗号マップ エントリでは、発信トラフィックがアクセスリストの permit エントリと一致しても、対応する SA がまだ存在しない場合、セキュリティ アプライアンスはそのトラフィックをドロップします。

暗号マップ セットにはダイナミック暗号マップを含めることができます。ダイナミック暗号マップには、暗号マップ セット内の暗号マップの中で最も低いプライオリティを設定し(つまり最も大きいシーケンス番号を付ける)、セキュリティ アプライアンスが他の暗号マップを最初に評価するようにする必要があります。他の(スタティック)マップ エントリが一致しなかった場合にだけ、ダイナミック暗号マップ セットが評価されます。

スタティック暗号マップ セットと同様に、ダイナミック暗号マップ セットも同じ名前を持つダイナミック暗号マップで構成されます。ダイナミック暗号マップ セット内のダイナミック暗号マップは、シーケンス番号によって区別されます。ダイナミック暗号マップを設定する場合は、IPSec ピアのデータ フローを暗号アクセスリストで識別するために、ACL の許可を挿入します。この処理を行わないと、セキュリティ アプライアンスはピアから提案されたデータ フロー ID をすべて受け入れます。


注意 ダイナミック暗号マップ セットが設定されたセキュリティ アプライアンスインターフェイスにトンネリングされるトラフィックには、スタティック(デフォルトの)ルートを割り当てないでください。トンネリングされるトラフィックを識別するには、ダイナミック暗号マップに ACL を追加します。リモートアクセス トンネルに関連付けられている ACL を設定する場合は、適切なアドレス プールを指定するように注意する必要があります。トンネルの確立を待ってから、逆ルート注入を使用してルートをインストールします。

ダイナミック暗号マップ エントリを使用するための手順は、スタティック暗号マップを作成する代わりにダイナミック暗号マップ エントリを作成するという点を除いて、「基本的な IPSec コンフィギュレーションの作成」で説明した基本的なコンフィギュレーションと同じです。1 つの暗号マップ セットの中でスタティック マップ エントリとダイナミック マップ エントリを組み合せることもできます。

暗号ダイナミック マップ エントリを作成するには、次の手順を実行します。


ステップ 1 (オプション)アクセスリストをダイナミック暗号マップに割り当てます。

crypto dynamic-map dynamic-map-name dynamic-seq-num match address access-list-name
 

これによって、保護するトラフィックと保護しないトラフィックが決まります。

次の例を参考にしてください。

crypto dynamic-map dyn1 10 match address 101
 

この例では、アクセスリスト 101 がダイナミック暗号マップ「dyn1」に割り当てられます。この暗号マップのシーケンス番号は 10 です。

ステップ 2 このダイナミック暗号マップに対して許可するトランスフォーム セットを指定します。複数のトランスフォーム セットをプライオリティ順(最高のプライオリティのものが最初)に列挙します。

crypto dynamic-map dynamic-map-name dynamic-seq-num set transform-set transform-set-name1, [transform-set-name2, ...transform-set-name9]
 

次の例を参考にしてください。

crypto dynamic-map dyn 10 set transform-set myset1 myset2
 

この例では、トラフィックがアクセスリスト 101 に一致すると、SA は、どのトランスフォーム セットがピアのトランスフォーム セットに一致するかによって、「myset1」(第 1 プライオリティ)と「myset2」(第 2 プライオリティ)のいずれかを使用できます。

ステップ 3 (オプション)グローバル ライフタイムを無効にする場合は、ダイナミック暗号マップの SA ライフタイムを指定します。

crypto dynamic-map dynamic-map-name dynamic-seq-num set security-association lifetime {seconds seconds | kilobytes kilobytes}
 

次の例を参考にしてください。

crypto dynamic-map dyn1 10 set security-association lifetime seconds 2700
 

この例では、ダイナミック暗号マップ「dyn1 10」の時間ライフタイムを 2700 秒に短縮します。
(45 分)。トラフィック量ライフタイムは変更されません。

ステップ 4 (オプション)IPSec がこのダイナミック暗号マップに対して新しい SA を要求するときに PFS を要求するか、または IPSec ピアから受け取る要求に PFS を要求するかを指定します。

crypto dynamic-map dynamic-map-name dynamic-seq-num set pfs [group1 | group2 | group5 | group7]
 

次の例を参考にしてください。

crypto dynamic-map dyn1 10 set pfs group5
 

ステップ 5 ダイナミック暗号マップ セットをスタティック暗号マップ セットに追加します。

ダイナミック マップを参照する暗号マップは、必ず暗号マップ セットの中でプライオリティ エントリを最低(シーケンス番号が最大)に設定してください。

crypto map map-name seq-num ipsec-isakmp dynamic dynamic-map-name
 

次の例を参考にしてください。

crypto map mymap 200 ipsec-isakmp dynamic dyn1
 


 

サイトツーサイト冗長性の定義

暗号マップを使用して、複数のピアに冗長性を定義できます。このコンフィギュレーションはサイトツーサイト VPN に便利です。

あるピアが失敗すると、セキュリティ アプライアンスは、暗号マップに関連付けられている次のピアへのトンネルを確立します。ネゴシエーションが成功したピアにセキュリティ アプライアンスからデータが送信されると、そのピアは「アクティブな」ピアになります。「アクティブな」ピアとは、後続のネゴシエーションに対して、ネゴシエーションが失敗するまでセキュリティ アプライアンスが常に最初に試みるピアのことです。ネゴシエーションが失敗した時点で、セキュリティ アプライアンスは次のピアに移ります。暗号マップに関連付けられているすべてのピアが失敗すると、セキュリティ アプライアンスのサイクルは最初のピアに戻ります。

IPSec コンフィギュレーションの表示

表24-5 に、IPSec コンフィギュレーションに関する情報の表示に使用できるコマンドのリストを示します。

 

表24-5 IPSec コンフィギュレーション情報を表示するためのコマンド

コマンド
目的

show running-configuration crypto

IPSec、暗号マップ、ダイナミック暗号マップ、ISAKMP など、暗号コンフィギュレーション全体を表示します。

show running-config crypto ipsec

IPSec コンフィギュレーション全体を表示します。

show running-config crypto isakmp

ISAKMP コンフィギュレーション全体を表示します。

show running-config crypto map

暗号マップ コンフィギュレーション全体を表示します。

show running-config crypto dynamic-map

ダイナミック暗号マップ コンフィギュレーションを表示します。

show all crypto map

すべてのコンフィギュレーション パラメータ(デフォルト値を持つパラメータも含む)を表示します。

セキュリティ アソシエーションのクリア

一部のコンフィギュレーション変更は、後続の SA をネゴシエートするときまで有効になりません。新しい設定をただちに有効にするには、既存の SA をクリアして、変更後のコンフィギュレーションで SA を再確立します。セキュリティ アプライアンスがアクティブに IPSec トラフィックを処理している場合は、SA データベースのうち、コンフィギュレーション変更の影響を受ける部分だけをクリアします。SA データベースを完全にクリアするのは、大規模な変更の場合や、セキュリティ アプライアンスが処理している IPSec トラフィック量が少ない場合に限定するようにしてください。

表24-6 に、IPSec SA のクリアと再初期設定に使用できるコマンドのリストを示します。

 

表24-6 IPSec SA のクリアおよび再初期設定用のコマンド

コマンド
目的

clear configure crypto

IPSec、暗号マップ、ダイナミック暗号マップ、ISAKMP など、暗号コンフィギュレーション全体を削除します。

clear configure crypto ca trustpoint

すべてのトラストポイントを削除します。

clear configure crypto dynamic-map

すべてのダイナミック暗号マップを削除します。特定のダイナミック暗号マップを削除できるキーワードもあります。

clear configure crypto map

すべての暗号マップを削除します。特定の暗号マップを削除できるキーワードもあります。

clear configure isakmp

ISAKMP コンフィギュレーション全体を削除します。

clear configure isakmp policy

すべての ISAKMP ポリシーまたは特定のポリシーを削除します。

clear isakmp sa

ISAKMP SA データベース全体を削除します。

暗号マップ コンフィギュレーションのクリア

clear configure crypto コマンドには、IPSec、暗号マップ、ダイナミック暗号マップ、CA トラストポイント、すべての証明書、証明書マップ コンフィギュレーション、ISAKMP など、暗号コンフィギュレーションの要素を削除できる引数が含まれます。

引数を指定しないで clear configure crypto コマンドを入力すると、暗号コンフィギュレーション全体(すべての認証も含む)が削除されることに注意してください。

詳細については、『 Cisco Security Appliance Command Reference 』の clear configure crypto コマンドを参照してください。