Cisco ASA 5580 適応型セキュリティ アプライアン ス コマンド ライン コンフィギュレーション ガイド
L2TP over IPSec の設定
L2TP over IPSec の設定
発行日;2012/01/08 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 17MB) | フィードバック

目次

L2TP over IPSec の設定

L2TP の概要

IPSec の転送モードとトンネル モード

L2TP over IPSec 接続の設定

トンネル グループのスイッチング

Apple iPhone および MAC OS X との互換性

L2TP over IPSec 接続情報の表示

L2TP のデバッグ コマンドの使用

IPSec のデバッグのイネーブル化

その他の情報

L2TP over IPSec の設定

この章では、adaptive security applianceで L2TP over IPSec を設定する方法について説明します。次の項で構成されています。

「L2TP の概要」

「L2TP over IPSec 接続の設定」

「L2TP over IPSec 接続情報の表示」

L2TP の概要

  1. Layer 2 Tunneling Protocol(L2TP)は、リモート クライアントがパブリック IP ネットワークを使用して、企業のプライベート ネットワーク サーバと安全に通信できるようにする VPN トンネリング プロトコルです。L2TP は、データのトンネルに PPP over UDP(ポート 1701)を使用します。
  2. L2TP プロトコルは、クライアント/サーバ モデルに基づいています。機能は L2TP Network Server(LNS; L2TP ネットワーク サーバ)と L2TP Access Concentrator(LAC; L2TP アクセス コンセントレータ)に分かれています。LNS は、通常、ルータなどのネットワーク ゲートウェイで実行します。一方、LAC は、ダイヤルアップの Network Access Server(NAS; ネットワーク アクセス サーバ)や、Microsoft Windows 2000 などの L2TP クライアントの機能を搭載済みの PC で実行されます。

リモート アクセスのシナリオで IPSec 接続を使用して L2TP を設定する主な利点は、リモート ユーザがゲートウェイや専用回線を使わずにパブリック IP ネットワークを介して VPN にアクセスできることです。したがって、POTS を使用すれば、どこからでもアクセスできます。さらに、VPN にアクセスするクライアントは Windows 2000 と Microsoft Dial-Up Networking(DUN; ダイヤルアップ ネットワーク)を使用するだけでよいという利点があります。Cisco VPN クライアント ソフトウェアなどの他のクライアント ソフトウェアは必要ありません。

L2TP over IPSec を設定するには、まず、IPSec の転送モードを設定して、L2TP で IPSec をイネーブルにします。次に、virtual private dial-up network(VPDN; バーチャル プライベート ダイヤルアップ ネットワーク)グループと L2TP を設定します。

IPSec を使用する L2TP の設定では、事前共有キーまたは RSA シグニチャ方式を使用する証明書、および(スタティックではなく)ダイナミック暗号マップをサポートしています。ただし、ここで説明する手順は、IKE、および事前共有キーまたは RSA シグニチャの設定が完了していることを前提にしています。事前共有キー、RSA、およびダイナミック暗号マップの設定方法については、 第 36 章「証明書の設定」 を参照してください。


) adaptive security applianceで IPSec を使用する L2TP を設定すると、LNS が Windows 2000 L2TP クライアントと相互に運用できるようになります。現時点では、シスコや他のベンダーの LAC と相互に使用できません。IPSec を使用する L2TP だけをサポートしています。ネイティブ L2TP は、adaptive security applianceでは対応していません。
Windows 2000 クライアントがサポートしている IPSec セキュリティ アソシエーションの最短ライフタイムは、300 秒です。adaptive security applianceでライフタイムを 300 秒以下に設定している場合は、Windows 2000 はこの設定を無視し、300 秒に変更します。


IPSec の転送モードとトンネル モード

