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

目次

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 コンフィギュレーションの表示

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

暗号マップ コンフィギュレーションの消去

Nokia VPN クライアントのサポート

IPSec と ISAKMP の設定

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

「トンネリングの概要」

「IPSec の概要」

「ISAKMP の設定」

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

「IPSec の設定」

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

「暗号マップ コンフィギュレーションの消去」

「Nokia VPN クライアントのサポート」

トンネリングの概要

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

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

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

トンネルの確立

ユーザとデータの認証

セキュリティ キーの管理

データの暗号化と復号化

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

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

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

IPSec の概要

セキュリティ アプライアンス は、LAN-to-LAN VPN 接続に IPSec を使用し、client-to-LAN VPN 接続に IPSec を使用するオプションがあります。IPSec 用語では、 ピア とは、リモート アクセス クライアントまたは別のセキュアなゲートウェイを意味します。両方の接続タイプで、セキュリティ アプライアンスは、Cisco ピアしかサポートしません。シスコでは VPN 業界標準に準拠しているため、他のベンダーのピアでも ASA は動作する場合がありますが、サポートはしていないためです。

トンネルの確立時に、2 つのピアは、認証、暗号化、カプセル化、およびキー管理を制御するセキュリティ アソシエーションをネゴシエートします。これらのネゴシエーションは、最初にトンネルを確立し(IKE SA)、次にトンネル内部でトラフィックを管理する(IPSec SA)という 2 段階のフェーズで行われます。

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


) セキュリティ アプライアンスに IPSec VPN を設定する場合、セキュリティ コンテキスト(ファイアウォール マルチ モードとも呼ばれる)または Active/Active ステートフル フェールオーバーをイネーブルにできません。したがって、これらの機能は使用できません。


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 のネゴシエーションは、フェーズ 1 とフェーズ 2 の 2 つに分かれています。

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

ISAKMP ネゴシエーションの条件を設定するには、次のような ISAKMP ポリシーを作成します。

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

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

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

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

この暗号キーを使用する時間の上限。この時間が経過するとセキュリティ アプライアンスは暗号キーを置き換えます。

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

 

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

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

crypto isakmp policy authentication

rsa-sig

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

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

crack

Challenge/Response for Authenticated Cryptographic Keys

CRACK は、クライアントが RADIUS などのレガシー方式を使用して認証を受け、サーバが公開キーによる認証方式を使用している場合に、強力な相互認証を実現します。

pre-share

(デフォルト)

事前共有キー

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

crypto 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 ビットの長さのキーをサポートしています。

crypto isakmp policy hash

sha(デフォルト)

SHA-1(HMAC バリアント)

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

md5

MD5(HMAC バリアント)

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

crypto isakmp policy group

1

Group 1(768 ビット)

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

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

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

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

2(デフォルト)

グループ 2(1024 ビット)

5

グループ 5(1536 ビット)

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

crypto isakmp policy priority attribute_name [ attribute_value | integer ]

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

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


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



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

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

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

hostname(config)# crypto isakmp policy 2 encryption des
 

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

crypto isakmp policy priority hash [md5 | sha]
 

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

hostname(config)# crypto isakmp policy 2 hash md5
 

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

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

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

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

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

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

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

hostname(config)# crypto isakmp policy 2 group 5
 
 

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

crypto isakmp policy priority lifetime seconds
 

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

hostname(config)# crypto isakmp policy 2 lifetime 14400
 


 

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

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

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

crypto isakmp enable interface-name
 

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

hostname(config)# crypto isakmp enable outside

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

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

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

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

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

crypto isakmp am-disable
 

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

hostname(config)# crypto isakmp am-disable

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

hostname(config)# no crypto isakmp am-disable

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


ISAKMP ピアの識別方式の決定

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

 

address

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

auto

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

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

証明書認証の証明書識別名

hostname

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

key-id

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

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

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

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

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

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

hostname(config)# crypto isakmp identity auto

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

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

Cisco ASA 5505 のホーム ゾーンを除き、セキュリティ アプライアンスは、データ交換を行うクライアントによっては、標準の 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 をイネーブルにするには、次のコマンドを入力します。

