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

Cisco PIX Firewall と NetScreen Firewall 間の IPSec LAN-to-LAN トンネルの設定

2015 年 11 月 25 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2008 年 6 月 22 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

このドキュメントでは、最新のソフトウェアを使って、Cisco PIX Firewall と NetScreen Firewall 間で、IPSec LAN-to-LAN トンネルを確立するために必要な手順について説明します。 IPSec トンネルを介して別のファイアウォールと通信を行う各デバイスの背後には、プライベート ネットワークが存在します。

前提条件

要件

この設定を行う前に、次の要件が満たされていることを確認します。

  • NetScreen Firewall に、信頼できるインターフェイスおよび信頼できないインターフェイスの IP アドレスが設定されていること。

  • インターネットへの接続が確立されていること。

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。

  • PIX Firewall ソフトウェア バージョン 6.3(1)

  • NetScreen の最新のリビジョン

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。 ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

設定

この項では、このドキュメントで説明する機能の設定に必要な情報を提供します。

注: このセクションで使用されているコマンドの詳細を調べるには、Command Lookup Tool登録ユーザ専用)を使用してください。

ネットワーク構成図

このドキュメントでは、次のネットワーク構成を使用しています。

/image/gif/paws/45423/ipsec-netscreen-01.gif

設定

このドキュメントでは、次の設定を使用します。

PIX Firewall の設定

PIX ファイアウォール
PIX Version 6.3(1)
interface ethernet0 10baset
interface ethernet1 100full
nameif ethernet0 outside security0
nameif ethernet1 inside security100
enable password 8Ry2YjIyt7RRXU24 encrypted
passwd 2KFQnbNIdI.2KYOU encrypted
hostname pixfirewall
domain-name cisco.com
fixup protocol ftp 21
fixup protocol h323 h225 1720
fixup protocol h323 ras 1718-1719
fixup protocol http 80
fixup protocol ils 389
fixup protocol rsh 514
fixup protocol rtsp 554
fixup protocol sip 5060
fixup protocol sip udp 5060
fixup protocol skinny 2000
fixup protocol smtp 25
fixup protocol sqlnet 1521
names

!--- Access control list (ACL) for interesting traffic to be encrypted and 
!--- to bypass the Network Address Translation (NAT) process.

access-list nonat permit ip 10.0.25.0 255.255.255.0 10.0.3.0 255.255.255.0
pager lines 24
logging on
logging timestamp
logging buffered debugging
icmp permit any inside
mtu outside 1500
mtu inside 1500

!--- IP addresses on the interfaces.

ip address outside 172.18.124.96 255.255.255.0
ip address inside 10.0.25.254 255.255.255.0
ip audit info action alarm
ip audit attack action alarm
pdm logging informational 100
pdm history enable
arp timeout 14400
global (outside) 1 interface

!--- Bypass of NAT for IPsec interesting inside network traffic.

nat (inside) 0 access-list nonat
nat (inside) 1 0.0.0.0 0.0.0.0 0 0

!--- Default gateway to the Internet.

route outside 0.0.0.0 0.0.0.0 172.18.124.1 1
timeout xlate 0:05:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h225 1:00:00
timeout h323 0:05:00 mgcp 0:05:00 sip 0:30:00 sip_media 0:02:00
timeout uauth 0:05:00 absolute
aaa-server TACACS+ protocol tacacs+
aaa-server RADIUS protocol radius
aaa-server LOCAL protocol local
http 10.0.0.0 255.0.0.0 inside
no snmp-server location
no snmp-server contact
snmp-server community public
no snmp-server enable traps
floodguard enable

!--- This command avoids applied ACLs or conduits on encrypted packets.

sysopt connection permit-ipsec

!--- Configuration of IPsec Phase 2.

crypto ipsec transform-set mytrans esp-3des esp-sha-hmac
crypto map mymap 10 ipsec-isakmp
crypto map mymap 10 match address nonat
crypto map mymap 10 set pfs group2
crypto map mymap 10 set peer 172.18.173.85
crypto map mymap 10 set transform-set mytrans
crypto map mymap interface outside

!--- Configuration of IPsec Phase 1.

isakmp enable outside

!--- Internet Key Exchange (IKE) pre-shared key
!--- that the peers use to authenticate.

isakmp key testme address 172.18.173.85 netmask 255.255.255.255
isakmp identity address
isakmp policy 10 authentication pre-share
isakmp policy 10 encryption 3des
isakmp policy 10 hash sha
isakmp policy 10 group 2
isakmp policy 10 lifetime 86400
telnet timeout 5
ssh timeout 5
console timeout 0
dhcpd lease 3600
dhcpd ping_timeout 750
terminal width 80

