TROUBLESHOOTING CISCO IOS AND PIX FIREWALL-BASED IPSEC ...

1 downloads 197 Views 556KB Size Report
22:17:24: ISAKMP (0:1): Checking ISAKMP transform 1 against priority 10 policy ..... ISAKMP (0:2): Checking IPSec propos
TROUBLESHOOTING CISCO IOS AND PIX FIREWALL-BASED IPSEC IMPLEMENTATIONS SESSION SEC-3010

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

1

Agenda • Introduction • Router IPSec VPNS • PIX IPSec VPNS • Cisco EasyVPN Clients • NAT with IPSec • Firewalling and IPSec • MTU Issues • GRE over IPSec • Loss of Connectivity of IPSec Peers SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

2

What’s Not Covered • PKI-based troubleshooting • Debugs from the PIX® platforms • IPSec VPN Services Module • VRF aware IPSec

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

3

Why Troubleshooting Is Important in Today’s VPN Deployment • Complex security association and key management protocols and a rich set of cryptographic algorithms from which VPN peers can choose • VPNs are often implemented on top of existing networks • Some advance features could break IPSec Implementations • VPNs could be used between different vendors

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

4

A Key Point to Remember

“DEBUG AND SHOW COMMANDS ARE YOUR FRIENDS IN TROUBLESHOOTING ANY IPSEC RELATED ISSUES.”

SEC-3010 9825_05_2004_c1

5

© 2004 Cisco Systems, Inc. All rights reserved.

Secure Communications Using IPSec VPN

Message

Message

Me ss ag

e

A

SEC-3010 9825_05_2004_c1

B

Needs Secure Communications over Insecure Channel M

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

es sa ge

6

IKE (Two-Phase Protocol)

• Two-phase protocol: Phase I exchange: two peers establish a secure, authenticated channel with which to communicate; main mode or aggressive mode accomplishes a phase I exchange Phase II exchange: security associations are negotiated on behalf of IPSec services; quick mode accomplishes a phase II exchange

• Each phase has its SAs: ISAKMP SA (phase I) and IPSec SA (phase II) SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

7

Main Mode with Pre-Shared Key Initiator

Responder

Phase I SA parameter negotiation complete

DH key exchange complete, share secret SKEYIDe derived Nonce exchange defeat replay

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

8

Phase II Quick Mode Negotiation

• • • • •

Protected by Phase I SA Optional DH exchange for Perfect Forward Secrecy (PFS) Negotiate IPSec SA parameters, including proxy identities [IDCI, IDCR] Two unidirectional IPSec SA established with unique SPI number Nonce exchanged for generating session key KEYMAT = HMAC (SKEYIDd,[KEIKER|]protocol|SPI|NonceI|NonceR)

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

9

Agenda • Introduction • Router IPSec VPNs • PIX IPSec VPNs • Cisco EasyVPN Clients • NAT with IPSec • Firewalling and IPSec • MTU Issues • GRE over IPSec • Loss of Connectivity of IPSec Peers SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

10

Layout

209.165.200.227

209.165.201.4

Backbone Router1

Router2

10.1.1.0/24

10.1.2.0/24

Encrypted

SEC-3010 9825_05_2004_c1

11

© 2004 Cisco Systems, Inc. All rights reserved.

Router Configurations crypto isakmp policy 10 “crypto isakmp policy” Defines the Phase 1 SA Parameters

encr 3des authentication pre-share

crypto isakmp key jw4ep9846804ijl address 209.165.201.4 ! crypto ipsec transform-set myset esp-3des esp-md5-hmac “crypto ipsec transform-set..” Command Defines IPSec Encryption and authen algo

! crypto map vpn 10 ipsec-isakmp set peer 209.165.201.4 set transform-set myset

“crypto map..” Commands Defines the IPSec SA (Phase II SA) Parameters

match address 101

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

12

Router Configurations

interface Ethernet0/2 ip address 10.1.1.1 255.255.255.0 ! interface Ethernet0/3 ip address 209.165.200.227 255.255.255.0

Interface that is connected to the Private network

crypto map applied to the outbound Interface

crypto map vpn !

access-list 101 permit ip 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 Access-list defines interesting VPN traffic

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

13

Router Configurations R1# show crypto map Crypto Map "vpn" 10 IPSec-isakmp Peer = 209.165.201.4 Extended IP access list 101 access-list 101 permit ip 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 Current peer: 209.165.201.4 Security association lifetime: 4608000 kilobytes/3600 seconds PFS (Y/N): N Transform sets={ myset, } Interfaces using crypto map vpn: Ethernet0/3

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

14

Important Debugs Commands • debug crypto isakmp • debug crypto ipsec • debug crypto engine • debug ip packet detail

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

15

Debugs Functionality Flow Chart Interesting Traffic Received Main Mode IKE Negotiation Quick Mode Negotiation Establishment of Tunnel

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

16

Tunnel Establishment Interesting Traffic Received

• The ping source and destination addresses matched the match address access list for the crypto map VPN 22:17:24.426: IPSEC(sa_request): , (key eng. msg.) OUTBOUND local= 209.165.200.227, remote= 209.165.201.4, local_proxy= 10.1.1.0/255.255.255.0/0/0 (type=4), remote_proxy= 10.1.2.0/255.255.255.0/0/0 (type=4),

• The ‘local’ is the local tunnel end-point, the ‘remote’ is the remote crypto end point as configured in the map; The src proxy is the src interesting traffic as defined by the match address access list; The dst proxy is the destination interesting traffic as defined by the match address access list protocol= ESP, transform= esp-3des esp-md5-hmac , lifedur= 3600s and 4608000kb, spi= 0x4579753B(1165587771), conn_id= 0, keysize= 0, flags= 0x400A

• The protocol and the transforms are specified by the crypto map which has been hit, as are the lifetimes SEC-3010 9825_05_2004_c1

17

© 2004 Cisco Systems, Inc. All rights reserved.

IKE Main Mode Negotiation: Phase I SA Negotiation Initiator

Responder

IKE

• Begins Main Mode exchange; the first two packets negotiate phase I SA parameters • ISAKMP: received ke message (1/1) ISAKMP: local port 500, remote port 500 ISAKMP (0:1): Input = IKE_MESG_FROM_IPsec, IKE_SA_REQ_MM Old State = IKE_READY

New State = IKE_I_MM1

ISAKMP (0:1): beginning Main Mode exchange 22:17:24: ISAKMP (0:1): sending packet to 209.165.201.4(I)MM_NO_STATE 22:17:24: ISAKMP (0:1): received packet from 209.165.201.4

(I) MM_NO_STATE

22:17:24: ISAKMP (0:1): Input = IKE_MESG_FROM_PEER, IKE_MM_EXCH Old State = IKE_I_MM1 SEC-3010 9825_05_2004_c1

New State = IKE_I_MM2

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

18