adaptive security applianceは、デフォルトで IPSec トンネル モードを使用します。つまり、IP データグラム全体が暗号化され、新しい IP パケットのペイロードになります。このモードでは、ルータなどのネットワーク デバイスが IPSec のプロキシとして動作できます。つまり、ルータがホストに代わって暗号化を行います。送信元ルータがパケットを暗号化し、IPSec のトンネルに送ります。宛先ルータは元の IP データグラムを復号化し、宛先システムに転送します。トンネル モードの主な利点は、IPSec を利用するためにエンド システムを変更する必要がないことです。また、トラフィック分析から保護することもできます。つまり、攻撃者には、トンネリングされたパケットの本来の送信元と宛先(これらがトンネルのエンドポイントと同じ場合でも同様)はわからず、トンネルのエンド ポイントしかわかりません。

ただし、Windows 2000 の L2TP/IPSec クライアントは、IPSec の転送モードを使用します。IP ペイロードだけが暗号化され、元の IP ヘッダーは暗号化されません。このモードには、各パケットに数バイトしか追加されず、パブリック ネットワーク上のデバイスに、パケットの本来の送信元と宛先を認識できるという利点があります。図 26-1 に、IPSec のトンネル モードと転送モードの違いを示します。

したがって、Windows 2000 の L2TP/IPSec クライアントからadaptive security applianceに接続するには、 crypto ipsec transform-set trans_name mode transport コマンドを使用して設定されたトランスフォーム セット用に、IPSec 転送モードを設定する必要があります。このコマンドの設定手順については、「L2TP over IPSec 接続の設定」を参照してください

この機能(転送モード)を設定することにより、IP ヘッダーの情報に基づいて、中間ネットワークで特別な処理(QoS など)を行えるようになります。ただし、レイヤ 4 ヘッダーは暗号化されるので、パケットの検査が制限されます。転送モードでは、IP ヘッダーがクリアテキストで送信されるため、攻撃者はトラフィックを分析できます。

図 26-1 IPSec のトンネル モードと転送モード

 

L2TP over IPSec 接続の設定

adaptive security applianceで L2TP over IPSec 接続を受け入れるように設定するには、次の手順を実行します。


) Cisco VPN Client バージョン 3.x または Cisco VPN 3000 Client バージョン 2.5 のいずれかがインストールされている場合、セキュリティ アプライアンスは Windows 2000 で L2TP/IPSec トンネルを確立しません。Windows 2000 の Services パネル([Start] > [Programs] > [Administrative Tools] > [Services] の順にクリックします)で、Cisco VPN Client バージョン 3.x の Cisco VPN Service、または Cisco VPN 3000 Client バージョン 2.5 の ANetIKE Service をディセーブルにしてください。次に、[Services] パネルで IPSec Policy Agent Service を再起動します。



ステップ 1 crypto ipsec transform-set コマンドと mode キーワードを次のように入力して、トンネル モードではなく転送モードを使用するように IPSec を指定します。

hostname(config)# crypto ipsec transform-set trans_name mode transport
 

ステップ 2 (オプション)トンネルグループの一般アトリビュート モードで address-pool コマンドを次のように入力して、クライアントに IP アドレスを割り当てるのに使用するローカル アドレス プールを指定します。

hostname(config)# tunnel-group name general-attributes
hostname(config-tunnel-general)# address-pool pool_name
 

ステップ 3 (オプション)グループポリシー コンフィギュレーション モードで dns value コマンドを次のように入力して、adaptive security applianceが DNS サーバの IP アドレスをクライアントに送信するように指定します。

hostname(config)# group-policy group_policy_name attributes
hostname(config-group-policy)# dns value [none | IP_primary [IP_secondary]]
 

ステップ 4 (オプション)グループポリシー コンフィギュレーション モードで wins-server コマンドを次のように入力して、adaptive security applianceが WINS サーバの IP アドレスをクライアントに送信するように指定します。

hostname(config-group-policy)# wins-server value [none | IP_primary [IP_secondary]]
 