NetScreen Firewall の設定

NetScreen Firewall を設定するには、次のステップを実行します。

  1. Lists > Address の順に選択し、Trusted タブに移動し、New Address をクリックします。

  2. トンネルで暗号化される NetScreen 内部ネットワークを追加し、OK をクリックします。

    注: Trust オプションが選択されていることを確認してください。

    次の例では、255.255.255.0 のマスクが割り当てられたネットワーク 10.0.3.0 を使用します。

    ipsec-netscreen-02.gif

  3. Lists > Address の順に選択し、Untrusted タブに移動し、New Address をクリックします。

  4. パケットを暗号化するときに NetScreen Firewall が使用するリモート ネットワークを追加し、OK をクリックします。

    注: NetScreen 以外のゲートウェイへの VPN を設定するときは、アドレス グループを使用しないでください。 アドレス グループを使用すると、VPN の相互運用性が損なわれます。 NetScreen 以外のセキュリティ ゲートウェイは、アドレス グループが使用されていると、NetScreen によって作成されたプロキシ ID を解釈できません。

    この問題には、2 つの回避策があります。

    • アドレス グループを、個別のアドレス帳エントリに分割する。 アドレス帳エントリごとに、個別のポリシーを指定する。

    • 可能な場合は、非 NetScreen ゲートウェイ(ファイアウォール デバイス)でプロキシ ID を 0.0.0.0/0 に設定する。

    次の例では、255.255.255.0 のマスクが割り当てられたネットワーク 10.0.25.0 を使用します。

    ipsec-netscreen-03.gif

  5. VPN ゲートウェイ(Phase 1 と Phase 2 の IPSec ポリシー)を設定するには、Network > VPN の順に選択し、Gateway タブに移動して、New Remote Tunnel Gateway をクリックします。

  6. PIX の外部インターフェイスの IP アドレスを使ってトンネルを終端し、Phase 1 IKE オプションをバインドするように設定します。 完了したら、[OK] をクリックします。

    この例では、次のフィールドと値を使用します。

    • Gateway Name(ゲートウェイ名): To501

    • Static IP Address(スタティック IP アドレス): 172.18.124.96

    • Mode(モード): Main (ID Protection)(メイン(ID 保護))

    • Preshared Key(事前共有鍵): " "testme"

    • Phase 1 proposal(Phase 1 プロポーザル): pre-g2-3des-sha

    ipsec-netscreen-04.gif

    リモート ゲートウェイ トンネルを作成すると、次のような画面が表示されます。

    ipsec-netscreen-05.gif

  7. Proposal 1 を設定するには、P1 Proposal タブに移動し、New Phase 1 Proposal をクリックします。

  8. Phase 1 Proposal の設定情報を入力し、OK をクリックします。

    この例では、Phase 1 交換用に次のフィールドと値を使用します。

    • Name: ToPix501

    • Authentication: Preshare

    • DH group: Group2

    • 暗号化: 3DES-CBC

    • Hash(ハッシュ): SHA-1

    • Lifetime(ライフタイム): 3600 Sec(3600 秒)

    ipsec-netscreen-06.gif

    NetScreen の設定に Phase 1 を追加すると、次のような画面が表示されます。

    ipsec-netscreen-07.gif

  9. Proposal 2 を設定するには、P2 Proposal タブに移動し、New Phase 2 Proposal をクリックします。

  10. Phase 2 Proposal の設定情報を入力し、OK をクリックします。

    この例では、Phase 2 交換用に次のフィールドと値を使用します。

    • Name: ToPix501

    • Perfect Forward Secrecy(完全転送秘密): DH-2(1024 ビット)

    • Encryption Algorithm(暗号化アルゴリズム): 3DES-CBC

    • Authentication Algorithm(認証アルゴリズム): SHA-1

    • Lifetime(ライフタイム): 26400 Sec(26400 秒)

    ipsec-netscreen-08.gif

    NetScreen の設定に Phase 2 を追加すると、次のような画面が表示されます。

    ipsec-netscreen-09.gif

  11. AutoKeys IKE の作成と設定を行うには、AutoKey IKE タブを選択し、New AutoKey IKE Entry をクリックします。

  12. AutoKey IKE の設定情報を入力し、OK をクリックします。

    この例では、AutoKey IKE 用に次のフィールドと値を使用します。

    • Name: VPN-1

    • Remote Gateway Tunnel Name(リモート ゲートウェイ トンネル名): To501

      (Gateway タブですでに作成されています。)

    • Phase 2 proposal(Phase 2 プロポーザル): ToPix501

      (P2 Proposal タブですでに作成されています。)

    • VPN Monitor(VPN モニタ): [Enable]

      (これにより、NetScreen デバイスで Simple Network Management Protocol(SNMP; 簡易ネットワーク管理プロトコル)トラップが設定され、VPN モニタの状態を監視できます。)

    ipsec-netscreen-10.gif

    VPN-1 ルールを設定すると、次のような画面が表示されます。

    ipsec-netscreen-11.gif

  13. IPSec トラフィックの暗号化を許可するルールを設定するには、Network > Policy の順に選択し、Outgoing タブに移動して、New Policy をクリックします。

  14. ポリシーの設定情報を入力し、OK をクリックします。

    この例では、ポリシー用に次のフィールドと値を使用します。 Name フィールドはオプションで、この例では使用しません。

    • Source Address(送信元アドレス): InsideNetwork

      (Trusted タブですでに定義されています。)

    • Destination Address(送信先アドレス): RemoteNetwork

      (Untrusted タブですでに定義されています。)

    • Service(サービス): あらゆる

    • アクション: Tunnel(トンネル)

    • VPN Tunnel(VPN トンネル): VPN-1

      (AutoKey IKE タブですでに定義されています。)

    • Modify matching incoming VPN policy(一致する着信 VPN ポリシーの修正): オン

      (このオプションを有効にすると、外部ネットワークの VPN トラフィックに一致する着信ルールが自動作成されます。)

    ipsec-netscreen-12.gif

  15. ポリシーを追加したら、発信 VPN ルールが、ポリシー リストの最初にあることを確認します (着信トラフィック用に自動作成されたルールは、Incoming タブで確認できます)。

    ポリシーの順番を変更する場合は、次の手順に従ってください。

    1. Outgoing タブをクリックします。

    2. Move Policy Micro ウィンドウを表示するため、Configure カラムの環状の矢印をクリックします。

    3. VPN ポリシーが ポリシー ID 0 の上に来るように(VPN ポリシーがリストの一番上に来るように)、ポリシーの順番を変更します。

    ipsec-netscreen-13.gif

    着信トラフィックのルールを確認するには、Incoming タブに移動します。

    ipsec-netscreen-14.gif

