User Tools

Site Tools


informatique:cisco:ipsec

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
informatique:cisco:ipsec [2009/07/22 19:05] pteuinformatique:cisco:ipsec [2013/04/10 10:02] – [Définition de la crypto map] pteu
Line 112: Line 112:
 ====Définition de la crypto map==== ====Définition de la crypto map====
  
-Définition du ''tranform-set'' qui spécifie la politique de sécurité d'IPsec (algorithme de chiffrement + d'authentification) : +Définition du ''transform-set'' qui spécifie la politique de sécurité d'IPsec (algorithme de chiffrement + d'authentification + mode IPSec (transport ou tunnel, tunnel par défaut)) : 
-  crypto ipsec transform-set Aes_sha +<code bash> 
-   esp-aes 128 esp-sha-hmac+crypto ipsec transform-set Aes_sha 
 + esp-aes 128 esp-sha-hmac 
 + mode transport 
 +</code>
      
-Crypto map = associer un transform-set à un peer et à une ACL (cf plus bas) : +Définition de la crypto map = associer un transform-set à un peer et à une ACL (cf plus bas) : 
-  crypto map VPN_To_R2 10 ipsec-isakmp +<code bash> 
-   set peer 172.16.171.2 +crypto map VPN_To_R2 10 ipsec-isakmp 
-   match address 101 + set peer 172.16.171.2 
-   set transform-set Aes_sha+ match address 101 
 + set transform-set Aes_sha 
 + set pfs group2 
 +</code>
  
 Définition de l'access-list qui spécifie quel trafic sera envoyé dans le tunnel. Définition de l'access-list qui spécifie quel trafic sera envoyé dans le tunnel.
-  access-list 101 permit ip 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255+<code bash> 
 +access-list 101 permit ip 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255 
 +</code>
  
 ====Appliquer la crypto map sur une interface==== ====Appliquer la crypto map sur une interface====
Line 180: Line 188:
 ====DPD + IPsec Backup peer==== ====DPD + IPsec Backup peer====
  
-  * **DPD** (Dead Peer Detection) est un mécanisme natif d'IKE qui permet de détecter un problème sur le tunnel IPsec. Le DPD **on-demand** permet de ne vérifier que le peer est up que lorsque le routeur a du trafic à envoyer vers lui, ce qui réduit sa charge CPU.+  * **DPD** (Dead Peer Detection) est un mécanisme natif d'IKE qui permet de détecter un problème sur le tunnel IPsec ; il est désactivé par défaut. Le DPD **on-demand** permet de ne vérifier que le peer est up que lorsque le routeur a du trafic à envoyer vers lui, ce qui réduit sa charge CPU.
   * **Cisco IOS Keepalive Feature** est un mécanisme similaire au DPD mais propriétaire Cisco.   * **Cisco IOS Keepalive Feature** est un mécanisme similaire au DPD mais propriétaire Cisco.
   * L'IGP qui tournent sur un tunnel GRE over IPsec permet de détecter si le peer/neighbor tombe grâce aux "HELLO" du protocole de routage.   * L'IGP qui tournent sur un tunnel GRE over IPsec permet de détecter si le peer/neighbor tombe grâce aux "HELLO" du protocole de routage.
Line 186: Line 194:
 On configure le DPD avec la commande suivante : ''**crypto isakmp keepalive** //seconds// [//retries//] [**periodic** | **on-demand**]'' On configure le DPD avec la commande suivante : ''**crypto isakmp keepalive** //seconds// [//retries//] [**periodic** | **on-demand**]''
  
-Les secondes vont de 10 à 3600 et indique l'intervalle d'envoi des keepalive ; les retries, en secondes aussi, définissent le temps entre 2 tentatives si la précédete à échoué (par défaut 2 secondes). periodic et on-demand (par défaut) définissent le comportement des keepalive : périodiques (régulièrement toutes les x secondes) ou en fonction du trafic émis (s'il n'y a pas de trafic, pas d'envoi de keepalive).+Les secondes vont de 10 à 3600 et indique l'intervalle d'envoi des keepalive ; les retries, en secondes aussi, définissent le temps entre 2 tentatives si la précédente à échoué (par défaut 2 secondes). periodic et on-demand (par défaut) définissent le comportement des keepalive : périodiques (régulièrement toutes les x secondes) ou en fonction du trafic émis (s'il n'y a pas de trafic, pas d'envoi de keepalive).
  
-Quand le DPD détecte le peer down, s'il a un second peer déclaré dans la crypto map il renégocie un tunnel avec ce dernier :+Quand le DPD détecte le peer IKE down, il va supprimer les SA IKE et IPSec de ce peer. S'il a un second peer déclaré dans la crypto mapil renégocie un tunnel avec ce dernier :
  
   crypto isakmp keepalive 10 3   crypto isakmp keepalive 10 3
