IPSec VPN between Cisco ASA and Check Point NGX

From The sin within

Jump to: navigation, search

Contents

Goals

To establish a VPN connection between a Cisco ASA and a Check Point NGX firewall.

Prerequisites

  • Very good understanding of IPSec protocol
  • Good knowledge of Check Point NGX
  • Good knowledge of Cisco ASA CLI command set

Configuration

Network setup

  • Cisco ASA
    • external interface (outside): 1.2.3.4/255.255.255.252
    • internal interface (inside): 10.20.40.1/255.255.255.0
  • Check Point NGX
    • external interface (eth0): 5.6.7.8/255.255.255.252
    • internal interface (eth1): 10.40.20.1/255.255.255.0

Therefore, the VPN will be between 10.20.40.0/24 and 10.40.20.0/24

Cisco ASA setup

names
!
interface GigabitEthernet0/0
nameif outside
security-level 0
ip address 1.2.3.4 255.255.255.252
!
interface GigabitEthnet0/1
nameif inside
security level 80
ip address 10.20.40.1 255.255.255.0
!

After setting up the interfaces, an access list that permits traffic between the two encryption domains must be setup

access-list vpn_1 extended permit ip 10.20.40.0 255.255.255.0 10.40.20.0 255.255.255.0

In the ASA, a route pointing to the IPSec tunnel endpoint for the remote network is necessary

route outside 10.40.20.0 255.255.255.0 5.6.7.8 1

Now, an IPSec phase-2 cryptographic transform set needs to be defined:

crypto ipsec transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac
crypto ipsec transform-set ESP-AES-128-SHA esp-aes esp-sha-hmac
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
crypto ipsec transform-set ESP-3DES-MD5 esp-3des esp-md5-hmac
crypto ipsec transform-set ESP-AES-128-MD5 esp-aes esp-md5-hmac
crypto ipsec transform-set ESP-AES-256-MD5 esp-aes-256 esp-md5-hmac

This above defined transform set is necessary so that the firewalls can negociate what cryptographic algorithm will be used for phase-1, strating with the strongest.

To define how long the phase-2 security association life time lives, you have to define it like below:

crypto ipsec security-association lifetime seconds 3600

Now, we need to define what traffic need to be encrypted, and to which peer

crypto map outside_map 30 match address vpn_1
crypto map outside_map 30 set peer 5.6.7.8
crypto map outside_map 30 set transform-set ESP-AES-128-SHA
crypto map outside_map interface outside
isakmp identity address
isakmp enable outside

The ISAKMP policy below sets how should the phase-1 key exchange be encrypted (protocol, and lifetime)

isakmp policy 120 authentication pre-share
isakmp policy 120 encryption aes-256
isakmp policy 120 hash sha
isakmp policy 120 group 2
isakmp policy 120 lifetime 86400

Now, a tunnel group must be formed in order to set the type of the IPSec tunnel, which in our case is LAN-2-LAN

tunnel-group 5.6.7.8 type ipsec-l2l
tunnel-group 5.6.7.8 ipsec-attributes
 pre-shared-key *

Note: due to security reasons, when you do a show run on the ASA, instead of the actual preshared secret, a * will be displayed

This is about it on the Cisco ASA side.

Check Point NGX setup

In Check Point, first you need to define a new Interoperable Device which we'll call Cisco-ASA and in the IP address field, you'll enter the IP address of the external interface of Cisco ASA, in this case being 1.2.3.4

Next, you edit the toplogy of the device and enter:

  • eth0: 1.2.3.4, netmask 255.255.255.255; topology: Leads to internet
  • eth1: 10.20.40.1, netmask 255.255.255.0; topology: Internal, Network defined by IP address and netmask

Next, you need to create a new VPN community, type Star, with the following settings:

  • Center gateways: the object representing the Check Point enforcement point
  • Satellite gateways: the object representing the Cisco ASA device
  • VPN Properties:
    • IKE (Phase 1) Properties
      • Perform key exchange encryption with: AES-256
      • Perform data integrity with: SHA-1
    • IPSec (Phase 2) Properties
      • Perform IPSec data encryption with: AES-128
      • Perform data integrity with: SHA-1
  • Tunnel properties:
    • VPN Tunnel sharing: One VPN tunnel per subnet pair
  • Advanced settings
    • SharedSecret
      • Use only SharedSecret for all external members
    • Advanced VPN Properties:
      • IKE (Phase 1):
        • Use Diffie-Helman Group: Group 2
      • NAT: Disable NAT inside VPN community

That's it with the Check Point, after editing the properties, save the settings and do a Policy Install

Configuration verification

Cisco-ASA# sh crypto ipsec sa
interface: outside
   Crypto map tag: outside_map, seq num: 30, local addr: 1.2.3.4

     access-list vpn_1 permit ip 10.20.40.0 255.255.255.0 10.40.20.0 255.255.255.0
     local ident (addr/mask/prot/port): (10.20.40.0/255.255.255.0/0/0)
     remote ident (addr/mask/prot/port): (10.40.20.0/255.255.255.0/0/0)
     current_peer: 5.6.7.8

     #pkts encaps: 7458223, #pkts encrypt: 7458223, #pkts digest: 7458223
     #pkts decaps: 13172556, #pkts decrypt: 13172554, #pkts verify: 13172554
     #pkts compressed: 0, #pkts decompressed: 0
     #pkts not compressed: 7458226, #pkts comp failed: 0, #pkts decomp failed: 0
     #send errors: 0, #recv errors: 0

     local crypto endpt.: 1.2.3.4, remote crypto endpt.: 5.6.7.8

     path mtu 1500, ipsec overhead 60, media mtu 1500
     current outbound spi: 7F40EF30

   inbound esp sas:
     spi: 0x9C2D9F3B (2620235579)
        transform: esp-aes esp-sha-hmac
        in use settings ={L2L, Tunnel, }
        slot: 0, conn_id: 5, crypto-map: outside_map
        sa timing: remaining key lifetime (kB/sec): (3163567/2697)
        IV size: 8 bytes
        replay detection support: Y
   outbound esp sas:
     spi: 0x7F40EF30 (2134961968)
        transform: esp-aes esp-sha-hmac
        in use settings ={L2L, Tunnel, }
        slot: 0, conn_id: 5, crypto-map: outside_map
        sa timing: remaining key lifetime (kB/sec): (4253889/2685)
        IV size: 8 bytes
        replay detection support: Y
Cisco-ASA# sh crypto isakmp sa detail

    Active SA: 1
     Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
 Total IKE SA: 1

1   IKE Peer: 5.6.7.8
    Type    : L2L             Role    : initiator
    Rekey   : no              State   : MM_ACTIVE
    Encrypt : aes-256            Hash    : SHA
    Auth    : preshared       Lifetime: 86400
    Lifetime Remaining: 67527

Notes

This configuration was done between:

  • Check Point NGX R61
  • Cisco Adaptive Security Appliance Software Version 7.0(4)
Personal tools