確認

このセクションでは、設定が正しく動作していることを確認するために使用できる情報を説明します。

確認コマンド

Output Interpreter Tool(OIT)(登録ユーザ専用)では、特定の show コマンドがサポートされています。 OIT を使用して、show コマンド出力の解析を表示できます。

  • ping - 基本ネットワークの接続を診断します。

  • show crypto ipsec sa - フェーズ 2 のセキュリティ アソシエーションを表示します。

  • show crypto isakmp sa:フェーズ 1 のセキュリティ アソシエーションを表示します。

確認出力

pingshow コマンドの出力例を次に示します。

この ping は、NetScreen Firewall の背後のホストから発行されました。

C:\>ping 10.0.25.1 -t
Request timed out.
Request timed out.
Reply from 10.0.25.1: bytes=32 time<105ms TTL=128
Reply from 10.0.25.1: bytes=32 time<114ms TTL=128
Reply from 10.0.25.1: bytes=32 time<106ms TTL=128
Reply from 10.0.25.1: bytes=32 time<121ms TTL=128
Reply from 10.0.25.1: bytes=32 time<110ms TTL=128
Reply from 10.0.25.1: bytes=32 time<116ms TTL=128
Reply from 10.0.25.1: bytes=32 time<109ms TTL=128
Reply from 10.0.25.1: bytes=32 time<110ms TTL=128
Reply from 10.0.25.1: bytes=32 time<118ms TTL=128

show crypto ipsec sa コマンドの出力を次に示します。

pixfirewall(config)#show crypto ipsec sa

