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

目次

LAN-to-LAN IPSec VPN の設定

コンフィギュレーションのまとめ

インターフェイスの設定

ISAKMP ポリシーの設定と外部インターフェイスでの ISAKMP のイネーブル化

トランスフォーム セットの作成

ACL の設定

トンネルグループの定義

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

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

LAN-to-LAN IPSec VPN の設定

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

この章では、LAN-to-LAN VPN 接続の構築方法について説明します。ここでは、次の項目について説明します。

「コンフィギュレーションのまとめ」

「インターフェイスの設定」

「ISAKMP ポリシーの設定と外部インターフェイスでの ISAKMP のイネーブル化」

「トランスフォーム セットの作成」

「ACL の設定」

「トンネルグループの定義」

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

コンフィギュレーションのまとめ

ここでは、この章で作成するサンプルの LAN-to-LAN コンフィギュレーションの概要を説明します。後の項で、手順の詳細を説明します。

hostname(config)# interface ethernet0
hostname(config-if)# ip address 10.10.4.100 255.255.0.0
hostname(config-if)# no shutdown
hostname(config)# isakmp policy 1 authentication pre-share
hostname(config)# isakmp policy 1 encryption 3des
hostname(config)# isakmp policy 1 hash sha
hostname(config)# isakmp policy 1 group 2
hostname(config)# isakmp policy 1 lifetime 43200
hostname(config)# isakmp enable outside
hostname(config)# crypto ipsec transform set FirstSet esp-3des esp-md5-hmac
hostname(config)# access-list l2l_list extended permit ip 192.168.0.0 255.255.0.0 150.150.0.0 255.255.0.0
hostname(config)# tunnel-group 10.10.4.108 type ipsec-l2l
hostname(config)# tunnel-group 10.10.4.108 ipsec-attributes
hostname(config-ipsec)# pre-shared-key 44kkaol59636jnfx
hostname(config)# crypto map abcmap 1 match address l2l_list
hostname(config)# crypto map abcmap 1 set peer 10.10.4.108
hostname(config)# crypto map abcmap 1 set transform-set FirstSet
hostname(config)# crypto map abcmap interface outside
hostname(config)# write memory

インターフェイスの設定

セキュリティ アプライアンスには、少なくとも 2 つのインターフェイスがあり、これらをここでは外部と内部と言います。一般に、外部インターフェイスは、パブリック インターネットに接続されます。一方、内部インターフェイスは、プライベート ネットワークに接続され、一般のアクセスから保護されます。

最初に、セキュリティ アプライアンスの 2 つのインターフェイスを設定し、イネーブルにします。次に、名前、IP アドレス、およびサブネット マスクを割り当てます。オプションで、セキュリティ レベル、速度、およびセキュリティ アプライアンスでの二重操作を設定します。

インターフェイスを設定するには、例で示すコマンド シンタックスを使用して、次の手順を実行します。


ステップ 1 インターフェイス コンフィギュレーション モードに入るには、グローバル コンフィギュレーション モードで、設定するインターフェイスのデフォルト名を指定して interface コマンドを入力します。次の例で、インターフェイスは ethernet0 です。

hostname(config)# interface ethernet0
hostname(config-if)#
 

ステップ 2 インターフェイスの IP アドレスとサブネット マスクを設定するには、 ip address コマンドを入力します。次の例で、IP アドレスは 10.10.4.100、サブネット マスクは 255.255.0.0 です。

hostname(config-if)# ip address 10.10.4.100 255.255.0.0
hostname(config-if)#
 

ステップ 3 インターフェイスに名前を付けるには、 nameif コマンドを入力します。最大 48 文字です。この名前は、設定した後で変更することはできません。次の例で、ethernet0 インターフェイスの名前は outside です。

hostname(config-if)# nameif outside
hostname(config-if)##
 

ステップ 4 インターフェイスをイネーブルにするには、 shutdown コマンドの no 形式を使用します。デフォルトでは、インターフェイスはディセーブルです。

hostname(config-if)# no shutdown
hostname(config-if)#
 

