Les VPN
Virtual Private Network ou
RPV (Réseaux Privés Virtuels)
Présentation
- permettent d'établir un tunnel de communication chiffré, authentifié entre 2 extrémités, intégrité vérifiée
- de plus en plus utilisés
- utilisent
- les tunnels
- la cryptographie
- les certificats
Caractéristiques
- permettent le chiffrement
- permettent de masquer les adresses IP
2 grandes familles
- IPSEC
- SSL/TLS
IPSEC
- Internet Protocol Security
- bonne sécurité
- opère au niveau 3 OSI (comme IP) ⇒ 1 seul plan d'adressage
- paramétrage complexe
- normalisé : RFC 2401 - interopérabilité
- protocole d'échange de clés (IKE)
- Les protocoles (AH ou ESP)
- mode transport ou tunnel
IPSEC - le protocole IKE
- 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 X509 (possibilité de non répudiation)
IPSEC - le transfert de données
- 2 protocoles possibles :
- AH - Authentication Header : intégrité et authentification des paquets : chiffrement de l'en-tête uniquement
- ESP - Encapsulating Security Payload : intégrité et sécurité grâce à la cryptographie
IPSEC - les mises en oeuvre
- Windows
- interconnexion avec les routeurs Cisco, Linksys, Netgear, …
- également sur les pare-feu pfsense et opnsense
- IOS
- Android
- Linux : Strongswan
IPSEC - Security Association
- Permet la négociation de l'utilisation du protocole AH et de l'encapsulation ESP
- définit les règles d'établissement du dialogue
- La SA peut être établie manuellement ou par ISAKMP (Internet Security Association and Key Management Protocol)
Mode de fonctionnement
- Mode Transport
- mode Tunnel : relie plusieurs sites
Mode transport
- les données seules (payload) sont chiffrées
- l'en-tête 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
Basés sur SSL/TLS
- utilisent la couche de chiffrement SSL/TLS
- utilisables sans client particulier, avec un simple navigateur (Firefox, Chrome, …)
- ou bien comme support pour mettre en œuvre un tunnel site à site grace à un client (OpenVPN, TINC, …)
- dans le cas du tunnel, on disposera d'un deuxième réseau avec son propre plan d'adressage (10.8. par exemple pour OpenVPN)
SSL/TLS : OpenVPN
- simple à mettre en oeuvre
- Fonctionne en userland
- Utilise OpenSSL et TLS/SSL
- 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, Android
OpenVPN - suite
- depuis 2001
- Mode
- bridge (niveau 2 : 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
Wireguard
- un nouveau VPN
- moderne et intégré au noyau Linux
- fonctionne sur Linux, Windows, Mac/OS, Android
VPN ou accès serveur en https
- serveur HTTPS : plus simple et plus limité
- accès au seul serveur : exposition limitée
- moins d'implications lourdes en termes de sécurité
- VPN : plus complexe
- accès potentiel au réseau complet et à l'infrastructure complète
- installation lourde
- quid en cas d'intrusion