J'ai pas mal travaillé sur les différentes possibilités de faire du VPN de type IPsec sur des machines sous GNU/Linux (le but était également de les faire communiquer avec des machines du monde Windows) et voici un article qui résume le travail que j'ai réalisé.
Définitions
Mode Transport : c'est la possibilité de créer un VPN entre deux hôtes (généralement utilisé dans un LAN).
Mode Tunnel : Tunnel sécurisé entre deux machines pour faire communiquer deux LAN différents, en général on établit le tunnel entre deux routeurs qui se chargeront de déchiffrer le flux d'information entre deux réseaux distants.
ESP : Encapsulating Security Payload, fournit de la confidentialité (3DES, AES...), de l'intégrité (MD5, SHA1.., mais pas sur le paquet complet) et de l'authentification. C'est le protocole IP n°50.
AH : Authentification Header, fournit de l'intégrité sur l'ensemble du paquet et l'authentification. C'est le protocole IP n°51.
Architecture de test
J'ai réalisé mes tests sous un environnement VMware. Pour que cela fonctionne il faut paramétrer correctement les vSwitch (cf ci dessous).
Synoptique
Alice :
OS : Debian GNU/Linux 6.0.5 (squeeze)
Rôle : Passerelle + Autorité de certification
IP : 192.168.0.84
Bob ou Régis :
OS : Debian GNU/Linux 6.0.5 (squeeze) ou Windows XP professionnel SP3 ou Windows 7 SP1.
Rôle : Hôte IPsec
IP : 192.168.0.85
Pont :
OS : Debian GNU/Linux 6.0.5 (squeeze).
Rôle : Capture de trames entre les hôtes IPsec.
Configuration du pont Debian
Installation
root@host:~# apt-get install bridge-utils
/etc/network/interfaces
# The loopback network interface
auto lo br0
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
#NetworkManager#iface eth0 inet dhcp
iface eth1 inet manual
iface eth2 inet manual
iface br0 inet static
bridge_ports eth1 eth2
address 192.168.0.115
netmask 255.255.255.0
network 192.168.0.0
vSwitch VMware
Sur une architecture VMware pour que le pont fonctionne il ne faut ne pas oublier de paramétrer les vSwitchs avec les options suivantes :
Explications :
Promiscuous Mode : Empêche la machines virtuelle d'écouter le traffic réseau sur l'interface connecté au vSwitch. Concrètement si l'option est en Reject on ne pourra pas utiliser Wireshark pour écouter le trafic réseau du vSwitch.
MAC Address Changes : Rejette les paquets dont l'adresse MAC ne correspond pas à celle inscrite dans le fichier .vmx de la VM. Permet de se prémunir des attaques de types MAC spoofing.
Forged Transmitts : Empêche une VM de transmettre des paquets ARP forgés dans le but de rediriger le trafic. Permet de se prémunir des attaques de types ARP spoofing et Cache Poisonning.