IKE Main Mode Negotiation: Phase I SA Negotiation

22:17:24: 22:17:24: 22:17:24: 22:17:24: 22:17:24: 22:17:24: 22:17:24: 22:17:24: 22:17:24:

ISAKMP (0:1): ISAKMP (0:1): ISAKMP (0:1): ISAKMP: ISAKMP: ISAKMP: ISAKMP: ISAKMP: ISAKMP (0:1):

processing SA payload. message ID = 0 processing vendor id payload Checking ISAKMP transform 1 against priority 10 policy hash SHA The policy 10 on this router and default group 1 the atts offered by the other side auth pre-share matched life type in seconds life duration (VPI) of 0x0 0x1 0x51 0x80 atts are acceptable. Next payload is 0

22:17:24: ISAKMP (0:1): Input = IKE_MESG_INTERNAL, IKE_PROCESS_MAIN_MODE Old State = IKE_I_MM2 New State = IKE_I_MM2

SEC-3010 9825_05_2004_c1

19

© 2004 Cisco Systems, Inc. All rights reserved.

IKE Main Mode Negotiation: DH Exchange • The third and fourth packets completes Diffie-Hellman exchange

ISAKMP (0:1): sending packet to 209.165.201.4 (I) MM_SA_SETUP ISAKMP (0:1): Input = IKE_MESG_INTERNAL, IKE_PROCESS_COMPLETE Old State = IKE_I_MM2

New State = IKE_I_MM3

ISAKMP (0:1): received packet from 209.165.201.4 (I) MM_SA_SETUP ISAKMP (0:1): Input = IKE_MESG_FROM_PEER, IKE_MM_EXCH Old State = IKE_I_MM3

New State = IKE_I_MM4

ISAKMP (0:1): processing KE payload. message ID = 0 ISAKMP (0:1): processing NONCE payload. message ID = 0 ISAKMP (0:1): found peer pre-shared key matching 209.165.201.4 ISAKMP (0:1): SKEYID state generated ISAKMP (0:1): processing vendor id payload SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

20

IKE Main Mode Negotiation: Authentication • The fifth and sixth packets complete IKE authentication; Phase 1 SA established

ISAKMP (0:1): SA is doing pre-shared key authentication using id type ID_IPV4_ADDR …… ISAKMP (0:1): sending packet to 209.165.201.4 (I) MM_KEY_EXCH ISAKMP (0:1): Input = IKE_MESG_INTERNAL, IKE_PROCESS_COMPLETEOld State = IKE_I_MM4 New State = IKE_I_MM5 ISAKMP (0:1): received packet from 209.165.201.4 (I) MM_KEY_EXCH ISAKMP (0:1): Input = IKE_MESG_FROM_PEER, IKE_MM_EXCH Old State = IKE_I_MM5 New State = IKE_I_MM6 ISAKMP (0:1): processing ID payload. message ID = 0 ISAKMP (0:1): processing HASH payload. message ID = 0 ISAKMP (0:1): SA has been authenticated with 209.165.201.4 ISAKMP (0:1): Input = IKE_MESG_INTERNAL, IKE_PROCESS_COMPLETE Old State = IKE_I_MM6 New State = IKE_P1_COMPLETE SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

21

IKE Quick Mode IPSec SA Negotiations • Begin Quick Mode exchange; IPSec SA will be negotiated in QM

ISAKMP (0:1): beginning Quick Mode exchange, M-ID of 843945273 ISAKMP (0:1): sending packet to 209.165.201.4 (I) QM_IDLE ISAKMP (0:1): Node 843945273, Input = IKE_MESG_INTERNAL, IKE_INIT_QM Old State = IKE_QM_READY New State = IKE_QM_I_QM1 ISAKMP (0:1): received packet from 209.165.201.4 (I) QM_IDLE

• The IPSec SA proposal offered by far end will be checked against local crypto map configuration

ISAKMP (0:1): processing HASH payload. message ID = 843945273 ISAKMP (0:1): processing SA payload. message ID = 843945273 SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

22

IKE Quick Mode IPSec SA Negotiations ISAKMP (0:1): Checking IPSec proposal 1 ISAKMP: transform 1, ESP_3DES ISAKMP:

attributes in transform:

ISAKMP:

encaps is 1

ISAKMP:

SA life type in seconds

ISAKMP:

SA life duration (basic) of 3600

ISAKMP:

SA life type in kilobytes

ISAKMP:

SA life duration (VPI) of

ISAKMP:

authenticator is HMAC-MD5

0x0 0x46 0x50 0x0

ISAKMP (0:1): atts are acceptable. IPsec(validate_proposal_request): proposal part #1, (key eng. msg.) INBOUND local= 209.165.200.227, remote= 209.165.201.4, local_proxy= 10.1.1.0/255.255.255.0/0/0 (type=4), remote_proxy= 10.1.2.0/255.255.255.0/0/0 (type=4), protocol= ESP, transform= esp-3des esp-md5-hmac , lifedur= 0s and 0kb, spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x2 SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

23

IKE Quick Mode SA Creation • Two IPSec SAs have been negotiated, an incoming SA with the SPI generated by the local machine and an outbound SA with the SPIs proposed by the remote end

ISAKMP (0:1): Creating IPSec SAs inbound SA from 209.165.201.4 to 209.165.200.227(proxy 10.1.2.0 to 10.1.1.0) has spi 0x8EAB0B22 and conn_id 2000 and flags 2 lifetime of 3600 seconds lifetime of 4608000 kilobytes outbound SA from 209.165.200.227 to 209.165.201.4 (proxy 10.1.1.0 to 10.1.2.0) has spi -1910720646 and conn_id 2001 and flags A lifetime of 3600 seconds lifetime of 4608000 kilobytes

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

24

IKE Quick Mode SA Initialization • The IPSec SA info negotiated by IKE will be populated into router’s SADB 22:17:25 : IPsec(key_engine): got a queue event... 22:17:25: IPSEC(initialize_sas): , (key eng. msg.) INBOUND local= 209.165.200.227, remote= 209.165.201.4, local_proxy= 10.1.1.0/255.255.255.0/0/0 (type=4), remote_proxy= 10.1.2.0/255.255.255.0/0/0 (type=4), protocol= ESP, transform= esp-3des esp-md5-hmac , lifedur= 3600s and 4608000kb, spi= 0x4579753B(1165587771), conn_id= 2000, keysize= 0, flags=0x2 22:17:25: IPsec(initialize_sas): , (key eng. msg.) OUTBOUND local= 209.165.200.227, remote= 209.165.201.4, local_proxy= 10.1.1.0/255.255.255.0/0/0 (type=4), remote_proxy= 10.1.2.0/255.255.255.0/0/0 (type=4), protocol= ESP, transform= esp-3des esp-md5-hmac , lifedur= 3600s and 4608000kb, spi= 0x8E1CB77A(2384246650), conn_id= 2001, keysize= 0, flags= 0xA SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

