informatique:cisco:ipsec
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| informatique:cisco:ipsec [2009/07/12 21:03] – Redondance / Failover pteu | informatique:cisco:ipsec [2013/10/14 20:44] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 19: | Line 19: | ||
| **Internet Key Exchange** permet la négociation des paramètres de sécurité et l' | **Internet Key Exchange** permet la négociation des paramètres de sécurité et l' | ||
| * **ISAKMP** : protocole de négociation d'une politique de sécurité ainsi que d' | * **ISAKMP** : protocole de négociation d'une politique de sécurité ainsi que d' | ||
| - | * **Oakley** : protocole d' | + | * **Oakley** : protocole d' |
| * **Skeme** : protocole d' | * **Skeme** : protocole d' | ||
| Line 34: | Line 34: | ||
| * établissement d'une IPsec SA, protégée par la précédente SA de la phase 1 | * établissement d'une IPsec 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 | * périodiquement renégocie la SA ; renouvellement de la clé partagée | ||
| - | Il n' | + | Il n' |
| - | Lors de la négociation, | + | Lors de la négociation, |
| - | * **Diffie-Hellman** : protocole | + | * **Diffie-Hellman** : protocole de génération de clé partagée. Il ne permet pas de vérifier l' |
| * **ESP** (Encapsulating Security Payload) permet le chiffrement, | * **ESP** (Encapsulating Security Payload) permet le chiffrement, | ||
| Line 57: | Line 57: | ||
| Une SA est une compilation des données de ces 2 databases. | Une SA est une compilation des données de ces 2 databases. | ||
| - | * **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 | + | * **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 injecter |
| - | Méthodes d' | + | **Méthodes d' |
| * couple nom d' | * couple nom d' | ||
| * OTP (One Time Password) | * OTP (One Time Password) | ||
| Line 66: | Line 66: | ||
| * certificats numériques | * certificats numériques | ||
| - | Algorithmes de chiffrements symétriques : on utilise la même clé pour chiffrer et déchiffrer | + | **Algorithmes de chiffrements symétriques** : on utilise la même clé pour chiffrer et déchiffrer |
| - | * DES (Data Encryption Standard) ; dépassé actuellement | + | * DES (Data Encryption Standard) ; vulnérable car basé sur des clés de 56 bits |
| - | * 3DES | + | * 3DES (3 chiffrements DES à la suite) |
| - | * AES (Advanced Encryption Standard) | + | * AES (Advanced Encryption Standard) |
| - | Algorithmes de chiffrement asymétriques : paire de clés publique et privée | + | |
| - | * RSA | + | |
| - | Méthodes de hashage : | + | **Algorithmes de chiffrement asymétriques** : paire de clés publique et privée |
| + | * RSA (Rivest Shamir Adleman) ; on peut utiliser différentes longueurs de clés ; il est recommandé aujourd' | ||
| + | |||
| + | **Méthodes de hashage** : | ||
| * HMAC (Hash-based Message Encryption Code) | * HMAC (Hash-based Message Encryption Code) | ||
| * MD5 (Message Digest 5) | * MD5 (Message Digest 5) | ||
| Line 81: | Line 82: | ||
| ====PKI==== | ====PKI==== | ||
| - | PKI (Public Key Infrastructure) est un sytème | + | **PKI** (Public Key Infrastructure) est un système |
| ====NAT Traversal==== | ====NAT Traversal==== | ||
| - | IPSec est un protocole qui se base sur les adresses IPs de bout en bout ; il ne fonctionne | + | IPSec est un protocole qui se base sur les adresses IPs de bout en bout ; il ne fonctionne |
| - | Le NAT Traversal est un mécanisme d' | + | Le **NAT Traversal** est un mécanisme d' |
| Line 96: | Line 97: | ||
| ====Définition de la policy ISAKMP==== | ====Définition de la policy ISAKMP==== | ||
| - | On y défini le type d' | + | (Phase 1) |
| - | crypto isakmp policy | + | Les politiques ISAKMP sont définies globalement et donc utilisables par tous les tunnels configurés sur le routeur. Leur utilisation se fait séquentiellement, |
| - | | + | |
| - | hash sha | + | |
| - | | + | |
| - | group 2 | + | |
| - | Puis on indique la clé partagée avec l'adresse du bout du tunnel. | + | On y définit le type d' |
| - | crypto isakmp key LaCleSecrete address 172.16.171.2 netmask 255.255.255.255 | + | |
| - | ====Définition de la crypto | + | <code bash> |
| + | crypto | ||
| + | | ||
| + | hash sha | ||
| + | | ||
| + | group 2 | ||
| + | </ | ||
| - | L'access liste permet de spécifier quel trafic envoyer dans le tunnel. | + | Puis on indique la clé partagée ainsi que l'adresse du bout du tunnel |
| + | <code bash> | ||
| + | crypto isakmp key LaCleSecrete address 172.16.171.2 | ||
| + | </ | ||
| - | | + | ====Définition de la crypto map==== |
| - | | + | |
| + | Définition du '' | ||
| + | <code bash> | ||
| + | crypto ipsec transform-set | ||
| + | | ||
| + | ! | ||
| + | ! paramètre facultatifs | ||
| + | mode transport | ||
| + | </ | ||
| | | ||
| - | | + | Définition de la crypto map = associer un transform-set à un peer et à une ACL (cf plus bas) : |
| - | | + | <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 TS-aes_sha | ||
| + | set pfs group2 | ||
| + | </ | ||
| + | |||
| + | Définition de l' | ||
| + | <code bash> | ||
| + | access-list 101 permit ip 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255 | ||
| + | </ | ||
| - | ====Appliquer la configuration | + | ====Appliquer la crypto map sur une interface==== |
| - | | + | <code bash> |
| - | | + | interface se0/0 |
| - | | + | ip address 172.16.171.1 255.255.255.0 |
| + | | ||
| + | </ | ||
| Line 175: | Line 198: | ||
| ====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/ | * L'IGP qui tournent sur un tunnel GRE over IPsec permet de détecter si le peer/ | ||
| Line 181: | Line 204: | ||
| On configure le DPD avec la commande suivante : '' | On configure le DPD avec la commande suivante : '' | ||
| - | Les secondes vont de 10 à 3600 et indique l' | + | Les secondes vont de 10 à 3600 et indique l' |
| - | 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 map, il renégocie un tunnel avec ce dernier : |
| crypto isakmp keepalive 10 3 | crypto isakmp keepalive 10 3 | ||
| Line 191: | Line 214: | ||
| set peer 10.0.1.1 | set peer 10.0.1.1 | ||
| - | Le DPD envoie | + | Le DPD est configuré pour envoyer |
| + | < | ||
| + | debug crypto isakmp | ||
| + | [...] | ||
| + | Jan 21 08:16:25: dpd enable: 0000, dpd periodic enable : 0000 | ||
| + | </ | ||
| + | |||
| + | Liens : | ||
| + | * [[http:// | ||
| ====HSRP et RRI==== | ====HSRP et RRI==== | ||
| Line 244: | Line 275: | ||
| | | ||
| + | |||
| + | ====Accélération matérielle==== | ||
| + | |||
| + | Sur certains châssis on peut utiliser des modules d' | ||
| + | <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 | ||
| + | </ | ||
| =====Vérifs===== | =====Vérifs===== | ||
| Line 253: | Line 295: | ||
| 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/ | + | Session status: UP-ACTIVE |
| - | IKE SA: local 192.168.0.75/ | + | Peer: 192.168.0.78/ |
| - | IPSEC FLOW: permit 47 host 192.168.0.75 host 192.168.0.78 | + | IKE SA: local 192.168.0.75/ |
| - | 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 | ||
| + | </ | ||
| + | |||
| + | Session status (source : [[http:// | ||
| + | ^Tunnel Status | ||
| + | |UP-ACTIVE | ||
| + | |UP-IDLE | ||
| + | |UP-IDLE | ||
| + | |UP-NO-IKE | ||
| + | |UP-NO-IKE | ||
| + | |DOWN-NEGOTIATING|Exist, | ||
| + | |DOWN-NEGOTIATING|Exist, | ||
| + | |DOWN |None |None (flow exists)| | ||
| + | |DOWN |None |None (no flow)| | ||
| + | |||
| + | |||
| + | Plus de détails : on précise l' | ||
| + | <code bash> | ||
| + | Router1# | ||
| + | |||
| + | interface: Vlan2784 | ||
| + | Crypto map tag: cm100, local addr 10.0.0.1 | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | #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: | ||
| + | #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 | ||
| + | | ||
| + | PFS (Y/N): Y, DH group: group5 | ||
| + | |||
| + | | ||
| + | spi: 0x3988518B(965235083) | ||
| + | transform: esp-3des esp-sha-hmac , | ||
| + | in use settings ={Tunnel, } | ||
| + | conn id: 8079, flow_id: :6079, sibling flags 80000240, | ||
| + | sa timing: remaining key lifetime (k/sec): (911080/ | ||
| + | IV size: 8 bytes | ||
| + | replay detection support: N | ||
| + | Status: ACTIVE | ||
| + | |||
| + | | ||
| + | |||
| + | | ||
| + | |||
| + | | ||
| + | spi: 0xDA4B403D(3662364733) | ||
| + | transform: esp-3des esp-sha-hmac , | ||
| + | in use settings ={Tunnel, } | ||
| + | conn id: 8080, flow_id: :6080, sibling flags 80000240, | ||
| + | sa timing: remaining key lifetime (k/sec): (3101942/ | ||
| + | IV size: 8 bytes | ||
| + | replay detection support: N | ||
| + | Status: ACTIVE | ||
| + | |||
| + | | ||
| + | |||
| + | | ||
| + | </ | ||
| + | |||
| + | 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 | ||
| + | </ | ||
| ====Renégocier un tunnel spécifique==== | ====Renégocier un tunnel spécifique==== | ||
| Line 285: | Line 410: | ||
| * [[http:// | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | En vrac, des liens destinés à comprendre et debugger l' | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
informatique/cisco/ipsec.1247432593.txt.gz · Last modified: 2013/10/14 20:52 (external edit)