ステップ 5 (オプション)トンネルグループの一般アトリビュート モードで accounting-server-group コマンドを次のように入力して、L2TP セッションの AAA アカウンティングの開始レコードと終了レコードを生成します。

hostname(config)# tunnel-group name general-attributes
hostname(config-tunnel-general)# accounting-server-group aaa_server_group
 

ステップ 6 vpn-tunnel-protocol l2tp-ipsec コマンドを入力して、グループまたはユーザ用の有効な VPN トンネリング プロトコルとして L2TP over IPSec を設定します。

グループ用に設定する場合、グループポリシー アトリビュート モードに入ります。

hostname(config)# group-policy group_policy_name attributes
hostname(config-group-policy)# vpn-tunnel-protocol l2tp-ipsec
 

ユーザ用に設定する場合、ユーザ名アトリビュート モードに入ります。

hostname(config)# username user_name attributes
hostname(config-username)# vpn-tunnel-protocol l2tp-ipsec
 

ステップ 7 tunnel-group コマンドを使用してトンネルグループを作成し、トンネルグループの一般アトリビュート モードで default-group-policy コマンドを入力して、グループポリシーの名前をトンネルグループにリンクします。

トンネルグループの ppp アトリビュート モードで hostname(config)# tunnel-group name type ipsec-ra
hostname(config)# tunnel-group name general-attributes
hostname(config-tunnel-general)# group-policy group_policy_name
 

ステップ 8 authentication type コマンドを入力して、PPP の認証プロトコルを設定します。 表 26-1 に、PPP 認証タイプとその特性を示します。

hostname(config)# tunnel-group name ppp-attributes
hostname(config-ppp)# authentication pap

 

表 26-1 認証タイプの特性

キーワード
認証タイプ
特性
chap

CHAP

サーバのチャレンジに対する応答で、クライアントは暗号化された「チャレンジとパスワード」およびクリアテキストのユーザ名を返します。PAP より安全ですが、データは暗号化されません。

eap-proxy

EAP

EAP をイネーブルにして、PPP の認証プロセスを外部の RADIUS 認証サーバにプロキシさせます。

ms-chap-v1
ms-chap-v2

Microsoft CHAP バージョン 1

Microsoft CHAP バージョン 2

CHAP と似ていますが、サーバは、CHAP のようなクリアテキストのパスワードではなく、暗号化したパスワードだけを保存および比較するので安全です。MPPE によるデータ暗号化のキーも生成します。

pap

PAP

認証中にクリアテキストのユーザ名とパスワードを渡すので、安全ではありません。

ステップ 9 L2TP over IPSec 接続を試行するユーザの認証方式を指定します。トンネルグループの一般アトリビュート モードで authentication-server-group コマンドを入力して、認証サーバまたは独自のローカル データベースを使用するようにadaptive security applianceを指定します。

認証サーバを使用する場合

認証サーバを使用するには、次のように、 authentication server group キーワードを入力します。

hostname(config)# tunnel-group name general-attributes
hostname(config-tunnel-general)# authentication-server-group auth_server_group

ローカル データベースを使用する場合

ローカル データベースを使用するには、次のように、 LOCAL キーワードを入力します。

hostname(config)# tunnel-group name general-attributes
hostname(config-tunnel-general)# authentication-server-group LOCAL
 

) ローカル データベースを使用する場合は、adaptive security applianceでは、PPP 認証方式としてPAP および Microsoft CHAP のバージョン 1 と 2 だけがサポートされています。EAP と CHAP による認証は、プロキシ認証サーバで行われます。そのため、リモート ユーザが authentication eap-proxy または authentication chap コマンドで設定したトンネルグループに所属している場合、adaptive security applianceでローカル データベースを使用するように設定すると、このユーザは接続できなくなります。


ステップ 10 グローバル コンフィギュレーション モードで username コマンドを入力して、ローカル データベースにユーザを作成します。