25

IKE Quick Mode Phase 2 Completion • IPSec SA created in SADB, sent out last packet with commit bit set; IPSec tunnel established IPsec(create_sa): sa created, (sa) sa_dest= 209.165.200.227, sa_prot= 50, sa_spi= 0x4579753B(1165587771), sa_trans= esp-3des esp-md5-hmac , sa_conn_id= 2000 IPsec(create_sa): sa created, (sa) sa_dest= 209.165.201.4, sa_prot= 50, sa_spi= 0x8E1CB77A(2384246650), sa_trans= esp-3des esp-md5-hmac , sa_conn_id= 2001 ISAKMP (0:1): sending packet to 209.165.201.4 (I) QM_IDLE ISAKMP (0:1): Node 843945273, Input = IKE_MESG_FROM_PEER, IKE_QM_EXCH Old State = IKE_QM_I_QM1 SEC-3010 9825_05_2004_c1

New State = IKE_QM_PHASE2_COMPLETE

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

26

Show Commands • Show crypto engine connection active • Show crypto isakmp sa [detail] • Show crypto ipsec sa [detail]

SEC-3010 9825_05_2004_c1

27

© 2004 Cisco Systems, Inc. All rights reserved.

Show Commands Router#show cry engine connection active ID Interface IP-Address State 1 Ethernet0/3 209.165.200.227 set This is ISAKMP SA 2000 Ethernet0/3 209.165.200.227 set 2001 Ethernet0/3 209.165.200.227 set These two are IPSec SAs Router#sh crypto isakmp sa dst src state 209.165.201.4 209.165.200.227 QM_IDLE

Algorithm HMAC_SHA+3DES_56_C

Encrypt 0

HMAC_MD5+3DES_56_C HMAC_MD5+3DES_56_C

conn-id 1

Decrypt 0

0 19

19 0

slot 0

Router#show crypto isakmp sa detail Codes: C - IKE configuration mode, D - Dead Peer Detection K - Keepalives, N - NAT-traversal X - IKE Extended Authentication psk - Preshared key, rsig - RSA signature, renc - RSA encryption C-id 1

Local Remote I-VRF 209.165.200.227 209.165.201.4 Connection-id:Engine-id = 1:1(software)

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

Encr Hash Auth DH Lifetime Cap. 3des sha psk 1 23:59:40

28

Show Commands Router# show crypto ipsec sa interface: Ethernet0/3 Crypto map tag: vpn, local addr. 209.165.200.227 local

ident (addr/mask/prot/port): (10.1.1.0/255.255.255.0/0/0)

remote ident (addr/mask/prot/port): (10.1.2.0/255.255.255.0/0/0) current_peer: 209.165.201.4 PERMIT, flags={origin_is_acl,} #pkts encaps: 19, #pkts encrypt: 19, #pkts digest 19 #pkts decaps: 19, #pkts decrypt: 19, #pkts verify 19 #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.: 209.165.200.227, remote crypto endpt.: 209.165.201.4 path mtu 1500, media mtu 1500 current outbound spi: 8E1CB77A SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

29

Show Commands inbound esp sas: spi: 0x4579753B(1165587771) transform: esp-3des esp-md5-hmac , in use settings ={Tunnel, } slot: 0, conn id: 2000, flow_id: 1, crypto map: vpn sa timing: remaining key lifetime (k/sec): (4456885/3531) IV size: 8 bytes replay detection support: Y outbound esp sas: spi: 0x8E1CB77A(2384246650) transform: esp-3des esp-md5-hmac , in use settings ={Tunnel, } slot: 0, conn id: 2001, flow_id: 2, crypto map: vpn sa timing: remaining key lifetime (k/sec): (4456885/3531) IV size: 8 bytes replay detection support: Y SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

30

Show Commands Router# show crypto ipsec sa detail ... #pkts encaps: 19, #pkts encrypt: 19, #pkts digest: 19 #pkts decaps: 19, #pkts decrypt: 19, #pkts verify: 19 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts compr. failed: 0 #pkts not decompressed: 0, #pkts decompress failed: 0 #pkts no sa (send) 1, #pkts invalid sa (rcv) 0 #pkts encaps failed (send) 0, #pkts decaps failed (rcv) 0 #pkts invalid prot (recv) 0, #pkts verify failed: 0 #pkts invalid identity (recv) 0, #pkts invalid len (rcv) 0 #pkts replay rollover (send): 0, #pkts replay rollover (rcv) 0 ##pkts replay failed (rcv): 0 #pkts internal err (send): 0, #pkts internal err (recv) 0 ... SEC-3010 9825_05_2004_c1

31

© 2004 Cisco Systems, Inc. All rights reserved.

Hardware Crypto Engine • In latest Cisco IOS versions, show commands for different types of hardware crypto cards have been unified Verify hardware/software crypto engine

Show crypto engine configuration

Hardware info

Show diag

Turn on/off the hardware crypto engine

[no] crypto engine accelerator [slot_no.]

Display statistics

Show crypto engine accelerator stat

Debug crypto engine

Debug crypto engine accelerator control/packet

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

32

Hardware Crypto Engine (Cont.) • show crypto engine configuration crypto engine name: Virtual Private Network (VPN) Module crypto engine type: hardware Product name: AIM-VPN/EP

Indicates Hardware Crypto Engine On

• show diag slot : 0

Shows the Type of Hardware Encryption

Encryption AIM 0:

SEC-3010 9825_05_2004_c1

Hardware revision

: 1.0

Top assy. part number

: 800-15369-03

Board revision

: B0

© 2004 Cisco Systems, Inc. All rights reserved.

33

Hardware Crypto Engine (Cont.) • show crypto engine accelerator statistic Virtual Private Network (VPN) Module in aim slot : 0 Statistics for Hardware VPN Module since the last clear of counters 31 seconds ago 605 packets in 605 packets out 0 packet overruns 0 output packets dropped Last 5 minutes: 605 packets in 605 packets out 307 packets decrypted 298 packets encrypted 15708 bytes decrypted 13854 bytes encrypted 19 paks/sec in 19 paks/sec out 17 Kbits/sec decrypted 14 Kbits/sec encrypted SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

34

Hardware Crypto Engine (Cont.) • Debug crypto engine accelerator debug cry engine accelerator control detail display the entire command content error display errors from control commands debug cry engine accelerator packet detail display packet going through crypto accelerator error display errors from packets going through crypto accelerator number number of packet to be printed SEC-3010 9825_05_2004_c1

35

© 2004 Cisco Systems, Inc. All rights reserved.

Verify Crypto Engine router#sh crypto engine configuration

Privileged Mode:

0x0000

Maximum buffer length: crypto engine name:

unknown

Maximum DH index:

1014

crypto engine type:

ISA/ISM

Maximum SA index:

2029

CryptIC Version: CGX Version:

FF41

