User Tools

Site Tools


informatique:cisco:ipsec

This is an old revision of the document!


IPSec

IPSec est un standard de l'IETF qui emploie des mécanismes de chiffrement de niveau 3 (réseau) afin d'assurer :

  • l'authentification (signature)
  • la confidentialité (chiffrement) et
  • l'intégrité des données (hashage)

Théorie

Il existe plusieurs modes :

  • mode tunnel = dans ce cas on ajoute à la fois les headers ESP mais aussi une nouvelle entête IP
  • mode transport = en mode PTP, seul l'entête ESP est ajouté ; les adresses IPs sont conservées intactes et non chiffrées

IKE

Internet Key Exchange permet la négociation des paramètres de sécurité et l'établissement des clés authentifiées

  • ISAKMP : protocole de négociation d'une politique de sécurité ainsi que d'échange de clés
  • Oakley : protocole d'échange de clés (Diffie-Hellman)
  • Skeme : protocole d'échange de clés

Les 2 phases

  • phase 1 : son but est d'authentifier les peers IPsec et d'établir un canal écurisé entre eux, afin de permettre les échanges IKE :
    • authentification des paires
    • négociation de la politique de sécurité pour établir une SA (association de sécurité)
    • établissement d'un canal sécurisé grâce à un échange de clé (Diffie-Hellman)

Il existe 2 modes pour la phase 1 : main mode (6 paquets) et agressive mode (3 paquets).

  • phase 2 : son but est de négocier négocier les SAs pour monter le tunnel :
    • négociation des paramètres de sécurité (comme le tranform-set)
    • établissement d'une SA, protégée par la précédente SA de la phase 1
    • périodiquement renégocie la SA ; renouvellement de la clé partagée

Il n'existe qu'un seul mode : le quick mode.

Lors de la négociation, le paire qui initie l'IKE envoie ses paramètres de sécurité et la machine d'en face doit chercher un matche parmi les siens. Il choisi par ordre de priorité les paramètres communs pour le chiffrement, le hash, authentification et les paramètres DH.

  • Diffie-Hellman : protocole qui permet à 2 paires de générer une clé partagée au travers d'un lien non sécurisé. Il ne permet pas de vérifier l'identité de chaque paire, donc il est vulnérable à une attaque de type man-in-the-middle.
  • ESP (Encapsulating Security Payload) permet le chiffrement, l''authentification et l'intégrité des données ; IP proto 50
  • AH (Authentication Header) est un mécanisme d'authentification et d'intégrité des données ; IP proto 51

AH utilise HMAC, une fonction de hashage avec une clé secrète.

  • SPI (Security Parameter Index)

Méthodes d'authentification :

  • couple nom d'utilisateur/mot de passe
  • OTP (One Time Password)
  • Biométrie
  • clé partagée
  • certificats numériques

Algorithmes de chiffrements symétriques : on utilise la même clé pour chiffrer et déchiffrer

  • DES (Data Encryption Standard) ; dépassé actuellement
  • 3DES
  • AES (Advanced Encryption Standard)

Algorithmes de chiffrement asymétriques : paire de clés publique et privée

  • RSA

Méthodes de hashage :

  • HMAC (Hash-based Message Encryption Code)
  • MD5 (Message Digest 5)
  • SHA-1 (Secure Hash Algorithme 1)
  • SA (Security Associaion) : définit une politique d'IPsec incluant des clés partagés, mise en oeuvre entre 2 machines.
  • RRI (Reverse Route Injection) : une route statique est créé sur le serveur Cisco Easy VPN pour l'IP interne de chaque client VPN. Cela permet de les injection ensuite dans l'IGP.

PKI

PKI (Public Key Infrastructure) est un sytème servant à authentifier une clé publique d'une entité. Elle repose sur une relation de confiance entre une autorité de certification (CA pour Certificate Authority) et la personne qui cherche l'authenticité d'une clé publique.

NAT Traversal

IPSec est un protocole qui se base sur les adresses IPs de bout en bout ; il ne fonctionne dons pas si l'on modifi ces IPs. C'est le cas quand fait du NAT/PAT par exemple.

