Objectifs de certification

ENCOR 350-401

  • 2.2 Configure and verify data path virtualization technologies

    • 2.2.a VRF
    • 2.2.b GRE and IPsec tunneling
  • 5.5 Describe the components of network security design

    • 5.5.a Threat defense
    • 5.5.b Endpoint security
    • 5.5.c Next-generation firewall
    • 5.5.d TrustSec, MACsec
    • 5.5.e Network access control with 802.1X, MAB, and WebAuth

Lab IPSEC ESP en mode tunnel et en mode transport avec GRE intégré au pare-feu ZBF

1. Description de l’exercice

Ce Lab vous propose de monter un tunnel VPN GRE non sécurisé entre deux sites et de le démonter, ensuite on proposera de monter un tunnel VPN IPSEC en ESP mode tunnel, dans un troisième temps, on rétablira les interfaces GRE et on utilisera la configuration ESP en mode transport. Cette configuration chiffre le trafic GRE entre les deux sites et autorise l’activation d’un protocole de routage comme OSPF. Cette configuration ne serait pas complète sans la configuration du pare-feu Cisco IOS.

Note : on trouvera ici une configuration IPSEC de type crypto-map (versus profiles).

1.1. Topologie

Lab IPSEC ESP en mode tunnel et en mode transport avec GRE intégré au pare-feu ZBF

1.2. Plan d’adressage

RouteurInterfaceAdresse IPv4
R1G0/211.1.2.1/24
R1G0/311.1.3.1/24
R2G0/111.1.2.2/24
R2G0/0192.168.33.1/24
R3G0/111.1.2.2/24
R3G0/0192.168.33.1/24

1.3. Scénario

Dans une première étape, on vous présente une configuration de base où deux sites distants se connectent à un Internet réprésenté par les réseaux 11.1.2.0/24 et 11.1.3.0/24. Les seuls réseaux joignables à partir des réseaux privés sont les destinations publiques. Les réseaux privés n’arrivent pas à se joindre.

Dans une seconde étape, on proposera de monter un tunnel GRE qui permettra de transporter du trafic, mais ce trafic passera en clair ! L’étape 3 propose de démonter ce tunnel.

L’étape 4 propose d’établir un tunnel IPSEC en mode “tunnel” entre les deux sites R2 et R3. Le paquet IP original est entièrement chiffré et un nouvel en-tête IP est fabriqué par IPSEC avec les adresses publiques des deux points en source et en destination.

Les étapes 5 et 6 proposent de remonter le tunnel GRE et d’adapter la configuration IPSEC en mode “transport” pour chiffrer le trafic contenu dans une charge GRE. En mode “transport” ESP ne chiffre que la charge sans ajouter de nouvel en-tête IP. Mais quelle sera l’en-tête IP original non chiffré ? Celui que le tunnel GRE aura créé. Quelle sera la charge chiffrée ? Celle du tunnel GRE qui comprendra l’en-tête GRE et le paquet IP original.

Si on active OSPF, les deux routeurs seront voisins à travers le tunnel désormais sécurisé.

Les étapes 7 et 8 suggèrent d’intégrer un pare-feu Cisco ZBF à la configuration. Le routeur devra accepter le trafic GRE entre les deux sites et les interfaces des sites distants et des tunnels pourront de trouver dans une zone de sécurité commune.

1.4. Méthodologie

À chaque étape de l’exercice, il est suggéré de :

  • Déployer la configuration
  • Tester la connectivité “de bout-en-bout” entre les deux réseaux privés, par exemple avec la commande ping du réseau 192.168.33.0/24 au réseau 192.168.65.0/24.

2. Exercice

2.1. Étape 1 Configuration de base

R1 simule un routeur de l’Internet. Il ne transfère aucun trafic vers un réseau privé. Le bloc 11.0.0.0/8 est un bloc public.

hostname R1
interface GigabitEthernet0/2
 ip address 11.1.2.1 255.255.255.0
 no shutdown
interface GigabitEthernet0/3
 ip address 11.1.3.1 255.255.255.0
 no shutdown

R2 est une passerelle d’un site distant avec du NAT et du DHCP activé. L’interface G0/1 est l’interface externe et dispose d’une adresse IPv4 publique 11.1.2.2.

hostname R2
interface GigabitEthernet0/0
 ip address 192.168.33.1 255.255.255.0
 no shutdown
interface GigabitEthernet0/1
 ip address 11.1.2.2 255.255.255.0
 no shutdown
ip dhcp pool LAN
 network 192.168.33.0 255.255.255.0
 default-router 192.168.33.1
ip access-list extended NAT
 10 permit ip 192.168.33.0 0.0.0.255 any