Maximum Flow index:

0111

DSP firmware version: MIPS firmware version:

0003030F

ISA/ISM serial number: B82CA6C09E080DF0E0A1029EF8E7112F3FF5F 67B PCBD info:

3-DES [07F000260000]

Compression: 3 DES: SEC-3010 9825_05_2004_c1

4059

Maximum RSA key size: 0061

No

4096

0000

crypto engine in slot:

5

platform: predator crypto_engine

Crypto Adjacency Counts: Lock Count:

0

Unlock Count:

0

Yes © 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

36

Common Issues • Incompatible ISAKMP policy or pre-shared secrets • Incompatible transform sets • Incompatible or incorrect access lists • Crypto map on the wrong interface • Overlapping ACLs • Routing and filtering issues • Caveats: switching paths

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

37

Incompatible ISAKMP Policy or Pre-Shared Secrets • If the configured ISAKMP policies don’t match the proposed policy by the remote peer, the router tries the default policy of 65535, and if that does not match either, it fails ISAKMP negotiation Default protection suite encryption algorithm:

DES—Data Encryption Standard (56 bit keys).

hash algorithm:

Secure Hash Standard

authentication method:

Rivest-Shamir-Adleman Signature

Diffie-Hellman group:

#1 (768 bit)

lifetime:

86400 seconds, no volume limit

• A sh crypto isakmp sa shows the ISAKMP SA to be in MM_NO_STATE, meaning the main-mode failed SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

38

Incompatible ISAKMP Policy or Pre-Shared Secrets 3d01h: ISAKMP (0:1): processing SA payload. message ID = 0 3d01h: ISAKMP (0:1): found peer preshared key matching 209.165.200.227 ISAKMP (0:1): Checking ISAKMP transform 1 against priority 1 policy ISAKMP:

encryption 3DES-CBC

ISAKMP:

hash MD5

ISAKMP:

default group 1

ISAKMP:

auth pre-share

ISAKMP:

life type in seconds

ISAKMP: life duration (VPI) of 0x0 0x1 0x51 0x80 ISAKMP (0:1): Hash algorithm offered does not match policy! ISAKMP (0:1): atts are not acceptable. Next payload is 0 SEC-3010 9825_05_2004_c1

ISAKMP (0:1): Checking ISAKMP transform 1 against priority 65535 policy ISAKMP:

encryption 3DES-CBC

ISAKMP:

hash MD5

ISAKMP:

default group 1

ISAKMP:

auth pre-share

ISAKMP:

life type in seconds

ISAKMP: life duration (VPI) of 0x0 0x1 0x51 0x80 ISAKMP (0:1): Encryption algorithm offered does not match policy! ISAKMP (0:1): atts are not acceptable. Next payload is 0 ISAKMP (0:1): no offers accepted! ISAKMP (0:1): phase 1 SA not acceptable!

© 2004 Cisco Systems, Inc. All rights reserved.

39

Incompatible ISAKMP Policy or Pre-Shared Secrets • If the pre-shared secrets are not the same on both sides, the negotiation will fail again, with the router complaining about sanity check failed • A sh crypto isakmp sa shows the ISAKMP SA to be in MM_NO_STATE, meaning the main mode failed

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

40

Incompatible ISAKMP Policy or Pre-Shared Secrets ISAKMP (62): processing SA payload. message ID = 0 ISAKMP (62): Checking ISAKMP transform 1 against priority 10 policy encryption DES-CBC hash SHA default group 1 auth pre-share ISAKMP (62): atts are acceptable. Next payload is 0 ISAKMP (62): SA is doing pre-shared key authentication ISAKMP (62): processing KE payload. message ID = 0 ISAKMP (62): processing NONCE payload. message ID = 0 ISAKMP (62): SKEYID state generated ISAKMP (62); processing vendor id payload ISAKMP (62): speaking to another IOS box!

ISAKMP: reserved not zero on ID payload! %CRYPTO-4-IKMP_BAD_MESSAGE: IKE message from 209.165.200.227 failed its sanity check or is malformed SEC-3010 9825_05_2004_c1

41

© 2004 Cisco Systems, Inc. All rights reserved.

Incompatible IPSec Transform Set • If the ipsec transform-set is not compatible or mismatched on the two IPSec devices, the IPSec negotiation will fail, with the router complaining about “atts not acceptable” for the IPSec proposal

Phase II Parameters IPSec mode (tunnel or transport)

ISAKMP (0:2): Checking IPSec proposal 1 ISAKMP: transform 1, ESP_3DES Encryption algorithm ISAKMP: attributes in transform: Authentication algorithm ISAKMP: encaps is 1 PFS group ISAKMP: SA life type in seconds ISAKMP: SA life duration (basic) of 3600 IPSec SA Lifetime ACL - traffic definition ISAKMP: SA life type in kilobytes ISAKMP: SA life duration (VPI) of 0x0 0x46 0x50 0x0 IPSEC(validate_proposal): transform proposal (prot 3, trans 3, hmac_alg 0) not supported ISAKMP (0:2): atts not acceptable. Next payload is 0 ISAKMP (0:2): SA not acceptable!

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

42

Incompatible or Incorrect Access Lists • If the access lists on the two routers don’t match proxy identities not supported will result • It is recommended that access lists on the two routers be ‘a mirror’ of each other • It is also highly recommended that the key word any not be used in match address access lists

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

43

Incompatible or Incorrect Access Lists 1w6d: IPSEC(validate_proposal_request): proposal part #1, (key eng. msg.) INBOUND local= 209.165.201.4, remote= 209.165.200.227, local_proxy= 10.1.2.0/255.255.255.0/0/0 (type=4), remote_proxy= 10.1.1.0/255.255.255.0/0/0 (type=4), protocol= ESP, transform= esp-3des esp-md5-hmac , lifedur= 0s and 0kb, spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x4 1w6d: IPSEC(validate_transform_proposal): proxy identities not supported 1w6d: ISAKMP (0:2): IPSec policy invalidated proposal 1w6d: ISAKMP (0:2): phase 2 SA not acceptable! Access List at 209.165.200.227: access list 101 permit ip 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 Access List at 209.165.201.4: access list 101 permit ip 10.1.2.0 0.0.0.255 10.1.3.0 0.0.0.255 SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

44

Crypto Map on the Wrong Interface • The crypto map needs to be applied to the outgoing interface of the router IPSEC(validate_proposal): invalid local address 209.165.201.4 ISAKMP (0:4): atts not acceptable. Next payload is 0 ISAKMP (0:4): phase 2 SA not acceptable!

• If you don’t want to use the outside interface’s IP as the local ID, use the command ‘crypto map local-address , to specify the correct interface • If there are physical as well as logical interfaces involved in carrying outgoing traffic, the crypto map needs to be applied to both; however, this restriction has been taken off in the latest Cisco IOS SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

45