ステップ 5 変更を保存するには、 write memory コマンドを入力します。

hostname(config-if)# write memory
hostname(config-if)#
 

ステップ 6 同じ手順で、2 番目のインターフェイスを設定します。


 

ISAKMP ポリシーの設定と外部インターフェイスでの ISAKMP のイネーブル化

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

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

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

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

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

Hashed Message Authentication Code 方式。送信者の身元を保証し、搬送中にメッセージが変更されていないことを保証します。

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

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

IKE ポリシーのキーワードとその値の詳細については、このマニュアルの「IPSec と ISAKMP の設定」の章の 表24-1 を参照してください。

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

isakmp policy priority attribute_name [ attribute_value | integer ]

次の手順を実行し、ガイドとして次の例で示すコマンド シンタックスを使用します。


ステップ 1 認証方式を設定します。次の例では、事前共有キーを設定します。このステップおよび後続のすべてのステップで、プライオリティは 1 です。

hostname(config)# isakmp policy 1 authentication pre-share
hostname(config)#
 

ステップ 2 暗号方式を設定します。次の例では、3DES に設定します。

hostname(config)# isakmp policy 1 encryption 3des
hostname(config)#
 

ステップ 3 HMAC 方式を設定します。次の例では、SHA-1 に設定します。

hostname(config)# isakmp policy 1 hash sha
hostname(config)#
 

ステップ 4 Diffie-Hellman グループを設定します。次の例では、グループ 2 に設定します。

hostname(config)# isakmp policy 1 group 2
hostname(config)#
 

ステップ 5 暗号キーのライフタイムを設定します。次の例では、43,200 秒(12 時間)に設定します。

hostname(config)# isakmp policy 1 lifetime 43200
hostname(config)#
 

ステップ 6 outside というインターフェイス上の ISAKMP をイネーブルにします。

hostname(config)# isakmp enable outside
hostname(config)#
 

ステップ 7 変更を保存するには、 write memory コマンドを入力します。

hostname(config)# write memory
hostname(config)#
 


 

トランスフォーム セットの作成

トランスフォーム セットは、暗号化方式と認証方式を組み合せたものです。特定のデータ フローを保護する場合、ピアは、ISAKMP との IPSec セキュリティ アソシエーションのネゴシエート中に、特定のトランスフォーム セットを使用することに同意します。トランスフォーム セットは、両方のピアで同じである必要があります。

トランスフォーム セットを複数作成して、暗号マップ エントリでそれらのトランスフォーム セットを 1 つまたはそれ以上指定することもできます。セキュリティ アプライアンスは、トランスフォーム セットを使用して、その暗号マップ エントリ アクセスリストのデータ フローを保護します。

表29-1 に、有効な暗号化方式と認証方式を示します。

 

表29-1 暗号化方式と認証方式

有効な暗号化方式
有効な認証方式

esp-des

esp-md5-hmac

esp-3des(デフォルト)

esp-sha-hmac(デフォルト)

esp-aes(128 ビット暗号化)

esp-aes-192

esp-aes-256

esp-null

パブリック インターネットなどの非信頼ネットワークを介して接続された 2 つのセキュリティ アプライアンス間で、IPSec を実装する通常の方法は、トンネル モードです。トンネル モードはデフォルトであり、設定は必要ありません。

トランスフォーム セットを設定するには、次の手順を実行します。


ステップ 1 グローバル コンフィギュレーション モードで、 crypto ipsec transform-set コマンドを入力します。次の例では、名前が FirstSet で、暗号化と認証にそれぞれ esp-3des と esp-md5-hmac を使用するトランスフォーム セットを設定しています。シンタックスは次のとおりです。

crypto ipsec transform-set transform-set-name encryption-method authentication-method

hostname(config)# crypto ipsec transform-set FirstSet esp-3des esp-md5-hmac
hostname(config)#
 

ステップ 2 変更を保存します。

hostname(config)# write memory
hostname(config)#
 


 

ACL の設定

セキュリティ アプライアンスは、アクセスコントロール リストを使用してネットワーク アクセスを制御します。デフォルトでは、セキュリティ アプライアンスはすべてのトラフィックを拒否します。トラフィックを許可する ACL を設定する必要があります。