ユーザが Microsoft CHAP バージョン 1 または 2 を使用している L2TP クライアントで、adaptive security applianceでローカル データベースに対して認証するように設定した場合は、必ず mschap キーワードを付けてください。次の例を参考にしてください。

hostname(config)# username t_wmith password eu5d93h mschap
 

ステップ 11 グローバル コンフィギュレーション モードで l2tp tunnel hello コマンドを次のように入力して、hello メッセージの間隔を秒単位で設定します。

hostname(config)# l2tp tunnel hello seconds
 

ステップ 12 (オプション)adaptive security applianceに L2TP over IPSec 接続を試行する NAT デバイスの背後に L2TP クライアントが複数ある場合、NAT-Traversal をイネーブルにして、ESP パケットが 1 台または複数の NAT デバイスを通過できるようにする必要があります。

NAT-Traversal をグローバルでイネーブルにするには、グローバル コンフィギュレーション モードで ISAKMP がイネーブルになっている( crypto isakmp enable コマンドでイネーブルにできます)ことを確認し、次に crypto isakmp nat-traversal コマンドを使用します。次の例を参考にしてください。

hostname(config)# crypto isakmp enable
hostname(config)# crypto isakmp nat-traversal 30

トンネル グループのスイッチング

トンネル グループのスイッチングを使用すると、adaptive security applianceで、L2TP over IPSec 接続を確立する異なるユーザを別々のトンネル グループに関連付けることができます。トンネル グループごとに AAA サーバ グループと IP アドレス プールがあるので、自分のトンネル グループ固有の方式でユーザを認証できます。

この機能を使用する場合、ユーザは、ユーザ名だけではなく、 username@group_name 形式でユーザ名とグループ名を送信します。「@」は、設定可能な区切り文字で、group_name はadaptive security applianceで設定されているトンネル グループの名前です。

トンネル グループ スイッチングをイネーブルにするには、トンネル グループの一般アトリビュート モードで strip-group コマンドを使用して、グループの除去処理をイネーブルにする必要があります。イネーブルにすると、adaptive security applianceが VPN クライアントによって提示されるユーザ名からグループ名を取得してユーザ接続のトンネル グループを選択します。次に、adaptive security applianceは認可および認証のために、ユーザ名のユーザの部分だけを送信します。それ以外の場合(ディセーブルになっている場合)、adaptive security applianceは領域を含むユーザ名全体を送信します。次の例では、 telecommuters というトンネル グループのグループ除去処理をイネーブルにしています。

asa1(config)# tunnel-group telecommuters general-attributes
asa1(config-tunnel-general)# strip-group

Apple iPhone および MAC OS X との互換性

adaptive security applianceを Apple iPhone または MAC OS X と正常に接続するには、次の IKE(ISAKMP)ポリシー設定が必要です。

IKE フェーズ 1:SHA1 ハッシュ方式での 3DES 暗号化。

IPSec フェーズ 2:MD5 または SHA ハッシュ方式での 3DES または AES 暗号化。

PPP 認証:PAP、MS-CHAPv1、または MSCHAPv2(優先される)。

事前共有キー(iPhone の場合だけ)。

次の例では、iPhone および OS X との互換性のためのコンフィギュレーション ファイル コマンドを示します。

tunnel-group DefaultRAGroup general-attributes
address-pool pool
tunnel-group DefaultRAGroup ipsec-attributes
pre-shared-key *
tunnel-group DefaultRAGroup ppp-attributes
no authentication pap
authentication chap
authentication ms-chap-v1
authentication ms-chap-v2
crypto ipsec transform-set trans esp-3des esp-sha-hmac
crypto ipsec transform-set trans mode transport
crypto dynamic-map dyno 10 set transform-set set trans
crypto map vpn 20 ipsec-isakmp dynamic dyno
crypto map vpn interface outside
crypto isakmp identity auto
crypto isakmp enable outside
crypto isakmp policy 10
authentication pre-share
encryption 3des
hash sha
group 2
lifetime 86400
crypto isakmp nat-traversal 3600
 