interface: outside
    Crypto map tag: mymap, local addr. 172.18.124.96

   local  ident (addr/mask/prot/port): 
      (10.0.25.0/255.255.255.0/0/0)
   remote ident (addr/mask/prot/port): 
      (10.0.3.0/255.255.255.0/0/0)
   current_peer: 172.18.173.85:500
     PERMIT, flags={origin_is_acl,}
    #pkts encaps: 11, #pkts encrypt: 11, #pkts digest 11
    #pkts decaps: 11, #pkts decrypt: 13, #pkts verify 13
    #pkts compressed: 0, #pkts decompressed: 0
    #pkts not compressed: 0, #pkts compr. failed: 0, 
    #pkts decompress failed: 0, #send errors 0, #recv errors 1

     local crypto endpt.: 172.18.124.96, 
        remote crypto endpt.: 172.18.173.85
     path mtu 1500, ipsec overhead 56, media mtu 1500
     current outbound spi: f0f376eb
 
     inbound esp sas:
      spi: 0x1225ce5c(304467548)
        transform: esp-3des esp-sha-hmac ,
        in use settings ={Tunnel, }
        slot: 0, conn id: 3, crypto map: mymap
       sa timing: remaining key lifetime (k/sec): 
         (4607974/24637)
       IV size: 8 bytes
       replay detection support: Y

    inbound ah sas:

    inbound pcp sas:

    outbound esp sas:
     spi: 0xf0f376eb(4042487531)
       transform: esp-3des esp-sha-hmac ,
       in use settings ={Tunnel, }
       slot: 0, conn id: 4, crypto map: mymap
       sa timing: remaining key lifetime (k/sec): 
         (4607999/24628)
       IV size: 8 bytes
       replay detection support: Y

    outbound ah sas:

    outbound pcp sas:

show crypto isakmp sa コマンドの出力を次に示します。

pixfirewall(config)#show crypto isakmp sa
Total     : 1
Embryonic : 0
      dst            src        state   pending  created
 172.18.124.96  172.18.173.85  QM_IDLE     0        1

トラブルシューティング

ここでは、設定のトラブルシューティングに役立つ情報について説明します。

トラブルシューティングのためのコマンド

注: debug コマンドを使用する前に、『debug コマンドの重要な情報』を参照してください。

  • debug crypto engine - crypto エンジンに関する情報を表示します。

  • debug crypto ipsec - IPsec イベントに関する情報を表示します。

  • debug crypto isakmp:IKE イベントに関するメッセージを表示します。

debug 出力例

PIX Firewall からの debug の出力例を次に示します。

debug crypto engine
debug crypto ipsec
debug crypto isakmp

crypto_isakmp_process_block:src:172.18.173.85, 
  dest:172.18.124.96 spt:500 dpt:500
OAK_MM exchange
ISAKMP (0): processing SA payload. message ID = 0

ISAKMP (0): Checking ISAKMP transform 1 against priority 10 policy
ISAKMP:      encryption 3DES-CBC
ISAKMP:      hash SHA
ISAKMP:      default group 2
ISAKMP:      auth pre-share
ISAKMP:      life type in seconds
ISAKMP:      life duration (basic) of 28800
ISAKMP (0): atts are acceptable. Next payload is 0
ISAKMP (0): processing vendor id payload

ISAKMP (0): processing vendor id payload
 
ISAKMP (0): SA is doing pre-shared key authentication 
   using id type ID_IPV4_ADDR
return status is IKMP_NO_ERROR
crypto_isakmp_process_block:src:172.18.173.85, 
   dest:172.18.124.96 spt:500 dpt:500
OAK_MM exchange
ISAKMP (0): processing KE payload. message ID = 0

ISAKMP (0): processing NONCE payload. message ID = 0

return status is IKMP_NO_ERROR
crypto_isakmp_process_block:src:172.18.173.85, 
   dest:172.18.124.96 spt:500 dpt:500
OAK_MM exchange
ISAKMP (0): processing ID payload. message ID = 0
ISAKMP (0): processing HASH payload. message ID = 0
ISAKMP (0): SA has been authenticated

ISAKMP (0): ID payload
        next-payload : 8
        type         : 1
        protocol     : 17
        port         : 500
        length       : 8
ISAKMP (0): Total payload length: 12
return status is IKMP_NO_ERROR
ISAKMP (0): sending INITIAL_CONTACT notify
ISAKMP (0): sending NOTIFY message 24578 protocol 1
VPN Peer: ISAKMP: Added new peer: ip:172.18.173.85/500 
   Total VPN Peers:1
VPN Peer: ISAKMP: Peer ip:172.18.173.85/500 Ref cnt 
   incremented to:1 
   Total VPN Peers:1
crypto_isakmp_process_block:src:172.18.173.85, 
   dest:172.18.124.96 spt:500 dpt:500