この LAN-to-LAN VPN 制御接続で設定する ACL は、送信元と宛先の IP アドレスに基づいています。接続の両側に、互いにミラーリングする ACL を設定します。

ACL を設定するには、次の手順を実行します。


ステップ 1 access-list extended コマンドを入力します。次の例では、192.168.0.0 のネットワーク内にある IP アドレスから 150.150.0.0 のネットワークにトラフィックを送信する、l2l_list という名前の ACL を設定します。シンタックスは、 access-list listname extended permit ip source-ipaddress source-netmask destination-ipaddress destination-netmask です。

hostname(config)# access-list l2l_list extended permit ip 192.168.0.0 255.255.0.0 150.150.0.0 255.255.0.0
hostname(config)#
 

ステップ 2 接続のもう一方の側のセキュリティ アプライアンスに、上記の ACL をミラーリングする ACL を設定します。次の例では、該当ピアのプロンプトは hostname2 です。

hostname2(config)# access-list l2l_list extended permit ip 150.150.0.0 255.255.0.0 192.168.0.0 255.255.0.0
hostname(config)#
 


 

トンネルグループの定義

トンネルグループは、トンネル接続ポリシーを格納したレコードのセットです。AAA サーバを識別するトンネルグループを設定し、接続パラメータを指定し、デフォルトのグループポリシーを定義します。セキュリティ アプライアンスは、トンネルグループを内部的に保存します。

セキュリティ アプライアンス システムには、2 つのデフォルト トンネルグループがあります。1 つはデフォルトの IPSec リモートアクセス トンネルグループである DefaultRAGroup で、もう 1 つはデフォルトの IPSec LAN-to-LAN トンネルグループである DefaultL2Lgroup です。これらは、変更可能ですが、削除することはできません。また、環境に合った新しいトンネルグループを 1 つ以上作成することもできます。トンネル ネゴシエーション中に特定のトンネルグループが指定されなかった場合、セキュリティ アプライアンスは、これらのグループを使用してリモートアクセスおよび LAN-to-LAN トンネルグループのデフォルト トンネル パラメータを設定します。

基本的な LAN-to-LAN 接続を確立するには、次のように 2 つのアトリビュートをトンネルグループに設定する必要があります。

接続タイプを IPSec LAN-to-LAN に設定します。

認証方式を設定します。次の例では、事前共有キーを使用します。


ステップ 1 接続タイプを IPSec LAN-to-LAN に設定するには、 tunnel-group コマンドを入力します。シンタックスは、 tunnel-group name type type です。ここで、 name はトンネルグループに割り当てる名前であり、 type はトンネルのタイプです。CLI で入力するトンネル タイプは、次のとおりです。

ipsec-ra (IPSec リモートアクセス)

ipsec-l2l (IPSec LAN-to-LAN)

次の例では、トンネルグループの名前は、LAN-to-LAN ピアの IP アドレスである 10.10.4.108 です。

hostname(config)# tunnel-group 10.10.4.108 type ipsec-l2l
hostname(config)#
 

ステップ 2 認証方式を事前共有キーに設定するには、ipsec アトリビュート モードに入り、 pre-shared-key コマンドを入力して事前共有キーを作成します。この LAN-to-LAN 接続の両方のセキュリティ アプライアンスで、同じ事前共有キーを使用する必要があります。

キーは、1 ~ 128 文字の英数字文字列です。次の例で、事前共有キーは 44kkaol59636jnfx です。

hostname(config)# tunnel-group 10.10.4.108 ipsec-attributes
hostname(config-ipsec)# pre-shared-key 44kkaol59636jnfx
 

ステップ 3 変更を保存します。

hostname(config)# write memory
hostname(config)#
 


 

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

暗号マップ エントリは、IPSec セキュリティ アソシエーションの次のような各種要素をまとめたものです。

IPSec で保護する必要のあるトラフィック(アクセスリストで定義)

IPSec で保護されたトラフィックの送信先(ピアで指定)

