セキュリティと VPN : IPSec ネゴシエーション/IKE プロトコル

IPSec トンネルの設定方法: Cisco ルータ - Checkpoint Firewall 4.1 間

2003 年 12 月 1 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2008 年 10 月 13 日) | フィードバック

目次


概要

ここでは、ルータ内の 192.168.1.X プライベート ネットワークと Checkpoint Firewall 内の 10.32.50.X プライベート ネットワークの 2 つのネットワークを結合するために事前共有キーを使用して IPSec トンネルを作成する方法を示します。ここに提示されている設定例は、この設定を開始する前に、ルータ内部と Checkpoint 内部からインターネット(ここでは、172.18.124.X ネットワークとして表記されている)へトラフィックが流れていることを前提にしています。

注: トラフィックがルータ側から新たに再発信された場合には、ルータのリブートによってトンネルの再確立が妨げられることがあります。ログイン アカウントを持つ登録ユーザであれば、Bug tool Kit(VPN 技術に関する TAC ツールからリンク) へアクセスし、Bug ID CSCdt61701 を検索することで、この問題に関する補足情報を確認できます。一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことを、ご了承ください。

ハードウェアとソフトウェアのバージョン

この設定は、次のソフトウェアとハードウェアのバージョンを使用して開発およびテストされました。

  • Cisco 3600 ルータ
  • Cisco IOS® ソフトウェア(C3640-JO3S56I-M)、バージョン 12.1(5)T、リリース ソフトウェア(fc1)
  • Checkpoint Firewall 4.1

ネットワークダイアグラム

Network Diagram

設定

Cisco 3600 ルータの設定
Current configuration : 1608 bytes
!
version 12.1
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname cisco_endpoint
!
logging rate-limit console 10 except errors
!
ip subnet-zero
!
no ip finger
!
ip audit notify log
ip audit po max-events 100
!
!--- インターネットキー交換(IKE)の設定 crypto isakmp policy 1
authentication pre-share
crypto isakmp key ciscorules address 172.18.124.157
! !--- IPSec の設定 crypto ipsec transform-set rtpset esp-des esp-sha-hmac
!
crypto map rtp 1 ipsec-isakmp
set peer 172.18.124.157
set transform-set rtpset
match address 115
! call rsvp-sync cns event-service server ! controller T1 1/0 ! controller T1 1/1 ! interface Ethernet0/0 ip address 172.18.124.35 255.255.255.240 ip nat outside no ip mroute-cache half-duplex crypto map rtp ! interface Ethernet0/1 ip address 192.168.1.1 255.255.255.0 ip nat inside half-duplex ! interface FastEthernet1/0 no ip address shutdown duplex auto speed auto ! ip kerberos source-interface any ip nat pool INTERNET 172.18.124.36 172.18.124.36 netmask 255.255.255.240
ip nat inside source route-map nonat pool INTERNET
ip classless ip route 0.0.0.0 0.0.0.0 172.18.124.34 no ip http server ! access-list 101 deny ip 192.168.1.0 0.0.0.255 10.32.50.0 0.0.0.255
access-list 101 permit ip 192.168.1.0 0.0.0.255 any
access-list 115 permit ip 192.168.1.0 0.0.0.255 10.32.50.0 0.0.0.255
access-list 115 deny ip 192.168.1.0 0.0.0.255 any
route-map nonat permit 10
match ip address 101
! dial-peer cor custom ! line con 0 transport input none line aux 0 line vty 0 4 login ! end