ip nat inside source list NAT int G0/1 overload
int g0/0
 ip nat inside
int g0/1
 ip nat outside
ip route 0.0.0.0 0.0.0.0 11.1.2.1

R3 est une passerelle d’un autre site distant avec du NAT et du DHCP. L’interface G0/1 est l’interface externe et dispose d’une adresse IPv4 publique 11.1.3.2.

hostname R3
interface GigabitEthernet0/0
 ip address 192.168.65.1 255.255.255.0
 no shutdown
interface GigabitEthernet0/1
 ip address 11.1.3.2 255.255.255.0
 no shutdown
ip dhcp pool LAN
 network 192.168.65.0 255.255.255.0
 default-router 192.168.65.1
ip access-list extended NAT
 10 permit ip 192.168.65.0 0.0.0.255 any
ip nat inside source list NAT int G0/1 overload
int G0/0
 ip nat inside
int g0/1
 ip nat outside
ip route 0.0.0.0 0.0.0.0 11.1.3.1

2.2. Étape 2 Tunnel GRE

Pour transporter du trafic d’un site privé à l’autre, on peut utiliser le protocole GRE qui crée des interfaces dédiées. GRE crée un nouvel en-tête IP et embarque un en-tête GRE et le paquet IP original. Dans un premier temps, on ajoute une route statique avec une distance administrative élevée (200) pour diriger le trafic d’un site à l’autre, mais un protocole de routage serait aussi supporté (Étape 6).

hostname R2
interface Tunnel1
 ip add 172.16.1.1 255.255.255.0
 ip mtu 1400
 ip tcp adjust-mss 1360
 tunnel source GigabitEthernet0/1
 tunnel destination 11.1.3.2
ip route 192.168.65.0 255.255.255.0 172.16.1.2 200
hostname R3
interface Tunnel1
 ip add 172.16.1.2 255.255.255.0
 ip mtu 1400
 ip tcp adjust-mss 1360
 tunnel source 11.1.3.2
 tunnel destination 11.1.2.2
ip route 192.168.33.0 255.255.255.0 172.16.1.1 200

2.3. Étape 3 Désactiver le tunnel GRE

Par mesure de sécurité, il n’est pas indiqué de maintenir ce tunnel.

hostname R2
no interface Tunnel1
no ip route 192.168.65.0 255.255.255.0 172.16.1.2 200
hostname R3
no interface Tunnel1
no ip route 192.168.33.0 255.255.255.0 172.16.1.1 200

2.4. Étape 4 Configuration IPSEC mode tunnel

En mode “tunnel” (ESP), le paquet original est chiffré et devient la charge d’un nouvel en-tête IPv4. Le trafic qui passe par le tunnel ne doit pas être traduit : on modifie en conséquence l’ACL “NAT” en insérant une exception pour le trafic entre chaque site privé en la faisant précéder de la règle qui traduit le trafic du réseau local vers n’importe quelle direction.

IPSEC est configuré en mode tunnel avec des paramètres ESP AES 256 et SHA 256. ISAKMP utilise une authentification par clé (cisco123), un chiffrement AES 256, un authentification SHA et groupe Diffie-Helman 14 (2048 bits).

hostname R2
ip access-list extended crypto-acl
 permit ip 192.168.33.0 0.0.0.255 192.168.65.0 0.0.0.255
crypto isakmp policy 1
 encr aes 256
 authentication pre-share
 group 14
crypto isakmp key cisco123 address 11.1.3.2
crypto ipsec transform-set to-R3-set esp-aes 256 esp-sha256-hmac
 mode tunnel
crypto map cm-to-R3 1 ipsec-isakmp
 set peer 11.1.3.2
 set transform-set to-R3-set
 match address crypto-acl
int g0/1
 crypto map cm-to-R3
ip access-list extended NAT
 5 deny ip 192.168.33.0 0.0.0.255 192.168.65.0 0.0.0.255
hostname R3
ip access-list extended crypto-acl
 permit ip 192.168.65.0 0.0.0.255 192.168.33.0 0.0.0.255
crypto isakmp policy 1
 encr aes 256
 authentication pre-share
 group 14
crypto isakmp key cisco123 address 11.1.2.2
crypto ipsec transform-set to-R2-set esp-aes 256 esp-sha256-hmac
 mode tunnel
crypto map cm-to-R2 1 ipsec-isakmp
 set peer 11.1.2.2
 set transform-set to-R2-set
 match address crypto-acl
int g0/1
 crypto map cm-to-R2
ip access-list extended NAT
 5 deny ip 192.168.65.0 0.0.0.255 192.168.33.0 0.0.0.255