Overlapping ACLs • If there are multiple peers to a router, make sure that the match address access-lists for each of the peers are mutually exclusive from the match address access-list for the other peers • If this is not done, the router will choose the wrong crypto map to try and establish a tunnel with one of the other peers

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

46

Incorrect SA Selection by the Router IPSEC(validate_proposal_request): proposal part #1, (key eng. msg.) INBOUND local= 209.165.200.227, remote= 209.165.202.149, local_proxy= 10.1.1.0/255.255.255.0/0/0 (type=4), remote_proxy= 10.1.2.0/255.255.255.0/0/0 (type=4), protocol= ESP, transform= esp-3des esp-md5-hmac , lifedur= 0s and 0kb, spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x4 IPSEC(validate_transform_proposal): peer address 209.165.202.149 not found ISAKMP (0:2): IPSec policy invalidated proposal ISAKMP (0:2): phase 2 SA not acceptable! Access list for 209.165.201.4: Access-list 100 permit ip 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 Access-list 100 permit ip 10.1.1.0 0.0.0.255 10.1.5.0 0.0.0.255 Access list for 209.165.202.149: Access-list 110 permit ip 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

47

Routing Issues • A packet needs to be routed to the interface which has the crypto map configured on it before IPSec kicks in • Routes need to be there for: The router to reach its peers address The IP subnets of the destination host before the packets are encrypted The IP subnets of the destination host once the packets are decrypted

• Use the debug ip packet detailed to see if the routing is occurring correctly (be careful on the busy networks!!!) SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

48

Possible Caveats in Switching Paths • Symptom: Only see encryption or decryption counter incrementing from “show crypto eng conn active” • Caveats in the switching paths might cause IPSec encryption/decryption failures • Workaround: Try different switch paths (CEF, fast switching, process switching) • Process switching can cause Performance issues!!!

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

49

Quiz Time Agenda “PROXY IDS NOT SUPPORTED..” • Introduction Debug Message Means: • Router IPSec VPNs

• PIX IPSec VPNs is mismatched 1. Phase 2 Hashing • Cisco EasyVPN 2. Access-List is Clients mismatched • NAT with2 IPSec 3. Phase Encryption type is mismatched • Firewalling and IPSec 4. DH group is mismatched • MTU Issues • GRE over IPSec • Loss of Connectivity of IPSec Peers SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

50

Layout

10.1.2.0/24 10.1.1.0/24 209.165.200.226

209.165.202.129

Internet PIX 1

PIX 2 Private

Encrypted

Private

Public

SEC-3010 9825_05_2004_c1

51

© 2004 Cisco Systems, Inc. All rights reserved.

PIX-to-PIX VPN Configuration access-list bypassnat permit ip 10.1.1.0 255.255.255.0 10.1.2.0 255.255.255.0

Access-List “bypassnat” Defines Interesting Traffic to bypass NAT for VPN

nat (inside) 0 access-list bypassnat

NAT 0 Command Bypasses NAT for the Pkts Destined over the IPSec Tunnel

access-list encrypt permit ip 10.1.1.0 255.255.255.0 10.1.2.0 255.255.255.0

Access-list “encrypt” Defines VPN Interesting Traffic

ip address outside 209.165.202.129 255.255.255.0 ip address inside 10.1.1.1 255.255.255.0 IP Addresses on the outside route outside 0.0.0.0 0.0.0.0 209.165.202.158 1 and inside Interfaces

sysopt connection permit-ipsec

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

Sysopt Command Bypasses Conduits or ACLs Checking to Be Applied on the Inbound VPN Packets after Decryption 52

Standard Site-to-Site VPN Configuration Highlight crypto ipsec transform-set mysetdes esp-des esp-md5-hmac crypto crypto crypto crypto crypto

map map map map map

encryptmap encryptmap encryptmap encryptmap encryptmap

“crypto IPSec..” Command Defines IPSec Encryption and authen algo

20 ipsec-isakmp 20 match address encrypt 20 set peer 209.165.200.226 20 set transform-set mysetdes interface outside

“crypto map..” Commands Define the IPSec SA (Phase II SA) Parameters

isakmp enable outside “isakmp key..” Command isakmp key cisco123 address 209.165.200.226 Defines the Pre-Shared netmask 255.255.255.255 no-xauth no-config-mode Key for the Peer Address isakmp isakmp isakmp isakmp isakmp

policy policy policy policy policy

SEC-3010 9825_05_2004_c1

10 10 10 10 10

authentication pre-share encryption des hash md5 group 1 lifetime 86400

“isakmp policy..” Defines the Phase 1 SA Parameters

© 2004 Cisco Systems, Inc. All rights reserved.

53

Common Issues • Bypassing NAT • Enabling ISAKMP • Missing sysopt commands • Combining PIX-PIX and PIX-VPN client issues

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

54

Bypassing NAT • Nat needs to be bypassed on the PIX in order for the remote side to access the private network behind the PIX seamlessly • Use the NAT 0 command with an access list to achieve that

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

55

Enabling ISAKMP • Unlike the router, ISAKMP is not enabled by default on the PIX • Use the command isakmp enable to enable it on an interface

Pix(config)# isakmp enable outside

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

56

Missing Sysopt Commands • After decryption, PIX will check the access-lists or conduits against the decrypted IP packets • Access-lists or conduits need to be configured to permit decrypted IP traffic • Enable sysopt connection permit-ipsec to bypass the access-list/conduit checking against VPN traffic after decryption

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

57

Combining PIX-PIX and PIX-Client Issues • If you are doing mode config or x-auth for the VPN clients you would need to disable them for the siteto-site VPN connections • Use the no-config-mode and no x-auth tags at the end of the pre-shared key definitions to disable mode config and x-auth • isakmp peer fqdn fqdn no-xauth no-config-mode in case rsa-sig is used as IKE authentication method

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

58

Agenda • Introduction • Router IPSec VPNs • PIX IPSec VPNs • Cisco EasyVPN Clients • NAT with IPSec • Firewalling And IPSec • MTU Issues • GRE over IPSec • Loss of Connectivity of IPSec Peers SEC-3010 9825_05_2004_c1

59

© 2004 Cisco Systems, Inc. All rights reserved.

Layout 172.18.124.96 WINS

VPN Client

10.1.1.0/24

Internet

14.38.1.0/24

Router 209.165.200.227

209.165.201.4

Router

14.38.2.0/24

DNS

PIX 209.165.201.2 SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

EasyVPN Clients

60

Cisco VPN Clients to a Router 209.165.200.227

aaa new-model aaa authentication login userauthen local aaa authorization network groupauthor local username cisco password 0 cisco123 username pix password 0 cisco123 ! crypto isakmp policy 3 encr 3des authentication pre-share group 2 ! crypto isakmp client configuration group vpnclient key cisco123 dns 10.1.1.10 wins 10.1.1.20 domain cisco.com pool ippool acl 100 SEC-3010 9825_05_2004_c1