Checkpoint Firewall

  1. IKE と IPSec のデフォルトのライフタイムはベンダーによって異なるため、[Properties] 、[Encryption] メニューを選択して、Checkpoint のライフタイムがシスコのデフォルトに合致するように設定してください。

    シスコのデフォルトの IKE ライフタイムは 86400 秒(= 1440 分)で、次のコマンドによって変更できます。
    crypto isakmp policy #
    lifetime #

    設定可能なシスコの IKE ライフタイムは 60 〜 86400 秒です。

    シスコのデフォルトの IPSec ライフタイムは 3600 秒で、次のコマンドによって変更できます。
    crypto ipsec security-association lifetime seconds #

    設定可能なシスコの IPSec ライフタイムは 120 〜 86400 秒です。

    screen capture

  2. [Manage]、[Network objects]、[New (または Edit)] 、[Network] メニューを選択して、Checkpoint の背後にある内部ネットワーク( "cpinside" と呼ばれる)のオブジェクトを設定します。 

    これは、Cisco コマンドの宛先(2 番目の)ネットワークと合致していなければなりません。
    access-list 115 permit ip 192.168.1.0 0.0.0.255 10.32.50.0 0.0.0.255

    [Location] の下で、Internal を選択します。

    screen capture

  3. [Manage]、[Network objects]、[Edit] メニューを選択して、次のコマンドの中で Cisco ルータがポイントする RTPCPVPN Checkpoint [ゲートウェイ] エンドポイントのオブジェクトを編集します。
    set peer 172.18.124.157

    [Location] の下で、Internal を選択します。[Type] では、Gateway を選択します。[Modules Installed] の下では、[VPN-1 & FireWall-1] チェックボックスをオンにし、さらに、[Management Station] チェックボックスもオンにします。

    screen capture

  4. [Manage]、[Network objects]、[New]、[Network] メニューを選択して、Cisco ルータの背後にある外部ネットワーク( "inside_cisco" と呼ばれる)のオブジェクトを編集します。

    これは、Cisco コマンドの送信元(1 番目の)ネットワークに合致していなければなりません。
    access-list 115 permit ip 192.168.1.0 0.0.0.255 10.32.50.0 0.0.0.255

    [ Location] の下で External を選択します。

    screen capture

  5. [Manage]、[Network objects]、[New]、[Workstation] メニューを選択して、外部 Cisco ルータ ゲートウェイ( "cisco_endpoint" と呼ばれる)のオブジェクトを追加します。これは、次のコマンドの適用先となる Cisco インターフェイスです。

    crypto map name

    [Location] の下で、External を選択します。[Type] では、Gateway を選択します。
    注: [VPN-1/FireWall-1] チェックボックスはオンにしないでください。

    screen capture

  6. [Manage]、[Network objects]、[Edit] メニューを選択して、Checkpoint ゲートウェイ エンドポイント( "RTPCPVPN" と呼ばれる)の [VPN] タブを編集します。[Domain] の下で Other を選択し、ドロップダウン リストから Checkpoint ネットワークの内部ネットワーク( "cpinside" と呼ばれる)を選択します。[Encryption schemes defined] の下で IKE を選択し、その後 [Edit] をクリックします。

    screen capture

  7. DES 暗号化の IKE プロパティを、コマンドと合致するように変更します。

    crypto isakmp policy #
    encryption des

    注: DES 暗号化はデフォルトのため、Cisco 設定内では表示されません。

  8. コマンドに合致させるため、IKE プロパティを SHA1 ハッシュに変更します。

    crypto isakmp policy #
    hash sha

    注: SHA ハッシュ アルゴリズムはデフォルトのため、Cisco 設定内では表示されません。

    次の設定を変更します。

    1. Aggressive Mode をオフにします。
    2. [Supports Subnets] チェックボックスをオンにします。
    3. [Authentication Method] の下で [Pre-Shared Secret] チェックボックスをオンにします。これは、次のコマンドと同等です。

      crypto isakmp policy #
      authentication pre-share

      screen capture

  9. 次に、[Edit Secrets] をクリックし、事前共有キーを Cisco コマンドに合致するように設定します。

    crypto isakmp key key address address

    screen capture

  10. [Manage]、[Network objects]、[Edit] メニューを選択し、 ["cisco_endpoint" VPN] タブを編集します。[Domain] の下で Other を選択し、Cisco ネットワークの内部ネットワークを選択します( "inside_cisco" と呼ばれる)。[Encryption schemes defined] の下で IKE を選択し、[Edit] をクリックします。

    screen capture

  11. 次のコマンドに合致させるため、DES 暗号化の IKE プロパティを変更します。

    crypto isakmp policy #
    encryption des

    注: DES 暗号化はデフォルトのため、Cisco 設定内では表示されません。

  12. 次のコマンドに合致させるため、IKE プロパティを SHA1 ハッシュに変更します。

    crypto isakmp policy #
    hash sha

    注: SHA ハッシュ アルゴリズムはデフォルトのため、Cisco 設定内では表示されません。

    次の設定を変更します。

    1. Aggressive Mode をオフにします。
    2. [Supports Subnets] チェックボックスをオンにします。
    3. [ Authentication Method] の下で [Pre-Shared Secret] チェックボックスをオンにします。これは、次のコマンドと同等です。

      crypto isakmp policy #
      authentication pre-share

      screen capture

  13. [Edit Secrets] をクリックして、次の Cisco コマンドに合致するように事前共有キーを設定します。
    crypto isakmp key key address address

    screen capture

  14. [Policy Editor] ウィンドウで、送信元と宛先の両方がそれぞれ "inside_cisco" と "cpinside" である(双方向)ルールを挿入します。[Service] は Any、[Action] は Encrypt、[Track] は Long に設定します。

    screen capture

  15. [Action] ヘッダーの下で緑色の [Encrypt] アイコンをクリックし、[Edit properties] を選択して暗号化ポリシーを設定します。

    screen capture

  16. IKE を選択し、[Edit] をクリックします。

    screen capture

  17. [IKE Properties] 画面で、これらのプロパティを、次のコマンドの Cisco IPSec トランスフォームに合致するように変更します。

    crypto ipsec transform-set rtpset esp-des esp-sha-hmac

    [Transform] の下で Encryption + Data Integrity (ESP) を選択します。[Encryption Algorithm] は DES に、[Data Integrity] は SHA1 になっているはずです。また、[Allowed Peer Gateway] は外部ルータ ゲートウェイ( "cisco_endpoint" と呼ばれる)になっているはずです。[OK] をクリックします。

    screen capture

  18. Checkpoint を設定後、Checkpoint メニューで [Policy]、[Install] を選択し変更内容を反映させます。