IKE ポリシーの設定の詳細については、『IPSec と ISAKMP の設定』を参照してください。

L2TP over IPSec 接続情報の表示

show vpn-sessiondb コマンドには、L2TP over IPSec 接続についての詳細な情報を表示する際に使用できるプロトコル フィルタがあります。グローバル コンフィギュレーション モードからフル コマンドで使用する場合、 show vpn-sessoindb detailed remote filter protocol l2tpOverIpsec と入力します。

次の例では、単一の L2TP over IPSec 接続についての詳細情報を表示しています。

hostname# show vpn-sessiondb detail remote filter protocol L2TPOverIPSec
Session Type: Remote Detailed
Username : b_smith
Index : 1
Assigned IP : 90.208.1.200 Public IP : 70.208.1.212
Protocol : L2TPOverIPSec Encryption : 3DES
Hashing : SHA1
Bytes Tx : 418464 Bytes Rx : 424440
Client Type : Client Ver :
Group Policy : DfltGrpPolicy
Tunnel Group : DefaultRAGroup
Login Time : 13:24:48 UTC Thu Mar 30 2006
Duration : 1h:09m:18s
Filter Name : #ACSACL#-IP-ACL4Clients-440fa5aa
NAC Result : N/A
Posture Token:
IKE Sessions: 1
IPSec Sessions: 1
L2TPOverIPSec Sessions: 1
IKE:
Session ID : 1
UDP Src Port : 500 UDP Dst Port : 500
IKE Neg Mode : Main Auth Mode : preSharedKeys
Encryption : 3DES Hashing : SHA1
Rekey Int (T): 28800 Seconds Rekey Left(T): 24643 Seconds
D/H Group : 2
IPSec:
Session ID : 2
Local Addr : 80.208.1.2/255.255.255.255/17/1701
Remote Addr : 70.208.1.212/255.255.255.255/17/1701
Encryption : 3DES Hashing : SHA1
Encapsulation: Transport
Rekey Int (T): 3600 Seconds Rekey Left(T): 2856 Seconds
Rekey Int (D): 95000 K-Bytes Rekey Left(D): 95000 K-Bytes
Idle Time Out: 30 Minutes Idle TO Left : 30 Minutes
Bytes Tx : 419064 Bytes Rx : 425040
Pkts Tx : 4201 Pkts Rx : 4227
L2TPOverIPSec:
Session ID : 3
Username : l2tp
Assigned IP : 90.208.1.200
Encryption : none Auth Mode : PAP
Idle Time Out: 30 Minutes Idle TO Left : 30 Minutes
Bytes Tx : 301386 Bytes Rx : 306480
Pkts Tx : 4198 Pkts Rx : 4224
 
 

次の例では、単一の L2TP over IPSec over NAT 接続についての詳細情報を表示しています。

hostname# show vpn-sessiondb detail remote filter protocol L2TPOverIPSecOverNAtT
Session Type: Remote Detailed
Username : v_gonzalez
Index : 2
Assigned IP : 90.208.1.202 Public IP : 70.208.1.2
Protocol : L2TPOverIPSecOverNatT Encryption : 3DES
Hashing : MD5
Bytes Tx : 1009 Bytes Rx : 2241
Client Type : Client Ver :
Group Policy : DfltGrpPolicy
Tunnel Group : l2tpcert
Login Time : 14:35:15 UTC Thu Mar 30 2006
Duration : 0h:00m:07s
Filter Name :
NAC Result : N/A
Posture Token:
IKE Sessions: 1
IPSecOverNatT Sessions: 1
L2TPOverIPSecOverNatT Sessions: 1
IKE:
Session ID : 1
UDP Src Port : 4500 UDP Dst Port : 4500
IKE Neg Mode : Main Auth Mode : rsaCertificate
Encryption : 3DES Hashing : MD5
Rekey Int (T): 300 Seconds Rekey Left(T): 294 Seconds
D/H Group : 2
IPSecOverNatT:
Session ID : 2
Local Addr : 80.208.1.2/255.255.255.255/17/1701
Remote Addr : 70.208.1.2/255.255.255.255/17/0
Encryption : 3DES Hashing : MD5
Encapsulation: Transport
Rekey Int (T): 300 Seconds Rekey Left(T): 293 Seconds
Idle Time Out: 1 Minutes Idle TO Left : 1 Minutes
Bytes Tx : 1209 Bytes Rx : 2793
Pkts Tx : 20 Pkts Rx : 32
L2TPOverIPSecOverNatT:
Session ID : 3
Username : v_gonzalez
Assigned IP : 90.208.1.202
Encryption : none Auth Mode : PAP
Idle Time Out: 1 Minutes Idle TO Left : 1 Minutes
Bytes Tx : 584 Bytes Rx : 2224
Pkts Tx : 18 Pkts Rx : 30

