Pour que les échanges d’information réseau entre les deux serveurs dédiés soient un minimum sécurisé (comprendre difficilement “sniffable”), j’ai décider de monter un tunnel VPN en IPSEC entre les deux.

Les serveurs sont sous Debian Etch. (vous adapter si vous avez un autre OS)

IPSEC autorise 2 modes de communication le mode tunnel (1 serveur/réseau vers 1 réseau) et le mode Transport (1 serveur vers 1 serveur) (en résumé hein, venez pas me saouler avec mon simplicisme ;-) )

apt-get install ipsec-tools

on se configure le /etc/ipsec-tools.conf sur les deux serveurs. ns11111

#!/usr/sbin/setkey -f  

flush;
spdflush;

# AH
add 192.168.20.30 192.168.20.20 ah 15700 -A hmac-md5 "1234567890123456";
add 192.168.20.20 192.168.20.30 ah 24500 -A hmac-md5 "1234567890123456";

# ESP
add 192.168.20.30 192.168.20.20 esp 15701 -E 3des-cbc "123456789012123456789012";
add 192.168.20.20 192.168.20.30 esp 24501 -E 3des-cbc "123456789012123456789012";
spdadd 192.168.20.20 192.168.20.30 any -P out ipsec
           esp/transport//require
           ah/transport//require;

spdadd 192.168.20.30 192.168.20.20 any -P in ipsec
           esp/transport//require
           ah/transport//require;

ns22222

#!/usr/sbin/setkey -f
flush;
spdflush;
# AH
add 192.168.20.30 192.168.20.20 ah 15700 -A hmac-md5 "1234567890123456";
add 192.168.20.20 192.168.20.30 ah 24500 -A hmac-md5 "1234567890123456";
# ESP
add 192.168.20.30 192.168.20.20 esp 15701 -E 3des-cbc "123456789012123456789012";
add 192.168.20.20 192.168.20.30 esp 24501 -E 3des-cbc "123456789012123456789012";
spdadd 192.168.20.30 192.168.20.20 any -P out ipsec
        esp/transport//require
ah/transport//require;
spdadd 192.168.20.20 192.168.20.30 any -P in ipsec
           esp/transport//require
           ah/transport//require;

Génération des clés

Il faut bien évidemment générer vos propres clés, à savoir les zones commençant pas 0x. les 2 premières étant des clés de 128 bits, il faut y mettre 32 octets hexadecimaux, et 48 pour les clés 3des-cbc.

Le plus simple pour obtenir ces clés aléatoirement est de se baser sur le périphérique /dev/urandom de votre machine, en procédant ainsi :

  • Affiche 32 caractères hexadécimaux aléatoires :

 

hexdump -e '8/2 "%04x" ' /dev/urandom -n 16; echo
  • Affiche 48 caractères hexadécimaux aléatoires :

 

hexdump -e '8/2 "%04x" ' /dev/urandom -n 24; echo