2.5. Étape 5 Configuration GRE sur IPSEC mode transport

Le mode “transport” IPSEC avec une interface tunnel GRE supporte le trafic multicast OSPF. Dans cette configuration, c’est le trafic GRE qui doit être chiffré par IPSEC (acl “crypto-acl”). Le transform-set est ici configuré en mode “transport”. On peut alors rétablir le tunnel GRE dont la charge sera protégée par IPSEC.

hostname R2
ip access-list extended crypto-acl
 no permit ip 192.168.33.0 0.0.0.255 192.168.65.0 0.0.0.255
 permit gre host 11.1.2.2 host 11.1.3.2
interface Tunnel1
 ip add 172.16.1.1 255.255.255.0
 ip mtu 1400
 ip tcp adjust-mss 1360
 tunnel source GigabitEthernet0/1
 tunnel destination 11.1.3.2
ip route 192.168.65.0 255.255.255.0 172.16.1.2 200
crypto ipsec transform-set to-R3-set esp-aes 256 esp-sha256-hmac
 no mode tunnel
 mode transport
hostname R3
ip access-list extended crypto-acl
 no permit ip 192.168.65.0 0.0.0.255 192.168.33.0 0.0.0.255
 permit gre host 11.1.3.2 host 11.1.2.2
interface Tunnel1
 ip add 172.16.1.2 255.255.255.0
 ip mtu 1400
 ip tcp adjust-mss 1360
 tunnel source 11.1.3.2
 tunnel destination 11.1.2.2
ip route 192.168.33.0 255.255.255.0 172.16.1.1 200
crypto ipsec transform-set to-R2-set esp-aes 256 esp-sha256-hmac
 no mode tunnel
 mode transport

2.6. Étape 6 Activation du routage OSPF

Afin de vérifier l’apprentissage des routeurs via les relations de voisinage et le support du multicast, on active OSPF sur les interface G0/0 et Tunnel 1.

router ospf 1
 passive-interface G0/0
interface G0/0
 ip ospf 1 area 0
interface Tunnel1
 ip ospf 1 area 0

2.7. Étape 7 Configuration de base du pare-feu

Voici une configuration typique d’un pare-feu ZBF qui règle le trafic vers l’Internet (zone-pair security lan-internet) et le trafic de gestion à destination du pare-feu lui-même (zone-pair security internet-self). La connectivité du tunnel GRE devrait s’interrompre.

ip access-list extended SSH
 permit tcp any any eq 22
 deny   ip any any
ip access-list extended DHCP
 permit udp any any eq 68
 deny udp any any
ip access-list extended DNS
 permit udp any any eq 53
 deny udp any any
class-map type inspect match-any icmp-class
 match protocol icmp
class-map type inspect match-any remote-access-class
 match access-group name SSH
class-map type inspect match-any dhcp-class
 match access-group name DHCP
class-map type inspect match-any dns-class
 match access-group name DNS
class-map type inspect match-any internet-trafic-class
 match protocol dns
 match protocol http
 match protocol https
 match protocol icmp
policy-map type inspect to-self-policy
 class type inspect remote-access-class
  pass
 class type inspect icmp-class
  inspect
 class type inspect dhcp-class
  pass
 class type inspect dns-class
  pass
 class class-default
  drop log
policy-map type inspect lan-internet-policy
 class type inspect internet-trafic-class
  inspect
 class class-default
  drop log
zone security lan
zone security internet
zone-pair security lan-internet source lan destination internet
 service-policy type inspect lan-internet-policy
zone-pair security internet-self source internet destination self
 service-policy type inspect to-self-policy
interface G0/1
 zone-member security internet
interface G0/0
 zone-member security lan

2.8. Étape 8 Adaptation du pare-feu pour le VPN

Pour que le trafic IPSEC soit accepté dans le tunnel GRE, on peut associer l’interface Tunnel 1 à la même zone que l’interface du réseau local G0/0.

Aussi, le routeur doit être en mesure d’accepter une connexion GRE directe venant du site distant : voyez l’ACL “GRE” et l’action pass sur le policy-map.

hostname R2
interface Tunnel 1
 zone-member security lan
ip access-list extended GRE
 permit gre host 11.1.3.2 host 11.1.2.2
class-map type inspect match-any vpn-class
 match access-group name GRE
policy-map type inspect to-self-policy
 class type inspect vpn-class
  pass
hostname R3
interface Tunnel 1
 zone-member security lan
ip access-list extended GRE
 permit gre host 11.1.2.2 host 11.1.3.2
class-map type inspect match-any vpn-class
 match access-group name GRE
policy-map type inspect to-self-policy
 class type inspect vpn-class
  pass