crypto isakmp nat-traversal natkeepalive

 

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

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

hostname(config)# crypto 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 つのトンネルをサポートする 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 をイネーブルにするには、次のコマンドを入力します。

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

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

hostname(config)# crypto isakmp ipsec-over-tcp port 45

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

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

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

crypto isakmp reload-wait
 

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

hostname(config)# crypto 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 ピアに対する接続解除の通知をイネーブルにするには、 crypto isakmp disconnect-notify コマンドを入力します。

 

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

hostname(config)# crypto 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)の Organizational Unit(OU; 組織ユニット)の値を使用することを示します。

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

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

rule index

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

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

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

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

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

ユーザを特定のトンネル グループに割り当てる前にすべての照合基準が必要な場合は、単一の規則を作成する。すべての照合基準が必要であることは、論理 AND 操作に相当します。または、ユーザを特定のトンネル グループに割り当てる前に照合基準が 1 つだけ必要な場合は、基準ごとに 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 は次の内容で構成されます。

トランスフォーム セット

暗号マップ

アクセス リスト

トンネル グループ

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

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

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

SA を作成するために使用されるトランスフォーム セットの定義を変更すると、セキュリティ アプライアンスはトンネルを切断します。詳細については、セキュリティ アソシエーションの消去を参照してください。


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


暗号マップの定義

暗号マップ は、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 トラフィックと暗号マップ セット内の暗号マップを、シーケンス番号が低い順に照合して評価します。

暗号マップに割り当てられている ACL は、同じアクセス リスト名を持つすべての 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 文が含まれます。 表 29-2 に、暗号マップに適用される ACL での ACE の許可と拒否の特別な意味を示します。

 

表 29-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 の拒否を挿入します。


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

 

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

 

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

この LAN-to-LAN ネットワーク例において、セキュリティ アプライアンス A、B、および C を設定する目的は、図 29-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 に割り当てられているシーケンス番号によって、暗号マップ セット内の評価の順序が決まります。

図 29-2 に、上記の概念 ACE から作成されたカスケード ACL を示します。この図で使用されている各記号の意味は、次のとおりです。

 

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

 

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

 

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

 

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

 

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

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

 

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

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

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

表 29-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 を許可

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

 

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

 

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

 

表 29-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 セキュリティ アプライアンスで保護されているさまざまなホストまたはサブネットにさまざまなセキュリティ設定を割り当てることができます。


) デフォルトでは、セキュリティ アプライアンスは、IPSec トラフィックが入ってきたインターフェイスと同じインターフェイスを宛先とするトラフィックはサポートしません (このタイプのトラフィックには、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 ネゴシエーション中は指定されたポリシーを使用します。

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

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

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

発信インターフェイスにバインドされている暗号マップ アクセス リストは、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 共有する暗号マップ名を割り当て、暗号マップを一括して「暗号マップ セット」としてインターフェイスに適用します。


 

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

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

 

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

送信元 = ホスト 10.0.0.1

宛先 = ホスト 10.2.2.2

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

送信元 = ホスト 10.2.2.2

宛先 = ホスト 10.0.0.1

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


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


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

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


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


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

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

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

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

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


) クライアントからの復号化された「通過」トラフィックは、no sysopt connection permit-vpn が設定されていても、外部インターフェイスに「deny ip any any」アクセス リストを呼び出すアクセス グループがあるにもかかわらず許可されます。

外部インターフェイス上で no sysopt permit コマンドとアクセス コントロール リスト(ACL)を使用して、保護されたネットワークへの、サイトツーサイト VPN またはリモート アクセス VPN を経由したアクセスを制御しようとしても、成功しません。

この状況では、内部の管理アクセスをイネーブルにすれば、ACL は適用されずに、ユーザは引き続き SSH を使用してセキュリティ アプライアンスに接続できます。内部ネットワーク上のホストに対するトラフィックは ACL によって正しくブロックされますが、内部インターフェイスへの復号化された「通過」トラフィックはブロックできません。