172.18.124.96

VPN Client

Router

aaa Commands Enable User Authentication and Group Authorization

ISAKMP Policy Defines Phase 1 Parameters

“Crypto isakmp client configuration” Commands Define Modeconfiguration Parameters To Be Passed to the VPN Clients

61

© 2004 Cisco Systems, Inc. All rights reserved.

Cisco VPN Clients to a Router 209.165.200.227

Router

172.18.124.96

VPN Client

crypto IPSec transform-set myset esp-3des esp-sha-hmac !

“crypto IPSec..” Command Defines IPSec Encryption and Authentication Algorithm

crypto dynamic-map dynmap 10 set transform-set myset !

“crypto dynamic-map…” Defines a Dynamic Map which Would Be Included in the Actual Map

crypto map clientmap client authentication list userauthen crypto map clientmap isakmp authorization list groupauthor crypto map clientmap client configuration address respond crypto map clientmap 10 IPsec-isakmp dynamic dynmap

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

“crypto map…” Commands Define the Actual Map which Would Be Applied to the Outbound Interface for the Data Encryption

62

Cisco VPN Clients to a Router 209.165.200.227

172.18.124.96

VPN Client

Router

ip local pool ippool 14.1.1.1 14.1.1.254 !

“ip local pool…” Command Defines a Pool of Addresses to Be Assigned Back to the VPN Client

access-list 100 permit ip 10.1.1.0 0.0.0.255 14.1.1.0 0.0.0.255 access-list 100 permit ip 10.1.1.0 0.0.0.255 14.38.1.0 0.0.0.255 access-list 100 permit ip 10.1.1.0 0.0.0.255 14.38.2.0 0.0.0.255 !

access-list Defines SplitTunneling

crypto map Is then Applied to the Outbound Interface

interface FastEthernet2/0 ip address 209.165.200.227 255.255.255.0 crypto map clientmap

SEC-3010 9825_05_2004_c1

63

© 2004 Cisco Systems, Inc. All rights reserved.

Layout 172.18.124.96 WINS

VPN Client

10.1.1.0/24

Internet

14.38.1.0/24

PIX 209.165.200.226

209.165.201.4

Router

14.38.2.0/24

DNS

PIX 209.165.201.2 SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

EasyVPN Clients

64

Cisco VPN Client to a PIX 209.165.200.226

access-list 101 permit ip 10.1.1.0 255.255.255.0 10.1.2.0 255.255.255.0 access-list 101 permit ip 10.1.1.0 255.255.255.0 14.38.1.0 255.255.255.0 access-list 101 permit ip 10.1.1.0 255.255.255.0 14.38.2.0 255.255.255.0

172.18.124.96

VPN Client

PIX

Define an Access-List, that Would Be Used to Bypass NAT for the IPSec Traffic

nat (inside) 0 access-list 101 ip address outside 209.165.200.226 255.255.255.224

Define IP Address on the Interfaces

ip address inside 10.1.1.1 255.255.255.0 isakmp enable outside isakmp identity address isakmp policy 10 authentication pre-share

ISAKMP Policy Defines Phase 1 Parameters

isakmp policy 10 encryption des isakmp policy 10 hash md5 isakmp policy 10 group 2 isakmp policy 10 lifetime 86400 SEC-3010 9825_05_2004_c1

65

© 2004 Cisco Systems, Inc. All rights reserved.

Cisco VPN Client to a PIX 209.165.200.226

172.18.124.96

PIX

VPN Client

ip local pool ippool 10.1.2.1-10.1.2.254

Define a Pool of Addresses To Be Assigned Back to the VPN Client

sysopt connection permit-IPsec

Sysopt Command Bypasses Conduits or ACLs

vpngroup vpnclient address-pool ippool vpngroup vpnclient dns-server 10.1.1.2 vpngroup vpnclient wins-server 10.1.1.2 vpngroup vpnclient default-domain cisco.com vpngroup vpnclient split-tunnel 101 vpngroup vpnclient idle-time 1800 vpngroup vpnclient password ******** crypto IPSec transform-set myset esp-des esp-md5-hmac crypto dynamic-map dynmap 10 set transform-set myset crypto map mymap 10 IPsec-isakmp dynamic dynmap crypto map mymap interface outside SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

vpngroup Commands Enable Group Authorization; You Can Pass Down Mode-Configuration Parameters Within This Section Back to the VPN Client; Note That Access-List 101 Can Be Used Again for Split-Tunneling

“Crypto ipsec transform-set…” Command Defines Phase 2 Negotiation Parameters “crypto map…” Commands Defines the Actual Map which Would Be Applied to an Interface for the Data Encryption 66

Software VPN Client Configuration To Launch the VPN client, click: Start | Programs | Cisco Systems VPN client | VPN Client

SEC-3010 9825_05_2004_c1

67

© 2004 Cisco Systems, Inc. All rights reserved.

Cisco IOS EasyVPN Client 209.165.200.227

crypto ipsec client ezvpn ezvpnclient connect auto group vpnclient key cisco123 mode network-extension peer 209.165.200.227

Router

209.165.201.4

EZVPN Client

“crypto ipsec client …” Commands Define the Connection Parameters to Establish an EasyVPN tunnel

interface Ethernet0 ip address 14.38.1.1 255.255.255.0 crypto ipsec client ezvpn ezvpnclient inside hold-queue 100 out

“crypto ipsec client … inside” Command Defines the Private Subnet for the IPSec Encryption

interface Ethernet1 ip address 209.165.201.4 255.255.255.224 crypto ipsec client ezvpn ezvpnclient

“crypto ipsec client … ” Command Is then Applied to an Outbound Interface

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

14.38.1.0/24

68

PIX EasyVPN 209.165.200.227

Router

209.165.201.2

14.38.2.0/24

EZVPN Client

hostname vpn-pix501b domain-name cisco.com

vpnclient server 209.165.200.227 vpnclient mode network-extension-mode vpnclient vpngroup vpnclient password ******** vpnclient username cisco password ******** vpnclient enable

“vpnclient …” Commands Define the Connection Parameters to Establish an EasyVPN Tunnel

route outside 0.0.0.0 0.0.0.0 209.165.201.1 1 ip address outside 209.165.201.2 255.255.255.224 ip address inside 14.38.2.1 255.255.255.0

SEC-3010 9825_05_2004_c1

69

© 2004 Cisco Systems, Inc. All rights reserved.

Cisco IOS Debugs: Phase I Negotiation Debug crypto isakmp Debug crypto ipsec Debug crypto ipsec client ezvpn ( on EZVPN client ) ISAKMP (0:0): received packet from 172.18.124.96 (N) NEW SA ISAKMP: local port 500, remote port 500 … ISAKMP (0:10): Checking ISAKMP transform 1 against priority 3 policy ISAKMP: encryption 3DES-CBC ISAKMP: hash SHA ISAKMP: default group 2 ISAKMP: auth XAUTHInitPreShared ISAKMP: life type in seconds ISAKMP: life duration (VPI) of 0x0 0x20 0xC4 0x9B ISAKMP (0:10): atts are acceptable. Next payload is 3 … Old State = IKE_READY New State = IKE_R_AM_AAA_AWAIT SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