Le NAT Traversal est un mécanisme d'encapsulation d'IPSec dans un datagramme udp/4500 (par défaut). C'est une bidouille qui permet à l'IPSec de traverser les équipements qui font du NAT, mais augmente de ce fait l'overhead des paquets.

Mise en place

Mise en place d'un tunnel IPSec entre 2 routeurs R1 et R2.

Définition de la policy ISAKMP

On y défini le type d'authentification, l'algorithme de hash, l'algorithme de chiffrement et le groupe Diffie-Hellman.

crypto isakmp policy 1
 authentication pre-shared
 hash sha
 encryption aes 128
 group 2

Puis on indique la clé partagée avec l'adresse du bout du tunnel.

crypto isakmp key LaCleSecrete address 172.16.171.2 netmask 255.255.255.255

Définition de la crypto map

L'access liste permet de spécifier quel trafic envoyer dans le tunnel.

crypto ipsec transform-set Aes_sha
 esp-aes 128 esp-sha-hmac

access-list 101 permit ip 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255
crypto map VPN_To_R2 10 ipsec-isakmp
 set peer 172.16.171.2
 match address 101
 set transform-set Aes_sha

Appliquer la configuration sur une interface

interface se0/0
 ip address 172.16.171.1 255.255.255.0
 crypto map VPN_To_R2

Tunnel GRE over IPSec

Soient R1 et R2 2 routeurs reliés par leur interface fa0/1 (10.2.4.1 et 10.2.4.2/24) ; on monte un tunnel GRE entre eux (10.1.4.1 et 10.1.4.2/24) et un tunnel IPSec par dessus.

Sur R1 :

crypto isakmp policy 1
 encryption 3des
 authentication pre-share
 group 2
!
crypto isakmp key secretkey address 10.2.4.2
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
!
crypto map SDM_CMAP_1 1 ipsec-isakmp
 set peer 10.2.4.2
 set transform-set ESP-3DES-SHA
 match address 101
!
interface Tunnel0
 ip address 10.1.4.1 255.255.255.0
 ip mtu 1420
 tunnel source FastEthernet0/1
 tunnel destination 10.2.4.2
 tunnel path-mtu-discovery
 crypto map SDM_CMAP_1
!
interface FastEthernet0/1
 description Vers R2
 ip address 10.2.4.1 255.255.255.0
 duplex full
 speed 100
 crypto map SDM_CMAP_1
!
ip route 0.0.0.0 0.0.0.0 Tunnel0
ip route 10.2.4.2 255.255.255.255 FastEthernet0/1
!
access-list 101 remark SDM_ACL Category=4
access-list 101 permit gre host 10.2.4.1 host 10.2.4.2

Vérifs

show crypto isakmp key
show crypto isakmp sa
show crypto session detail
show crypto engine connection active

Etat des tunnels

sh crypto session
Crypto session current status

Interface: Vlan80
Session status: UP-ACTIVE
Peer: 192.168.0.78/500
  IKE SA: local 192.168.0.75/500 remote 192.168.0.78/500 Active
  IPSEC FLOW: permit 47 host 192.168.0.75 host 192.168.0.78
        Active SAs: 2, origin: crypto map

Renégocier un tunnel spécifique

  • Trouver le peer (l'IP de l'interface tunnel de l'équipement distant) :
sh ip arp vlan 80
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  192.168.0.78           21   0013.c37c.e940  ARPA   Vlan80
Internet  192.168.0.75            -   0000.0c07.d34d  ARPA   Vlan80
Internet  192.168.0.74            -   0007.ec74.d4f0  ARPA   Vlan80

Les “Age” = “-” sont les @ MAC locales, ici une adresse logique (HSRP) et une physique (celle du routeur). Le peer est donc le 192.168.0.78.

  • Puis on renégocie le tunnel :
clear crypto session remote 192.168.0.78

Liens

informatique/cisco/ipsec.1246820518.txt.gz · Last modified: 2013/10/14 20:52 (external edit)