Line 196: Line 204:
    set peer 10.0.1.1    set peer 10.0.1.1
  
-Le DPD envoie des keepalive toutes les 10 secondes avec 3 //retries//.+Le DPD est configuré pour envoyer des keepalive toutes les 10 secondes avec 3 //retries//Pour vérifier que le DPD est activé (dans cet exemple là ce n'est pas le cas) : 
 +<code> 
 +debug crypto isakmp 
 +[...] 
 +Jan 21 08:16:25: dpd enable: 0000, dpd periodic enable : 0000 
 +</code> 
 + 
 +Liens : 
 +  * [[http://www.cisco.com/en/US/docs/ios/sec_secure_connectivity/configuration/guide/sec_ipsec_dead_peer.html|IPsec Dead Peer Detection Periodic Message Option]] sur cisco.com
  
 ====HSRP et RRI==== ====HSRP et RRI====
Line 249: Line 265:
      remote-ip 10.1.1.2      remote-ip 10.1.1.2
  
 +
 +====Accélération matérielle====
 +
 +Sur certains châssis on peut utiliser des modules d'accélération hardware ; c'est le cas des cartes AIM sur les châssis 3825 ou des carte SPA pour les châssis 650X. Dans ce dernier exemple si on utilise des tunnels GRE + IPsec il peut être intéressant dans certains cas de forcer la prise en charge des tunnels GRE chiffrés par la carte supervisor :
 +<code bash>
 +! prise en charge de la crypto par la carte SPA
 +crypto engine gre vpnblade
 +!
 +! prise en charge par la carte supervisor
 +crypto engine gre supervisor
 +</code>
  
 =====Vérifs===== =====Vérifs=====
Line 258: Line 285:
   show crypto engine connection active   show crypto engine connection active
  
-====Etat des tunnels====+====État des tunnels====
  
-  sh crypto session +<code bash> 
-  Crypto session current status +show crypto session 
-   +Crypto session current status 
-  Interface: Vlan80 + 
-  Session status: UP-ACTIVE +Interface: Vlan80 
-  Peer: 192.168.0.78/500 +Session status: UP-ACTIVE 
-    IKE SA: local 192.168.0.75/500 remote 192.168.0.78/500 Active +Peer: 192.168.0.78/500 
-    IPSEC FLOW: permit 47 host 192.168.0.75 host 192.168.0.78 +  IKE SA: local 192.168.0.75/500 remote 192.168.0.78/500 Active 
-          Active SAs: 2, origin: crypto map+  IPSEC FLOW: permit 47 host 192.168.0.75 host 192.168.0.78 
 +        Active SAs: 2, origin: crypto map 
 +</code> 
 + 
 +Session status (source : [[http://www.cisco.com/en/US/docs/ios/12_3t/12_3t4/feature/guide/gt_ipsvm.html#wp1042935|IP Security VPN Monitoring]]) : 
 +^Tunnel Status   ^IKE SA         ^IPSec SA^ 
 +|UP-ACTIVE       |Exist, active  |Exist (flow exists)| 
 +|UP-IDLE         |Exist, active  |None (flow exists)| 
 +|UP-IDLE         |Exist, active  |None (no flow)| 
 +|UP-NO-IKE       |Exist, inactive|Exist (flow exists)| 
 +|UP-NO-IKE       |None           |Exist (flow exists)| 
 +|DOWN-NEGOTIATING|Exist, inactive|None (flow exists)| 
 +|DOWN-NEGOTIATING|Exist, inactive|None (no flow)| 
 +|DOWN            |None           |None (flow exists)| 
 +|DOWN            |None           |None (no flow)| 
 + 
 + 
 +Plus de détails : on précise l'adresse ip du peer pour n'afficher que son tunnel ; on récupère avec cette commande le mode IPSec (tunnel ou transport), les compteurs in/out, les SAs, etc. 
 +<code bash> 
 +Router1#show crypto ipsec sa peer 10.1.1.1 
 + 
 +interface: Vlan2784 
 +    Crypto map tag: cm100, local addr 10.0.0.1 
 + 
 +   protected vrf: (none) 
 +   local  ident (addr/mask/prot/port): (10.0.0.1/255.255.255.255/47/0) 
 +   remote ident (addr/mask/prot/port): (10.1.1.1/255.255.255.255/47/0) 
 +   current_peer 10.1.1.1 port 500 
 +     PERMIT, flags={origin_is_acl,
 +    #pkts encaps: 2949679701, #pkts encrypt: 2949679701, #pkts digest: 2949679701 
 +    #pkts decaps: 1599171374, #pkts decrypt: 1599171374, #pkts verify: 1599171374 
 +    #pkts compressed: 0, #pkts decompressed:
 +    #pkts not compressed: 0, #pkts compr. failed: 0 
 +    #pkts not decompressed: 0, #pkts decompress failed: 0 
 +    #send errors 0, #recv errors 0 
 + 
 +     local crypto endpt.: 10.0.0.1, remote crypto endpt.: 10.1.1.1 
 +     path mtu 1500, ip mtu 1500 
 +     current outbound spi: 0xDA4B403D(3662364733) 
 +     PFS (Y/N): Y, DH group: group5 
 + 
 +     inbound esp sas: 
 +      spi: 0x3988518B(965235083) 
 +        transform: esp-3des esp-sha-hmac , 
 +        in use settings ={Tunnel, } 
 +        conn id: 8079, flow_id: :6079, sibling flags 80000240,  crypto map: cm100 
 +        sa timing: remaining key lifetime (k/sec): (911080/3215) 
 +        IV size: 8 bytes 
 +        replay detection support: N 
 +        Status: ACTIVE 
 + 
 +     inbound ah sas: 
 + 
 +     inbound pcp sas: 
 + 
 +     outbound esp sas: 
 +      spi: 0xDA4B403D(3662364733) 
 +        transform: esp-3des esp-sha-hmac , 
 +        in use settings ={Tunnel, } 
 +        conn id: 8080, flow_id: :6080, sibling flags 80000240,  crypto map: cm100 
 +        sa timing: remaining key lifetime (k/sec): (3101942/3215) 
 +        IV size: 8 bytes 
 +        replay detection support: N 
 +        Status: ACTIVE 
 + 
 +     outbound ah sas: 
 + 
 +     outbound pcp sas: 
 +</code> 
 + 
 +Autres commandes, en vrac : 
 +<code bash> 
 +show crypto engine accel stat slot x/y detail et/ou 
 +show crypto ipsec sa 
 +
 +show crypto ace polo detail 
 +show int tunnel351 stats 
 +show crypto vlan 
 +show crypto engine accelerator statistic all 
 +show ip int tu351 
 +
 +clear crypto engine accelerator counter all 
 +clear crypto session local 10.4.101.97 
 +</code>
  
 ====Renégocier un tunnel spécifique==== ====Renégocier un tunnel spécifique====
Line 291: Line 401:
   * [[http://www.cisco.com/en/US/tech/tk583/tk372/technologies_configuration_example09186a00800a43f6.shtml|Configuring a GRE Tunnel over IPSec with OSPF]] chez cisco   * [[http://www.cisco.com/en/US/tech/tk583/tk372/technologies_configuration_example09186a00800a43f6.shtml|Configuring a GRE Tunnel over IPSec with OSPF]] chez cisco
   * [[http://www.hsc.fr/ressources/articles/ipsec-tech/index.html.fr|Présentation technique d'IPsec]]   * [[http://www.hsc.fr/ressources/articles/ipsec-tech/index.html.fr|Présentation technique d'IPsec]]
 +  * [[http://www.cisco.com/en/US/docs/ios/12_3t/secur/command/reference/sec_s2gt.html|Security Commands: show crypto isakmp key through subject-name]]
 +
 +En vrac, des liens destinés à comprendre et debugger l'IPSec :
 +  * [[http://www.cisco.com/en/US/docs/ios/12_2t/12_2t13/feature/guide/ftprefrg.html|Pre-fragmentation For Ipsec VPNs]]
 +  * [[http://www.cisco.com/en/US/docs/ios/12_3t/12_3t14/feature/guide/gtIPSctm.html|IPSec Virtual Tunnel Interface]]
 +  * [[http://www.cisco.com/en/US/docs/ios-xml/ios/sec_conn_dmvpn/configuration/xe-3s/Sharing_IPSec_with_Tunnel_Protection.html|Sharing IPSec with Tunnel Protection]]
 +  * [[http://www.cisco.com/en/US/docs/interfaces_modules/shared_port_adapters/configuration/6500series/76ovwvpn.html|Overview of the IPsec VPN SPA]]
 +  * [[http://www.cisco.com/en/US/tech/tk827/tk369/technologies_white_paper09186a00800d6979.shtml|Resolve IP Fragmentation, MTU, MSS, and PMTUD Issues with GRE and IPSEC]] (white paper)
 +  * [[http://www.cisco.com/en/US/docs/interfaces_modules/shared_port_adapters/configuration/6500series/76cfvpnb.html|Configuring IPsec VPN Fragmentation and MTU]]
 +  * [[http://www.cisco.com/en/US/docs/ios/12_2/security/command/reference/srfipsec.html|IPSec Network Security Commands]]
informatique/cisco/ipsec.txt · Last modified: 2013/10/14 20:44 by 127.0.0.1