Introduction
L’intranet Départemental permet aujourd’hui aux communes adhérentes au SRDC de disposer de liaisons intranet haut-débit. Il est donc possible de déployer de nouvelles applications : partage de fichiers, terminaux légers distants, vidéosurveillance, téléphonie sur IP, etc...
Pour ces applications sensibles, il est recommandé de sécuriser autant que possible les liaisons entre les sites. Compte tenu de la topologie et du fonctionnement du réseau ARI, sur lequel chaque usager a la maitrise de son routeur, il n’est pas possible de garantir l’authenticité des flux en provenance d’une adresse IP du réseau.
IPsec peut facilement palier à cet inconvénient. En effet, aujourd’hui, la plupart des routeurs, même d’entére de gamme supportent l’IPsec. Nous présentons ici des configurations utilisables sur Cisco 831 ou 1721 (notez que le Cisco 831 ne peut gérer que 10 tunnels VPNs).
Topologies
ERASME attribue les adresses privées à utiliser sur les sites raccordés au réseau ARI. Dans certains cas, les sites raccordés ne souhaitent pas utiliser ces adresses pour ne pas avoir à migrer un grand nombre de postes internes. Or, si des adresses non ERASME sont utilisées, il n’est pas possible de les annoncer en RIPv2 sur le réseau. La création de tunnels entre deux sites dans cette situation pose donc un problème, puisque pour un routeur d’interconnexion donné, l’adresse WAN est obtenue en DHCP, et l’adresse LAN n’est pas connue du reste du réseau. Il est donc virtuellement injoignable. Pour résoudre ce cas, il y a deux solutions : créer un réseau d’interconnexion en adresses officielles (nécessite l’acquisition d’un routeur supplémentaire), ou utiliser une adresse de loopback annoncée sur le réseau. Dans la mesure ou les configurations présentés sont à destination de routeurs Cisco, nous utiliseront cette dernière technique, plus économique.
Deux cas seront donc présentés ci-dessous (adresses officielles, adresses non officielles) permettant de raccorder, dans notre exemple, une annexe à sa mairie.
Interconnexion en adressage officiel
Cette topologie utilise les adresses officielles qui ont été attribuées au site par ERASME. Si vous ne connaissez pas les adresses qui vous ont été réservées, n’hésitez pas à nous contacter.
La seule difficulté par rapport à une configuration IPsec classique, réside dans le fait que l’interface sur laquelle la crypto map est activée a une adresse DHCP. Il n’est donc pas possible de l’utiliser comme peer dans la configuration du routeur partenaire. Il faut donc utiliser les interfaces LAN comme peers dans la configuration IPsec, mais dans ce cas, il faut aussi forcer le routeur à effectuer sa négociation isakmp. Cette modification se fait facilement avec la commande suivante :
crypto map sites-distants local-address Ethernet0
Cela permet de forcer l’utilisation de l’IP de l’interface Ethernet0 comme adresse IP source lors de la négociation IKE.
Les configurations [1] des deux routeurs peers sont données ci-dessous. Les mots clefs en majuscules (PRE_SHARED_KEY, SECRET) ainsi que les adresse IP (A, B, C et D) doivent être modifiés pour refléter votre configuration. Vous pouvez aussi modifier d’autres paramètres en fonction de vos besoins, notamment ceux liés à la cryptographie (SA lifetimes, algos de chiffrement, etc...).
Configuration de l’annexe
! service password-encryption ! hostname cpe-annexe.mairies.lan ! enable secret 0 SECRET enable password 0 SECRET ! username operateur privilege 15 password 0 SECRET ! ip subnet-zero ! crypto isakmp policy 1 encr 3des authentication pre-share group 2 lifetime 3600 crypto isakmp key 0 PRE_SHARED_KEY address 172.A.B.1 ! crypto ipsec transform-set default-ts esp-3des esp-sha-hmac ! crypto map sites-distants local-address Ethernet0 ! crypto map sites-distants 1 ipsec-isakmp set peer 172.A.B.1 set security-association lifetime kilobytes 1000000 set transform-set default-ts set pfs group1 match address traffic-annexe-mairie ! interface Ethernet0 ip address 172.C.D.1 255.255.255.192 ip tcp adjust-mss 1452 no cdp enable hold-queue 32 in hold-queue 100 out ! interface Ethernet1 ip address dhcp ip tcp adjust-mss 1452 duplex auto no cdp enable crypto map sites-distants ! router rip version 2 passive-interface Ethernet0 network 172.C.D.0 network 172.23.0.0 no auto-summary ! ip classless ! ip access-list extended traffic-annexe-mairie permit ip 172.C.D.0 0.0.0.63 172.A.B.0 0.0.0.63 ! line vty 0 4 exec-timeout 30 0 password 0 SECRET login local length 0 escape-character 3 !
Configuration de la mairie
! service password-encryption ! hostname cpe-mairie.mairies.lan ! enable secret 0 SECRET enable password 0 SECRET ! username operateur privilege 15 password 0 SECRET ! ip subnet-zero ! crypto isakmp policy 1 encr 3des authentication pre-share group 2 lifetime 3600 crypto isakmp key 0 PRE_SHARED_KEY address 172.C.D.1 ! crypto ipsec transform-set default-ts esp-3des esp-sha-hmac ! crypto map sites-distants local-address Ethernet0 ! crypto map sites-distants 1 ipsec-isakmp set peer 172.C.D.1 set security-association lifetime kilobytes 1000000 set transform-set default-ts set pfs group1 match address traffic-mairie-annexe ! interface Ethernet0 ip address 172.A.B.1 255.255.255.192 ip tcp adjust-mss 1452 no cdp enable hold-queue 32 in hold-queue 100 out ! interface Ethernet1 ip address dhcp ip tcp adjust-mss 1452 duplex auto no cdp enable crypto map sites-distants ! router rip version 2 passive-interface Ethernet0 network 172.A.B.0 network 172.23.0.0 no auto-summary ! ip classless ! ip access-list extended traffic-mairie-annexe permit ip 172.A.B.0 0.0.0.63 172.C.D.0 0.0.0.63 ! line vty 0 4 exec-timeout 30 0 password 0 SECRET login local length 0 escape-character 3 !
Interconnexion en adressage non-officiel
Dans cette configuration, deux problèmes se posent. Le premier est toujours le même : nous n’avons pas d’adresse WAN fixe. Mais une autre difficulté s’y ajoute : nous désirons garder notre adressage interne, non compatible avec le réseau ERASME, et donc impossible à annoncer. Dans ce cas, aucune des adresses du routeur (et du réseau local) ne peut être atteinte. nous allons malgré tout parvenir à faire communiquer nos deux réseaux, aux adresses incompatibles avec le réseau ERASME, à travers ce dernier.
Pour cela, il est nécéssaire d’utiliser une adresse de loopback, qui sera annoncée sur le réseau ERASME. Pour cette raison, il est nécessaire d’utiliser une adresse compatible avec l’adressage ERASME ; dans le cas contraire, cela n’aurait aucune utilité. Il est par ailleurs impératif d’utiliser une adresse de loopback distincte de la plage d’adresse qui à été initialement prévue pour le site. En effet, annoncer une loopback revient à annoncer un réseau ne contenant qu’une seule adresse (/32). Inutile donc de gaspiller le réseau initialement alloué (en général, un /26 ou un /27). ERASME à réservé dans son plan d’adressage une plage d’adresses afin de pouvoir attribuer des adresses de loopback aux usagers. N’hésitez pas à nous contacter pour en obtenir une.
interface Loopback0 ip address 172.C.D.1 255.255.255.255 crypto map sites-distants local-address Loopback0
Cela permet de forcer l’utilisation de l’IP de l’interface Loopback0 comme adresse IP source lors de la négociation IKE.
Les configurations finales des deux routeurs peers sont données ci-dessous. Les mots clefs en majuscules (PRE_SHARED_KEY, SECRET) ainsi que les adresse IP (A, B, C et D) doivent être modifiés pour refléter votre configuration.
D’autre part, IPsec vous permet de vous assurer que votre correspondant est bien celui que vous croyez (en l’occurence, la mairie vérifie que l’annexe est bien l’annexe et vice-versa), mais c’est tout. Il faut donc aussi impérativement implémenter les nécessaires règles de filtrage (non décrites ici) au niveau des deux routeurs, en ne laissant passer, par exemple, que de l’IPsec.
Configuration de l’annexe
! service password-encryption ! hostname cpe-annexe.mairies.lan ! enable secret 0 SECRET enable password 0 SECRET ! username operateur privilege 15 password 0 SECRET ! ip subnet-zero ! crypto isakmp policy 1 encr 3des authentication pre-share group 2 lifetime 3600 crypto isakmp key 0 PRE_SHARED_KEY address 172.A.B.1 ! crypto ipsec transform-set default-ts esp-3des esp-sha-hmac ! crypto map sites-distants local-address Loopback0 ! crypto map sites-distants 1 ipsec-isakmp set peer 172.A.B.1 set security-association lifetime kilobytes 1000000 set transform-set default-ts set pfs group1 match address traffic-annexe-mairie ! interface Loopback0 ip address 172.C.D.1 255.255.255.255 ! interface Ethernet0 ip address 10.1.2.1 255.255.255.0 ip tcp adjust-mss 1452 ! interface Ethernet1 ip address dhcp crypto map sites-distants ! router rip version 2 passive-interface Ethernet0 passive-interface Loopback0 network 172.C.D.0 network 172.23.0.0 no auto-summary ! ip classless ! ip access-list extended traffic-annexe-mairie permit ip 10.1.2.0 0 0.0.0.255 10.1.1.0 0 0.0.0.255 ! line vty 0 4 exec-timeout 30 0 password 0 SECRET login local length 0 escape-character 3 !
Configuration de la mairie
! service password-encryption ! hostname cpe-mairie.mairies.lan ! enable secret 0 SECRET enable password 0 SECRET ! username operateur privilege 15 password 0 SECRET ! ip subnet-zero ! crypto isakmp policy 1 encr 3des authentication pre-share group 2 lifetime 3600 crypto isakmp key 0 PRE_SHARED_KEY address 172.C.D.1 ! crypto ipsec transform-set default-ts esp-3des esp-sha-hmac ! crypto map sites-distants local-address Loopback0 ! crypto map sites-distants 1 ipsec-isakmp set peer 172.C.D.1 set security-association lifetime kilobytes 1000000 set transform-set default-ts set pfs group1 match address traffic-mairie-annexe ! interface Loopback0 ip address 172.A.B.1 255.255.255.255 ! interface Ethernet0 ip address 10.1.1.1 255.255.255.0 ip tcp adjust-mss 1452 no cdp enable hold-queue 32 in hold-queue 100 out ! interface Ethernet1 ip address dhcp ip tcp adjust-mss 1452 duplex auto no cdp enable crypto map sites-distants ! router rip version 2 passive-interface Ethernet0 passive-interface Loopback0 network 172.A.B.0 network 172.23.0.0 no auto-summary ! ip classless ! ip access-list extended traffic-mairie-annexe permit ip 10.1.1.0 0.0.0.255 10.1.2.0 0 0.0.0.255 ! line vty 0 4 exec-timeout 30 0 password 0 SECRET login local length 0 escape-character 3 !
Autres configurations
Rien n’interdit de mixer ces configurations : il est possible que, par exemple, la mairie désire utiliser un plan d’adressage incompatible ERASME, alors que le déploiement d’un tel adressage ne pose pas de problème sur le site distant. On emploiera dans ce cas la Loopback sur la mairie, et une configuration plus classique sur le site distant.
D’autres configurations à base d’IPsec sont aussi envisageables sur le réseau. Par exemple, la mairie ci-dessus peut recevoir du traffic en provenance d’autres sites. Il suffit pour cela d’avoir une entrée « crypto map sites-distants n ipsec-isakmp » et une access-list correspondante par site distant.
Autre exemple, il est possible de concentrer tous les flux d’un site distant vers un site central.
Dans l’exemple ci-dessus, si l’access-list de l’annexe avait été :
ip access-list extended traffic-annexe-mairie permit ip 10.1.2.0 0 0.0.0.255 any
et celui de la mairie symétrique, tout le trafic non local de l’annexe passerait par la mairie.
Cela permettrait à un site central de fournir, par exemple, un accès internet à tous ses sites distants.
Pour aller plus loin
Toutes les technologies de tunneling [2] [3] (chiffrées ou non) sont utilisables sur le réseau (OpenVPN, cipe, 6in4, 4in4, GRE...).
Il n’y a donc pas qu’IPsec, et en fonction de vos besoins, vous pourrez vous tourner vers d’autres solutions. L’avantage d’IPsec est qu’il est relativement portable d’un fabricant à l’autre.
En revanche, il a un certain nombre de lacunes (support du NAT compliqué et pas systématique, mauvaise scalabilité, ...).
Vous trouverez bientôt sur le site une liste de routeurs que nous avons testé, et qui vous aidera sans doute dans vos choix.