6.5. Configuration de r�seau � r�seau via IPsec
IPsec peut �galement �tre configur� de mani�re � connecter un r�seau entier (comme un LAN ou un WAN) � un r�seau distant gr�ce � une connexion de r�seau � r�seau. Une connexion de r�seau � r�seau n�cessite la configuration de routeurs IPsec sur chaque extr�mit� des r�seaux connect�s afin de manipuler et transf�rer les informations d'un noeud sur un LAN � un noeud sur un LAN distant. La Figure 6-1 illustre une connexion tunnel�e de r�seau � r�seau avec IPsec.
Le diagramme repr�sente deux LAN diff�rents s�par�s par l'internet. Ces LAN utilisent des routeurs IPsec pour l'authentification et mettent en oeuvre une connexion � l'aide d'un tunnel s�curis� � travers l'internet. Les paquets qui sont intercept�s en transit, n�cessiteront un d�cryptage force brute afin de briser le chiffre qui prot�ge les paquets entre ces LAN. Le processus de communication depuis un noeud sur la plage d'IP 192.168.1.0/24 � un autre noeud sur 192.168.2.0/24 est compl�tement transparent aux noeuds car le traitement, cryptage/d�cryptage et routage de ces paquets IPsec sont compl�tement effectu�s par le routeur IPsec.
Parmi les informations n�cessaires � une connexion de r�seau � r�seau figurent�:
Les adresses IP accessibles de l'ext�rieur des routeurs IPsec d�di�s
Les plages d'adresses r�seau du LAN/WAN servies par les routeurs IPsec (comme 192.168.0.0/24 or 10.0.1.0/24)
Les adresses IP des p�riph�riques de passerelle qui dirigent les donn�es depuis les noeuds du r�seau sur l'internet
Un nom unique pour identifier la connexion IPsec et la diff�rencier d'autres p�riph�riques ou connexions (par exemple, ipsec0)
Une cl� fixe ou g�n�r�e automatiquement par racoon
Une cl� d'authentification pr�-partag�e qui est utilis�e pour �tablir la connexion et effectuer l'�change des cl�s de cryptage lors de la session.
Par exemple, imaginons que le LAN A (lana.example.com) et le LAN B (lanb.example.com) souhaitent se connecter � l'un et l'autre � travers un tunnel IPsec. L'adresse r�seau du LAN A est pr�sente dans la gamme 192.168.1.0/24, alors que le LAN B utilise la gamme 192.168.2.0/24. L'adresse IP de la passerelle est 192.168.1.254 pour le LAN A et 192.168.2.254 pour le LAN B. Les routeurs IPsec sont s�par�s de chaque passerelle du LAN et utilisent deux p�riph�riques r�seau�: eth0 est attribu� une adresse IP statique accessible de l'ext�rieur qui permet d'acc�der � l'internet, alors que eth1 agit en tant que point de routage pour traiter et transmettre les paquets du LAN d'un noeud de r�seau aux noeuds de r�seau distant.
La connexion IPsec entre chaque r�seau utilise une cl� pr�-partag�e ayant la valeur r3dh4tl1nux et les administrateurs de A et B acceptent de laisser racoon g�n�rer et partager automatiquement une cl� d'authentification entre chaque routeur IPsec. L'administrateur du LAN A d�cide de nommer la connexion IPsec ipsec0, alors que l'administrateur du LAN B nomme la connexion IPsec ipsec1.
L'extrait ci-dessous est un exemple de fichier ifcfg pour une connexion IPsec de r�seau � r�seau pour le LAN A. Le nom unique pour l'identification de la connexion �tant ipsec1, le fichier cr�� se nomme logiquement /etc/sysconfig/network-scripts/ifcfg-ipsec1.
TYPE=IPSEC
ONBOOT=yes
IKE_METHOD=PSK
SRCGW=192.168.1.254
DSTGW=192.168.2.254
SRCNET=192.168.1.0/24
DSTNET=192.168.2.0/24
DST=X.X.X.X |
La connexion est configur�e de mani�re � �tre lanc�e au d�marrage (ONBOOT=yes) et utilise la m�thode de cl�s pr�-partag�es d'authentification (IKE_METHOD=PSK). L'administrateur du LAN A saisit la passerelle de destination qui est la passerelle du LAN B (DSTGW=192.168.2.254) ainsi que la passerelle source qui est l'adresse IP de la passerelle du LAN A (SRCGW=192.168.1.254). L'administrateur saisit ensuite le r�seau de destination qui est la gamme de r�seau du LAN B (DSTNET=192.168.2.0/24) ainsi que le r�seau source (SRCNET=192.168.1.0/24). L'administrateur saisit finalement l'adresse IP de destination qui est l'adresse IP accessible de l'ext�rieur du LAN B (X.X.X.X).
L'extrait suivant repr�sente un fichier de cl�s pr�-partag�es nomm� /etc/sysconfig/network-scripts/keys-ipsecX (o� X a la valeur 0 pour le LAN A et la valeur 1 pour le LAN B) que les deux r�seaux utilisent pour s'authentifier l'un aupr�s de l'autre. Le contenu de ce fichier devrait �tre identique et ne devrait pouvoir �tre lu et �crit que par le super-utilisateur.
| Important |
---|
| Pour changer le fichier keys-ipsecX de mani�re � ce que seul le super-utilisateur puisse lire et modifier ce fichier, ex�cutez la commande suivante apr�s avoir cr�� le fichier en question�: chmod 600 /etc/sysconfig/network-scripts/keys-ipsec1 |
|
Pour changer la cl� d'authentification, �ditez le fichier keys-ipsecX sur les deux routeurs IPsec. Les deux cl�s doivent �tre identiques pour une meilleure connectivit�.
L'extrait suivant repr�sente le fichier de configuration /etc/racoon/racoon.conf pour la connexion IPsec. Notez que la ligne include en bas du fichier est automatiquement g�n�r�e et appara�t seulement si le tunnel IPsec est en cours d'ex�cution.
# Racoon IKE daemon configuration file.
# See 'man racoon.conf' for a description of the format and entries.
path include "/etc/racoon";
path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";
sainfo anonymous
{
pfs_group 2;
lifetime time 1 hour ;
encryption_algorithm 3des, blowfish 448, rijndael ;
authentication_algorithm hmac_sha1, hmac_md5 ;
compression_algorithm deflate ;
}
include "/etc/racoon/X.X.X.X.conf" |
L'extrait ci-dessous correspond au fichier de configuration pour la connexion � un r�seau distant. Le fichier porte le nom X.X.X.X.conf (remplacez l'�l�ment X.X.X.X par l'adresse IP du routeur IPsec distant). Notez que ce fichier est automatiquement g�n�r� une fois que le tunnel IPsec est activ� et ne devrait pas �tre directement �dit�.
;
remote X.X.X.X
{
exchange_mode aggressive, main;
my_identifier address;
proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 2 ;
}
} |
Avant de lancer la connexion IPsec, la redirection d'IP devrait �tre activ�e dans le noyau. En tant que super-utilisateur, dans une invite de shell, activez la redirection d'IP�:
�ditez /etc/sysctl.conf et r�glez net.ipv4.ip_forward sur 1.
Ex�cutez la commande suivante afin d'activer le changement�:
sysctl -p /etc/sysctl.conf |
Pour lancer la connexion IPsec, red�marrez les routeurs IPsec ou ex�cutez la commande suivante en tant que super-utilisateur sur chaque routeur�:
Les connexions sont activ�es et les deux LAN A et B peuvent communiquer entre eux. Les routes sont cr��es automatiquement via le script d'initialisation appel� en ex�cutant ifup sur la connexion IPsec. Pour afficher une liste de routes pour le r�seau, ex�cutez la commande suivante�:
Pour tester la connexion IPsec, ex�cutez l'utilitaire tcpdump sur le p�riph�rique routable de l'ext�rieur (eth0 dans cet exemple) afin d'afficher les paquets du r�seau �tant transf�r�s entre les h�tes (ou r�seaux) et v�rifiez qu'ils sont bien crypt�s via IPsec. Par exemple, pour v�rifier la connectivit� IPsec du LAN A, saisissez la commande suivante�:
tcpdump -n -i eth0 host lana.example.com |
Le paquet doit inclure un en-t�te AH et devrait �tre affich� en tant que paquet ESP. ESP signifie qu'il est crypt�. Par exemple (les obliques inverses repr�sentent la continuit� d'une ligne)�:
12:24:26.155529 lanb.example.com > lana.example.com: AH(spi=0x021c9834,seq=0x358): \
lanb.example.com > lana.example.com: ESP(spi=0x00c887ad,seq=0x358) (DF) \
(ipip-proto-4) |