This Message Indicates That This Router Received an isakmp Message from the EZVPN client on src port 500, dst port=500

Router Is Trying to Match the Received Proposal #1 with the Configured Proposal #3

Received Proposal Is Acceptable Since the VPN Client Uses Aggressive Mode, the New State Is IKE_R_AM_AAA_AWAIT 70

Cisco IOS Debugs: Xauth …

ISAKMP (0:10): Need XAUTH … ISAKMP/xauth: request attribute XAUTH_TYPE_V2 ISAKMP/xauth: request attribute XAUTH_MESSAGE_V2 ISAKMP/xauth: request attribute XAUTH_USER_NAME_V2

Router Is Requesting the VPN Client for User Authentication

ISAKMP/xauth: request attribute XAUTH_USER_PASSWORD_V2 ... ISAKMP: Config payload REPLY ISAKMP/xauth: reply attribute XAUTH_TYPE_V2 unexpected ISAKMP/xauth: reply attribute XAUTH_USER_NAME_V2

Router Is Receiving the x-auth Attributes from the VPN Client

ISAKMP/xauth: reply attribute XAUTH_USER_PASSWORD_V2

SEC-3010 9825_05_2004_c1

71

© 2004 Cisco Systems, Inc. All rights reserved.

Cisco IOS Debugs: Mode Configuration ISAKMP (0:10): checking request: ISAKMP: IP4_ADDRESS ISAKMP: IP4_NETMASK ISAKMP: IP4_DNS ISAKMP: IP4_NBNS ISAKMP: ADDRESS_EXPIRY ISAKMP: APPLICATION_VERSION ISAKMP: UNKNOWN Unknown Attr: 0x7000 … ISAKMP: Sending private address: 14.1.1.3 ISAKMP: Unknown Attr: IP4_NETMASK (0x2) ISAKMP: Sending IP4_DNS server address: 14.36.1.10 ISAKMP: Sending IP4_NBNS server address: 14.36.1.20 ISAKMP: Sending ADDRESS_EXPIRY seconds left to use the address: 86395 ISAKMP: Sending APPLICATION_VERSION string: Cisco Internetwork OperatingSystem Software IOS (tm) 7200 Software (C7200-IK9S-M), Version 12.2(15)T, RELEASE SOFTWARE (fc1) ISAKMP: Unknown Attr: UNKNOWN (0x7000) SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

Received Mode Configuration Request from the VPN Client Unknown attr: Is Not an Error; It Just Means that Router Does Not Support This Mode-Config Attribute Requested by the VPN Client

Router Is Sending the Mode-Configuration Parameters Back to the VPN Client

72

Cisco IOS Debugs: Phase II Negotiation ISAKMP (0:11): Checking IPSec proposal 4 ISAKMP: transform 1, ESP_3DES ISAKMP: attributes in transform: ISAKMP: authenticator is HMAC-SHA ISAKMP: encaps is 1 ISAKMP: SA life type in seconds ISAKMP: SA life duration (VPI) of 0x0 0x20 0xC4 0x9B ISAKMP (0:11): atts are acceptable. … ISAKMP (0:11): Creating IPSec SAs inbound SA from 172.18.124.96 to 14.36.100.101 (proxy 14.1.1.4 to 14.36.100.101) has spi 0x962A493B and conn_id 2000 and flags 4 lifetime of 2147483 seconds outbound SA from 14.36.100.101 to 172.18.124.96 (proxy 14.36.100.101 to 14.1.1.4) has spi -2145675534 and conn_id 2001 and flags C lifetime of 2147483 seconds

SEC-3010 9825_05_2004_c1

Router Is Checking and Validating the IPSec Proposals

After Validating the Phase II, the IPSec SAs Are Created; One SA for Inbound Traffic and the Other SA for the Outbound Traffic

© 2004 Cisco Systems, Inc. All rights reserved.

73

Common Issues • VPN clients only propose DH group 2 and 5 Configure DH group 2 or 5 on Cisco IOS or PIX • Configure “isakmp identity hostname” if rsa-sig is used as an IKE authentication method • aaa authorization needs to be enabled on the router, so that router can accept/send modeconfiguration attributes • On, Cisco IOS EasyVPN client, for X-Auth, you have to manually type “crypto ipsec client ezvpn xauth”; However, this restriction has been lifted in the latest version of code SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

74

Quiz Time Agenda The Purpose of • Introduction “sysopt connection permit-IPsec” Is:

• Router IPSec VPNs 1. ToIPSec bypass conduits or ACL checking against the • PIX VPNs decrypted VPN traffic • Cisco EasyVPN Clients 2. To bypass NAT for the IPSec traffic • NAT with IPSec 3. To bypass the assignment of IP address to the • Firewalling and IPSec VPN client • MTU Issues 4. To bypass X-Auth for the VPN clients • GRE over IPSec • Loss of Connectivity of IPSec Peers SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

75

Common Problems • Bypassing NAT entries • NAT in the middle of an IPSec tunnel

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

76

Bypassing NAT Entries • Bypassing dynamic NAT entries ip nat inside source route-map nonat interface Ethernet1/0 overload access list 150 deny ip 10.1.2.0 0.0.0.255 10.1.1.0 0.0.0.255 access list 150 permit ip 10.1.2.0 0.0.0.255 any route-map nonat permit 10 match ip address 150

• Static NAT entries can be bypassed using a loopback interface and policy routing for Cisco IOS images prior to 12.2.4T; Starting from 12.2.4T a route-map can be used with static NAT to bypass NAT • Tools to debug this setup are: show ip nat translation debug ip nat debug ip policy SEC-3010 9825_05_2004_c1

77

© 2004 Cisco Systems, Inc. All rights reserved.

Bypassing Static NAT Entries crypto map vpn 10 IPsec-isakmp set peer 209.165.201.4 set transform-set myset match address 101

lo1

interface Loopback1 ip address 10.2.2.2 255.255.255.252

e0/2 nat in

interface Ethernet0/3 ip address 209.165.200.227 255.255.255.0 ip nat outside crypto map vpn interface Ethernet0/2 ip address 10.1.1.3 255.255.255.0 ip nat inside ip policy route-map nonat

e0/3 nat out crypto map

Be Careful: Packets Get PROCESS SWITCHED

ip nat inside source list 1 interface Ethernet0/3 overload ip nat inside source static 10.1.1.1 209.165.200.230 access list 1 permit 10.0.0.0 0.255.255.255 access list 101 permit ip 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 access list 120 permit ip 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 route-map nonat permit 10 match ip address 120 set ip next-hop 10.2.2.1 SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