ISAKMP (0): processing DELETE payload. message ID = 534186807, 
   spi size = 4IPSEC(key_engin
e): got a queue event...
IPSEC(key_engine_delete_sas): rec'd delete notify from ISAKMP
IPSEC(key_engine_delete_sas): 
   delete all SAs shared with 172.18.173.85

return status is IKMP_NO_ERR_NO_TRANS
crypto_isakmp_process_block:src:172.18.173.85, 
   dest:172.18.124.96 spt:500 dpt:500
OAK_QM exchange
oakley_process_quick_mode: OAK_QM_IDLE
ISAKMP (0): processing SA payload. message ID = 4150037097

ISAKMP : Checking IPSec proposal 1

ISAKMP: transform 1, ESP_3DES
ISAKMP:   attributes in transform:
ISAKMP:      SA life type in seconds
ISAKMP:      SA life duration (VPI) of 0x0 0x0 0x67 0x20
ISAKMP:      encaps is 1
ISAKMP:      authenticator is HMAC-SHA
ISAKMP:      group is 2
ISAKMP (0): atts are acceptable.
IPSEC(validate_proposal_request): proposal part #1,
  (key eng. msg.) dest= 172.18.124.96, src= 172.18.173.85,
    dest_proxy= 10.0.25.0/255.255.255.0/0/0 (type=4),
    src_proxy= 10.0.3.0/255.255.255.0/0/0 (type=4),
    protocol= ESP, transform= esp-3des esp-sha-hmac ,
    lifedur= 0s and 0kb,
    spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x24

ISAKMP (0): processing NONCE payload. message ID = 4150037097

ISAKMP (0): processing KE payload. message ID = 4150037097

ISAKMP (0): processing ID payload. message ID = 4150037097
ISAKMP (0): ID_IPV4_ADDR_SUBNET src 10.0.3.0/255.255.255.0 
   prot 0 port 0
ISAKMP (0): processing ID payload. message ID = 4150037097
ISAKMP (0): ID_IPV4_ADDR_SUBNET dst 10.0.25.0/255.255.255.0 
   prot 0 port 0IPSEC(key_engine)
: got a queue event...
IPSEC(spi_response): getting spi 0x1225ce5c(304467548) for SA
        from   172.18.173.85 to   172.18.124.96 for prot 3

return status is IKMP_NO_ERROR
crypto_isakmp_process_block:src:172.18.173.85, 
   dest:172.18.124.96 spt:500 dpt:500
OAK_QM exchange
oakley_process_quick_mode:
OAK_QM_AUTH_AWAITmap_alloc_entry: allocating entry 3
map_alloc_entry: allocating entry 4

ISAKMP (0): Creating IPSec SAs
        inbound SA from 172.18.173.85 to 172.18.124.96 
          (proxy 10.0.3.0 to 10.0.25.0)
        has spi 304467548 and conn_id 3 and flags 25
        lifetime of 26400 seconds
        outbound SA from 172.18.124.96 to 172.18.173.85 
          (proxy 10.0.25.0 to 10.0.3.0)
        has spi 4042487531 and conn_id 4 and flags 25
        lifetime of 26400 secondsIPSEC(key_engine): got a queue event...
IPSEC(initialize_sas): ,
  (key eng. msg.) dest= 172.18.124.96, src= 172.18.173.85,
    dest_proxy= 10.0.25.0/255.255.255.0/0/0 (type=4),
    src_proxy= 10.0.3.0/255.255.255.0/0/0 (type=4),
    protocol= ESP, transform= esp-3des esp-sha-hmac ,
    lifedur= 26400s and 0kb,
    spi= 0x1225ce5c(304467548), conn_id= 3, 
       keysize= 0, flags= 0x25
IPSEC(initialize_sas): ,
  (key eng. msg.) src= 172.18.124.96, dest= 172.18.173.85,
    src_proxy= 10.0.25.0/255.255.255.0/0/0 (type=4),
    dest_proxy= 10.0.3.0/255.255.255.0/0/0 (type=4),
    protocol= ESP, transform= esp-3des esp-sha-hmac ,
    lifedur= 26400s and 0kb,
    spi= 0xf0f376eb(4042487531), conn_id= 4, keysize= 0, flags= 0x25

VPN Peer: IPSEC: Peer ip:172.18.173.85/500 Ref cnt 
   incremented to:2 Total VPN Peers:1
VPN Peer: IPSEC: Peer ip:172.18.173.85/500 Ref cnt 
   incremented to:3 Total VPN Peers:1
return status is IKMP_NO_ERROR

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

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


関連情報


Document ID: 45423