debugshow、clear コマンド

debug コマンドを実行する前に、デバッグ コマンドに関する重要な情報に目を通してください。

Cisco ルータ

  • debug crypto engine:暗号化と復号化を実行する暗号化エンジンに関するデバッグ メッセージを表示する
  • debug crypto isakmp:IKE イベントに関するメッセージを表示する
  • debug crypto ipsec:IPSec イベントを表示する
  • show crypto isakmp sa:ピア側の現在の IKE セキュリティ アソシエーション(SA)をすべて表示する
  • show crypto ipsec sa:現在の SA が使用している設定値を表示する
  • clear crypto isakmp:すべてのアクティブな IKE 接続を切断する
  • clear crypto sa:すべての IPSec SA を削除する

Checkpoint

[Policy Editor] ウィンドウ内でトラッキングが Long に設定されたため、拒否されたトラフィックは [Log Viewer] 内に赤色で表示されます。次のコマンドを実行することで、より詳細なデバッグ情報を取得できます。

C:\WINNT\FW1\4.1\fwstop
C:\WINNT\FW1\4.1\fw d -d

また、別のウィンドウ内で次のコマンドを実行します。

C:\WINNT\FW1\4.1\fwstart

注: これは、Microsoft Windows NT インストールでした。

Checkpoint 上での SA の消去は、次のコマンドを実行することで実現できます。

fw tab -t IKE_SA_table -x
fw tab -t ISAKMP_ESP_table -x
fw tab -t inbound_SPI -x
fw tab -t ISAKMP_AH_table -x

さらに、"Are you sure?" プロンプトで "yes" と答えます。

デバッグの出力例

Configuration register is 0x2102