78

Bypassing Static NAT Entries crypto map vpn 10 IPsec-isakmp set peer 209.165.201.4 set transform-set myset match address 101 interface Ethernet0/3 ip address 209.165.200.227 55.255.255.0 ip nat outside crypto map vpn

e0/2 nat in

e0/3 nat out crypto map

interface Ethernet0/2 ip address 10.1.1.3 255.255.255.0 ip nat inside ip nat inside source list 1 interface Ethernet0/3 overload ip nat inside source static 10.1.1.1 209.165.200.230 route-map nonat access-list 1 permit 10.1.1.0 255.255.255.0 access-list 101 permit ip 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 access-list 120 deny ip 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 access-list 120 permit ip 10.1.1.0 0.0.0.255 any route-map nonat permit 10 match ip address 120

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

79

NAT in the Middle of an IPSec Tunnel • In many cases, VPN clients are behind NAT/PAT devices • IPSec over NAT (NAT-T) support was first introduced in 12.2.15T for routers and version 6.3 for PIX • IPSec pass-thru feature is supported on certain NAT/PAT devices; ISAKMP cookie and ESP SPI are used to build translation table • NAT-T is turned on by default on Cisco IOS • Use isakmp nat-traversal to turn on NAT-T on PIX • Turn on IPSec over UDP or IPSec over TCP feature in case of VPN 3000 Concentrator SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

80

Agenda • Introduction • Router IPSec VPNs • PIX IPSec VPNs • Cisco EasyVPN Clients • NAT with IPSec • Firewalling and IPSec • MTU Issues • GRE over IPSec • Loss of Connectivity of IPSec Peers SEC-3010 9825_05_2004_c1

81

© 2004 Cisco Systems, Inc. All rights reserved.

Firewall in the Middle

Internet Router Private

Encrypted

Private

Public

• ESP (IP protocol type 50) or/and AH (IP/51) • UDP port 500 (ISAKMP), and/or UDP port 4500 (NAT-T)

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

82

Firewalling and IPSec (Current Behavior) • Firewall on the IPSec endpoint router: ESP or/and AH UDP port 500 (IKE) and 4500 (NAT-T) Decrypted packet IP addresses (incoming access group is applied twice)

• Firewall on the IPSec endpoint PIX: Sysopt connection permit-IPsec (no conduit or access-list is needed) Use of conduits or access-list (no sysopt connection permit-ipsec is needed—gives you more security for the decrypted pkts) SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

83

IPSec and Packet Filtering (New Behavior) • Functionality first introduced in 12.3(8)T • No need to permit clear text traffic through the interface access-list. • New “set ip access-group” command under crypto map, if clear traffic packet filtering is required • ESP and/or AH packets have to be allowed if outbound ACLs are being used; this was not required in the pre-12.3(8)T code

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

84

IPSec and Packet Filtering (New Behavior) (Cont.) crypto map vpnmap 10 ipsec-isakmp set peer 192.168.2.1 set transform-set trans1 match address 101 set ip access-group 171 in set ip access-group 181 out interface Ethernet0/0 ip address 10.1.1.1 255.255.255.0 interface Serial1/0 ip address 192.168.1.1 255.255.255.0 ip access-group 150 in ip access-group 160 out crypto map vpnmap access-list 101 permit ip 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255

set ip access-group Commands Are Optional; They Are Used for ClearText Packet Filtering

Optional: Access List Permitting Telnet Access

access-list 150 permit udp host 192.168.2.1 eq 500 host 192.168.1.1 eq 500 access-list 150 permit esp host 192.168.2.1 host 192.168.1.1 access-list 160 permit udp host 192.168.1.1 eq 500 host 192.168.2.1 eq 500 access-list 160 permit esp host 192.168.1.1 host 192.168.2.1 access-list 171 permit tcp 10.1.2.0 0.0.0.255 10.1.1.0 0.0.0.255 eq telnet access-list 181 permit tcp 10.1.1.0 0.0.0.255 eq telnet 10.1.2.0 0.0.0.255 SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

85

Agenda • Introduction • Router IPSec VPNs • PIX IPSec VPNs • Cisco EasyVPN Clients • NAT with IPSec • Firewalling And IPSec • MTU Issues • GRE over IPSec • Loss of Connectivity of IPSec Peers SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

86

IPSec MTU Issues • Overhead introduced by IPSec encapsulation (~60 bytes) • Possible fragmentation after encryption leads to reassembly on the VPN peer router (process-switched, performance degradation) • IPSec and Path MTU discovery (PMTU) IPSec copies Don’t Fragment (DF) bit from original data packets’ IP header IPSec dynamically update Path MTU in the SADB if router receives PMTU ICMP message The MTU hint in the PMTU ICMP message is physical MTU- ipsec_overhead (calculated based on transform-set) SEC-3010 9825_05_2004_c1

87

© 2004 Cisco Systems, Inc. All rights reserved.

IPSec and PMTU MTU 1500

10.1.1.2

172.16.172.10/28 e1/0 MTU 1500

e1/1

172.16.172.20/28 MTU 1400 IPSec Tunnel

Path 1500 Media 1500

MTU 1500

10.1.2.2

MTU 1500 Path 1500 Media 1500

1500 DF=1 ICMP Type3 Code 4

ICMP: dst (10.1.2.2) frag. needed and DF set unreachable sent to 10.1.1.2 (“debug ip icmp” output)

(1454) 1454 DF=1

1500 DF copied ICMP (1400)

ICMP: dst (172.16.172.20) frag. needed and DF set unreachable rcv from 172.16.172.11

IPSec SPI copied

Adjust path MTU on corresponding IPSec SA path mtu 1400, media mtu 1500

1454 DF=1

current outbound spi: EB84DC85 ICMP Type3 Code 4 (1354) 1354 DF=1 SEC-3010 9825_05_2004_c1

1400

© 2004 Cisco Systems, Inc. All rights reserved.

© 2004 Cisco Systems, Inc. All rights reserved. Printed in USA. 9825_05_2004_c1

1400

1354 88

Common Problem • PMTU ICMP packets lost or blocked Debug ip icmp on router to verify if ICMP packets are sent or received Use sniffer to verify if ICMP packets are lost

• Work arounds Reduce MTU or disable PMTU on end host Adjust TCP MSS on router to fine tune TCP windows Configure router to clear DF bit of data packets Look-ahead fragmentation

SEC-3010 9825_05_2004_c1

© 2004 Cisco Systems, Inc. All rights reserved.

89

MTU Issues Work Around: Adjusting TCP MSS • Adjust TCP MSS (maximum send segment) under ingress interface: ip tcp adjust-mss

• Router will sniff on the incoming TCP SYN packets and tweak the TCP MSS field to configured number • Remote host will use adjusted MSS value correspondingly • Choose MSS to avoid fragmentation MSS