トラフィックに適用される IPSec セキュリティ(トランスフォーム セットで指定)

IPSec トラフィックのローカル アドレス(インターフェイスに暗号マップを適用して指定)

IPSec が成功するためには、両方のピアに互換性のあるコンフィギュレーションを持つ暗号マップ エントリが存在する必要があります。2 つの暗号マップ エントリが互換性を持つためには、両者が少なくとも次の基準を満たす必要があります。

暗号マップ エントリに、互換性を持つ暗号アクセスリスト(たとえば、ミラー イメージ アクセスリスト)が含まれている。応答するピアがダイナミック暗号マップを使用している場合は、セキュリティ アプライアンスの暗号アクセスリストのエントリがピアの暗号アクセスリストによって「許可」されている必要があります。

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

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

所定のインターフェイスに対して複数の暗号マップ エントリを作成する場合は、各エントリのシーケンス番号(seq-num)を使用して、エントリにランクを付けます。seq-num が小さいほど、プライオリティが高くなります。暗号マップ セットを持つインターフェイスでは、セキュリティ アプライアンスはまずトラフィックをプライオリティの高いマップ エントリと照合して評価します。

次の条件のいずれかに当てはまる場合は、所定のインターフェイスに対して複数の暗号マップ エントリを作成します。

複数のピアで異なるデータ フローを処理する場合。

異なるタイプのトラフィック(同一または個別のピアへの)に異なる IPSec セキュリティを適用する場合。たとえば、あるサブネット セット間のトラフィックは認証し、別のサブネット セット間のトラフィックは認証および暗号化するような場合です。この場合は、異なるタイプのトラフィックを 2 つの個別のアクセスリストで定義し、各暗号アクセスリストに対して個別に暗号マップ エントリを作成します。

暗号マップを作成して外部インターフェイスに割り当てるには、グローバル コンフィギュレーション モードで crypto map コマンドをいくつか入力します。これらのコマンドではさまざまな引数を使用しますが、シンタックスはすべて crypto map map-name-seq-num で始まります。次の例では、マップ名は abcmap で、シーケンス番号は 1 です。

これらのコマンドは、グローバル コンフィギュレーション モードで入力します。


ステップ 1 アクセスリストを暗号マップ エントリに割り当てるには、 crypto map match address コマンドを入力します。

シンタックスは、 crypto map map-name seq-num match address aclname です。次の例では、マップ名は abcmap、シーケンス番号は 1、アクセスリスト名は l2l_list です。

hostname(config)# crypto map abcmap 1 match address l2l_list
hostname(config)#
 

ステップ 2 IPSec 接続用のピアを指定するには、 crypto map set peer コマンドを入力します。

シンタックスは、 crypto map map-name seq-num set peer { ip_address1 | hostname1 }[... ip_address10 | hostname10 ] です。次の例では、ピア名は 10.10.4.108 です。

hostname(config)# crypto map abcmap 1 set peer 10.10.4.108
hostname(config)#
 

ステップ 3 暗号マップ エントリにトランスフォーム セットを指定するには、 crypto map set transform-set コマンドを入力します。

シンタックスは、 crypto map map-name seq-num set transform-set transform-set-name です。次の例では、トランスフォーム セット名は FirstSet です。

hostname(config)# crypto map abcmap 1 set transform-set FirstSet
hostname(config)#
 


 

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

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

また、暗号マップをインターフェイスにバインドすると、セキュリティ アソシエーション データベースやセキュリティ ポリシー データベースなどのランタイム データ構造も初期化されます。暗号マップを後から変更すると、セキュリティ アプライアンスは自動的にその変更を実行コンフィギュレーションに適用します。既存の接続はすべてドロップされ、新しい暗号マップの適用後に再確立されます。


ステップ 1 設定済みの暗号マップを外部インターフェイスに適用するには、 crypto map interface コマンドを入力します。シンタックスは、 crypto map map-name interface interface-name です。

hostname(config)# crypto map abcmap interface outside
hostname(config)#
 

ステップ 2 変更を保存します。

hostname(config)# write memory
hostname(config)#