cisco_endpoint#deb cry isa Crypto ISAKMP debugging is on cisco_endpoint#deb cry ips Crypto IPSEC debugging is on cisco_endpoint#deb cry eng Crypto Engine debugging is on cisco_endpoint# 20:54:06: IPSEC(sa_request): , (key eng. msg.) src= 172.18.124.35, dest= 172.18.124.157, src_proxy= 192.168.1.0/255.255.255.0/0/0 (type=4), dest_proxy= 10.32.50.0/255.255.255.0/0/0 (type=4), protocol= ESP, transform= esp-des esp-sha-hmac , lifedur= 3600s and 4608000kb, spi= 0xA29984CA(2727969994), conn_id= 0, keysize= 0, flags= 0x4004 20:54:06: ISAKMP: received ke message (1/1) 20:54:06: ISAKMP: local port 500, remote port 500 20:54:06: ISAKMP (0:1): beginning Main Mode exchange 20:54:06: ISAKMP (0:1): sending packet to 172.18.124.157 (I) MM_NO_STATE 20:54:06: ISAKMP (0:1): received packet from 172.18.124.157 (I) MM_NO_STATE 20:54:06: ISAKMP (0:1): processing SA payload. message ID = 0 20:54:06: ISAKMP (0:1): found peer pre-shared key matching 172.18.124.157 20:54:06: ISAKMP (0:1): Checking ISAKMP transform 1 against priority 1 policy 20:54:06: ISAKMP: encryption DES-CBC 20:54:06: ISAKMP: hash SHA 20:54:06: ISAKMP: default group 1 20:54:06: ISAKMP: auth pre-share 20:54:06: ISAKMP (0:1): atts are acceptable. Next payload is 0 20:54:06: CryptoEngine0: generate alg parameter 20:54:06: CRYPTO_ENGINE: Dh phase 1 status: 0 20:54:06: CRYPTO_ENGINE: Dh phase 1 status: 0 20:54:06: ISAKMP (0:1): SA is doing pre-shared key authentication using id type ID_IPV4_ADDR 20:54:06: ISAKMP (0:1): sending packet to 172.18.124.157 (I) MM_SA_SETUP 20:54:06: ISAKMP (0:1): received packet from 172.18.124.157 (I) MM_SA_SETUP 20:54:06: ISAKMP (0:1): processing KE payload. message ID = 0 20:54:06: CryptoEngine0: generate alg parameter 20:54:06: ISAKMP (0:1): processing NONCE payload. message ID = 0 20:54:06: ISAKMP (0:1): found peer pre-shared key matching 172.18.124.157 20:54:06: CryptoEngine0: create ISAKMP SKEYID for conn id 1 20:54:06: ISAKMP (0:1): SKEYID state generated 20:54:06: ISAKMP (1): ID payload next-payload : 8 type : 1 protocol : 17 port : 500 length : 8 20:54:06: ISAKMP (1): Total payload length: 12 20:54:06: CryptoEngine0: generate hmac context for conn id 1 20:54:06: ISAKMP (0:1): sending packet to 172.18.124.157 (I) MM_KEY_EXCH 20:54:06: ISAKMP (0:1): received packet from 172.18.124.157 (I) MM_KEY_EXCH 20:54:06: ISAKMP (0:1): processing ID payload. message ID = 0 20:54:06: ISAKMP (0:1): processing HASH payload. message ID = 0 20:54:06: CryptoEngine0: generate hmac context for conn id 1 20:54:06: ISAKMP (0:1): SA has been authenticated with 172.18.124.157 20:54:06: ISAKMP (0:1): beginning Quick Mode exchange, M-ID of 1855173267 20:54:06: CryptoEngine0: generate hmac context for conn id 1 20:54:06: ISAKMP (0:1): sending packet to 172.18.124.157 (I) QM_IDLE 20:54:06: CryptoEngine0: clear dh number for conn id 1 20:54:06: ISAKMP (0:1): received packet from 172.18.124.157 (I) QM_IDLE 20:54:06: CryptoEngine0: generate hmac context for conn id 1 20:54:06: ISAKMP (0:1): processing HASH payload. message ID = 1855173267 20:54:06: ISAKMP (0:1): processing SA payload. message ID = 1855173267 20:54:06: ISAKMP (0:1): Checking IPSec proposal 1 20:54:06: ISAKMP: transform 1, ESP_DES 20:54:06: ISAKMP: attributes in transform: 20:54:06: ISAKMP: encaps is 1 20:54:06: ISAKMP: SA life type in seconds 20:54:06: ISAKMP: SA life duration (basic) of 3600 20:54:06: ISAKMP: SA life type in kilobytes 20:54:06: ISAKMP: SA life duration (VPI) of 0x0 0x46 0x50 0x0 20:54:06: ISAKMP: authenticator is HMAC-SHA 20:54:06: validate proposal 0 20:54:06: ISAKMP (0:1): atts are acceptable. 20:54:06: IPSEC(validate_proposal_request): proposal part #1, (key eng. msg.) dest= 172.18.124.157, src= 172.18.124.35, dest_proxy= 10.32.50.0/255.255.255.0/0/0 (type=4), src_proxy= 192.168.1.0/255.255.255.0/0/0 (type=4), protocol= ESP, transform= esp-des esp-sha-hmac , lifedur= 0s and 0kb, spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x4 20:54:06: validate proposal request 0 20:54:06: ISAKMP (0:1): processing NONCE payload. message ID = 1855173267 20:54:06: ISAKMP (0:1): processing ID payload. message ID = 1855173267 20:54:06: ISAKMP (0:1): processing ID payload. message ID = 1855173267 20:54:06: CryptoEngine0: generate hmac context for conn id 1 20:54:06: ipsec allocate flow 0 20:54:06: ipsec allocate flow 0 20:54:06: ISAKMP (0:1): Creating IPSec SAs 20:54:06: inbound SA from 172.18.124.157 to 172.18.124.35 (proxy 10.32.50.0 to 192.168.1.0) 20:54:06: has spi 0xA29984CA and conn_id 2000 and flags 4 20:54:06: lifetime of 3600 seconds 20:54:06: lifetime of 4608000 kilobytes 20:54:06: outbound SA from 172.18.124.35 to 172.18.124.157 (proxy 192.168.1.0 to 10.32.50.0) 20:54:06: has spi 404516441 and conn_id 2001 and flags 4 20:54:06: lifetime of 3600 seconds 20:54:06: lifetime of 4608000 kilobytes 20:54:06: ISAKMP (0:1): sending packet to 172.18.124.157 (I) QM_IDLE 20:54:06: ISAKMP (0:1): deleting node 1855173267 error FALSE reason "" 20:54:06: IPSEC(key_engine): got a queue event... 20:54:06: IPSEC(initialize_sas): , (key eng. msg.) dest= 172.18.124.35, src= 172.18.124.157, dest_proxy= 192.168.1.0/255.255.255.0/0/0 (type=4), src_proxy= 10.32.50.0/255.255.255.0/0/0 (type=4), protocol= ESP, transform= esp-des esp-sha-hmac , lifedur= 3600s and 4608000kb, spi= 0xA29984CA(2727969994), conn_id= 2000, keysize= 0, flags= 0x4 20:54:06: IPSEC(initialize_sas): , (key eng. msg.) src= 172.18.124.35, dest= 172.18.124.157, src_proxy= 192.168.1.0/255.255.255.0/0/0 (type=4), dest_proxy= 10.32.50.0/255.255.255.0/0/0 (type=4), protocol= ESP, transform= esp-des esp-sha-hmac , lifedur= 3600s and 4608000kb, spi= 0x181C6E59(404516441), conn_id= 2001, keysize= 0, flags= 0x4 20:54:06: IPSEC(create_sa): sa created, (sa) sa_dest= 172.18.124.35, sa_prot= 50, sa_spi= 0xA29984CA(2727969994), sa_trans= esp-des esp-sha-hmac , sa_conn_id= 2000 20:54:06: IPSEC(create_sa): sa created, (sa) sa_dest= 172.18.124.157, sa_prot= 50, sa_spi= 0x181C6E59(404516441), sa_trans= esp-des esp-sha-hmac , sa_conn_id= 2001 cisco_endpoint#sho cry ips sa interface: Ethernet0/0 Crypto map tag: rtp, local addr. 172.18.124.35 local ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0) remote ident (addr/mask/prot/port): (10.32.50.0/255.255.255.0/0/0) current_peer: 172.18.124.157 PERMIT, flags={origin_is_acl,} #pkts encaps: 14, #pkts encrypt: 14, #pkts digest 14 #pkts decaps: 14, #pkts decrypt: 14, #pkts verify 14 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts compr. failed: 0, #pkts decompress failed: 0 #send errors 1, #recv errors 0 local crypto endpt.: 172.18.124.35, remote crypto endpt.: 172.18.124.157 path mtu 1500, media mtu 1500 current outbound spi: 181C6E59 inbound esp sas: spi: 0xA29984CA(2727969994) transform: esp-des esp-sha-hmac , in use settings ={Tunnel, } slot: 0, conn id: 2000, flow_id: 1, crypto map: rtp --More-- sa timing: remaining key lifetime (k/sec): (4607998/3447) IV size: 8 bytes replay detection support: Y inbound ah sas: inbound pcp sas: outbound esp sas: spi: 0x181C6E59(404516441) transform: esp-des esp-sha-hmac , in use settings ={Tunnel, } slot: 0, conn id: 2001, flow_id: 2, crypto map: rtp sa timing: remaining key lifetime (k/sec): (4607997/3447) IV size: 8 bytes replay detection support: Y outbound ah sas: outbound pcp sas: cisco_endpoint#sho cry isa sa dst src state conn-id slot 172.18.124.157 172.18.124.35 QM_IDLE 1 0 cisco_endpoint#exit


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 5463