===================

L2TP のデバッグ コマンドの使用

特権 EXEC モードで debug l2tp コマンドを使用すると、L2TP のデバッグ情報を表示できます。デバッグ情報の表示をディセーブルにするには、このコマンドの no 形式を使用します。

debug l2tp { data | error | event | packet } level

data を指定すると、データ パケットのトレース情報が表示されます。

error を指定すると、エラー イベントが表示されます。

event を指定すると、L2TP 接続のイベントが表示されます。

packet を指定すると、パケットのトレース情報が表示されます。

level で、表示するデバッグ メッセージのレベル(1 ~ 255)を設定します。デフォルトは 1 です。高いレベルのメッセージを追加して表示する場合は、レベルを大きい数値に設定してください。

次の例では、接続イベントの L2TP デバッグ メッセージをイネーブルにしています。 show debug コマンドで、L2TP デバッグ メッセージがイネーブルになっていることを確認します。

hostname# debug l2tp event 1
hostname# show debug
debug l2tp event enabled at level 1
hostname#

IPSec のデバッグのイネーブル化

レジストリを追加して IPSec のデバッグ情報を Windows 2000 クライアントに追加するには、次の手順を実行します。


ステップ 1 Windows 2000 のレジストリ エディタ(REGEDIT)を起動します。

ステップ 2 次のレジストリ エントリを検索します。

MyComputer\HKEY_LOCAL_MACHINE\CurrentControlSet\Services\PolicyAgent

ステップ 3 oakley と入力して、キーを作成します。

ステップ 4 EnableLogging と入力して、DWORD を作成します。

ステップ 5 「Enable Logging」値を「1」に設定します。

ステップ 6 IPSec Policy Agent をいったん停止して、再開します([Start] > [Programs > [Administrative Tools] > [Services] の順にクリックします)。デバッグ ファイルは「%windir%\debug\oakley.log」に保存されます。


 

その他の情報

次に、www.microsoft.com サイトに記載されているさまざまな記事についての情報を示します。

http://support.microsoft.com/support/kb/articles/Q240/2/62.ASP

事前共有キーによる認証を使用する L2TP/IPSec 接続の設定方法が記載されています。

http://support.microsoft.com/support/kb/articles/Q253/4/98.ASP

IP Security(IPSec)接続で使用する証明書のインストール方法が記載されています。

http://www.microsoft.com/windows2000/en/server/help/default.asp?url=/WINDOWS2000/en/server/help/sag_VPN_us26.htm

L2TP over IPSec VPN 接続用の Windows 2000 マシン証明書の使用方法が記載されています。

http://www.microsoft.com/windows2000/techinfo/planning/security/ipsecsteps.asp#heading3

カスタム MMC コンソールを作成する方法とコンピュータの監査ポリシーをイネーブルにする方法が記載されています。

http://support.microsoft.com/support/kb/articles/Q259/3/35.ASP