Linux – les VPN
Introduction de plus en plus utilisés utilisent : les tunnels la cryptographie certificats X509 via une autorité de certification (CA)
IPSEC Internet Protocol Security bonne sécurité opère au niveau 3 OSI paramétrage complexe normalisé : RFC 2401 - interopérabilité protocole d'échange de clés (IKE) mode transport (AH ou ESP) mode tunnel
L'échange de clés Canal d'échange de clé (IKE : Internet Key Exchange) Port 500 UDP IKE : authentification mutuelle des deux extrémités du tunnel au moyen de clé partagée 2 types d'authentification PSK (secret partagé) pour générer des clés RSA Certificats (possibilité de non répudiation)
Transfert des données 2 protocoles possibles : AH - Authentication Header : intégrité et authentification des paquets ESP - Encapsulating Security Payload : intégrité et sécurité grâce à la cryptographie
Security association Permet la négociation de l'utilisation du protocole AH et de l'encapsulation La SA peut être établie manuellement ou par ISAKMP (Internet Security Association and Key Management Protocol)
Modes de fonctionnement Mode transport Mode Tunnel
Mode transport les données seules (payload) sont chiffrées l'en-tete est inchangé Pas de possibilité de changer les adresses (pb de Hash) => pas de NAT => NAT Traversal Utilisé pour les communication hôte à hôte
Mode Tunnel la totalité du paquet IP est chiffré et/ou authentifié. Le paquet encapsulé dans un nouveau paquet IP avec un nouvel en-tête. Supporte la NAT utilisé pour créer des VPN entre deux sites distants, d'hôte à réseau ou bien d'hôte à hôte
Les algorithmes de chiffrement HMAC-SHA1-96 (RFC 2404) AES-CBC (RFC 3602) Triple DES-CBC (RFC 2451)
IPSEC – Les implémentations sous Linux : implémentation en mode kernel (rapide) interconnexion avec les routeur Cisco, Linksys, Netgear FreeSwan (plus maintenu OpenSwan StrongSwan Paquetages Debian : ipsec-tools racoon Cf https://wiki.debian.org/IPsec
OpenVPN - 1 simple à mettre en oeuvre Fonctionne en userland Utilise OpenSSL et SSLv3/TLSv1 Peut utiliser Une clé partagée statique Des certificats X509 Couple utilisateur/mot de passe Fonctionne sur UDP ou TCP Fonctionne sous Unix, Windows, Mac/OS
OpenVpn - 2 Mode Permet la compression bridge (niveau2 : interface tap) Routeur (niveau 3 : interface tun) Permet la compression Utilisable avec la NAT et les pare-feu Permet d'envoyer des options TCP/IP aux clients Liaison avec PAM Beaucoup de documentation et Howto
OpenVPN – Mise en oeuvre Cf document
Tunnel PPP/SSL On utilise un tunnel SSL sur un lien PPP Solution plutot ancienne
PPTP Point To Point Tunneling Protocol Microsoft RFC 2637 sécurité très moyenne Sous Debian : pptpd, pptp-linux