ssh コマンドおよび http コマンドのプライオリティは ACL より上です。つまり、VPN セッションからのボックスに対する ssh、telnet、または ICMP トラフィックを拒否するには、ssh、telnet、および icmp の各コマンドを使用して、IP ローカル プールの拒否を追加する必要があります。


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

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

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

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

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

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

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

スタティックまたはダイナミック暗号マップを使用する基本的な 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 次のコマンドを入力して、トラフィックを保護する方法を定義するトランスフォーム セットを設定します。

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. この暗号マップに対して許可するトランスフォーム セットを指定します。複数のトランスフォーム セットをプライオリティ順(最高のプライオリティのものが最初)に列挙します。1 つの暗号マップに 11 個までのトランスフォーム セットを指定できます。

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 を要求するときに PFS を要求するか、または IPSec ピアから受け取る要求に PFS を要求するかを指定します。

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

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

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 の確立にも使用されます。

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

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

 

表 29-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 トラフィック量が少ない場合に限定するようにしてください。

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

 

表 29-6 IPSec SA の消去および再初期設定用のコマンド

コマンド
目的

clear configure crypto

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

clear configure crypto ca trustpoint

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

clear configure crypto dynamic-map

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

clear configure crypto map

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

clear configure crypto isakmp

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

clear configure crypto isakmp policy

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

clear crypto isakmp sa

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

暗号マップ コンフィギュレーションの消去

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

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

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

Nokia VPN クライアントのサポート

セキュリティ アプライアンスは、Challenge/Response for Authenticated Cryptographic Keys(CRACK)プロトコルを使用して、Nokia 92xx Communicator シリーズの電話上の Nokia VPN クライアントからの接続をサポートします。CRACK は、デジタル証明書ではなくレガシー認証技術を使用している、IPSec に対応したモバイル クライアントに最も適しています。クライアントがレガシー方式に基づいた秘密キー認証技術(RADIUS など)を使用し、ゲートウェイが公開キー認証を使用している場合に、このプロトコルは相互認証を提供します。

Nokia のクライアントと CRACK プロトコルの両方をサポートするには、Nokia バックエンド サービスが稼動している必要があります。この要件には、図 29-5 に示すように、Nokia Security Services Manager(NSSM)と Nokia のデータベースが含まれます。

図 29-5 Nokia 92xx Communicator サービスの要件

 

Nokia VPN クライアントをサポートするには、セキュリティ アプライアンスで次の手順を実行します。

グローバル コンフィギュレーション モードで、 crypto isakmp policy priority authentication コマンドに crack キーワードを指定して使用し、CRACK 認証をイネーブルにします。次の例を参考にしてください。

hostname(config)# crypto isakmp policy 2
hostname(config-isakmp-policy)# authentication crack
 

クライアント認証にデジタル証明書を使用する場合は、さらに次の手順を実行します。


ステップ 1 トラストポイントを設定し、完全修飾ドメイン名を不要にします。トラストポイントは、NSSM やその他の CA の場合があります。次の例では、トラストポイントには CompanyVPNCA という名前が付いています。

hostname(config)# crypto ca trustpoint CompanyVPNCA
hostname(config-ca-trustpoint)# fqdn none
 

ステップ 2 ISAKMP ピアの ID を設定するには、次のいずれかの手順を実行します。

a. crypto isakmp identity コマンドに hostname キーワードを指定して使用します。次の例を参考にしてください。

hostname(config)# crypto isakmp identity hostname
 

または

b. crypto isakmp identity コマンドに auto キーワードを指定して使用し、接続タイプから ID が自動的に判定されるように設定します。次の例を参考にしてください。

hostname(config)# crypto isakmp identity auto

crypto isakmp identity auto コマンドを使用する場合は、クライアント証明書に含まれる DN アトリビュートが CN、OU、O、C、St、L の順になっていることを確認します。


Nokia クライアントで CRACK プロトコルをサポートするために必要な Nokia サービスの詳細、およびこれらのサービスのインストールと設定については、Nokia の代理店にお問い合せください。