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)