Académique Documents
Professionnel Documents
Culture Documents
Cet article prsente le fonctionnement du protocole IPsec, qui permet de crer des
rseaux privs virtuels de manire conforme aux spcifications de lIETF. Les services
offerts par IPsec et leurs limitations y sont dtaills, de mme que les problmes
dinteroprabilit, tant avec dautres protocoles quentre applications diffrentes. Enfin,
quelques implmentations sont prsentes, et un rapide aperu de leur conformit aux
standards est donn.
https://astuces-top.blogspot.com
ralisable. Il est galement possible dencapsuler une communication IPsec en mode
tunnel ou transport dans une autre communication IPsec en mode tunnel, elle-mme
traite par une passerelle de scurit, qui transmet les datagrammes aprs suppression
de leur premire enveloppe un hte traitant son tour les protections restantes ou une
seconde passerelle de scurit.
https://astuces-top.blogspot.com
Lauthentification (optionnelle, mais obligatoire en labsence de confidentialit) : la
partie donnes des datagrammes IP reus ne peut avoir t mise que par lhte
avec lequel a lieu lchange IPsec, qui ne peut sauthentifier avec succs que sil
connat la clef associe la communication ESP. Il est galement important de
savoir que labsence dauthentification nuit la confidentialit, en la rendant plus
vulnrable certaines attaques actives.
Lunicit (optionnelle, la discrtion du rcepteur).
Lintegrit : les donnes nont pas t modifies depuis leur mission.
En mode tunnel, ces garanties sappliquent aux donnes du datagramme dans lequel est
encapsul le trafic utile, donc la totalit (enttes et options inclus) du datagramme
encapsul. Dans ce mode, deux avantages supplmentaires apparaissent:
Une confidentialit, limite, des flux de donnes (en mode tunnel uniquement,
lorsque la confidentialit est assure) : un attaquant capable dobserver les
donnes transitant par un lien nest pas mme de dterminer quel volume de
donnes est transfr entre deux htes particuliers. Par exemple, si la
communication entre deux sous-rseaux est chiffre laide dun tunnel ESP, le
volume total de donnes changes entre ces deux sous-rseaux est calculable
par cet attaquant, mais pas la rpartition de ce volume entre les diffrents systmes
de ces sous-rseaux.
La confidentialit des donnes, si elle est demande, stend lensemble des
champs, y compris les enttes, du datagramme IP encapsul dans le datagramme
protg par ESP).
Enfin, ESP ne spcifie pas dalgorithme de signature ou de chiffrement particulier, ceux-ci
sont dcrits sparment, cependant, une implmentation conforme la RFC 2406 est
tenue de supporter lalgorithme de chiffrement DES en mode CBC, et les signatures
laide des fonctions de hachage MD5 et SHA-1.
https://astuces-top.blogspot.com
3 Architectures de scurit
3.1 Associations de scurit
La RFC 2401 (Security Architecture for the Internet Protocol) dcrit le protocole IPsec au
niveau le plus lev. En particulier, elle indique ce quune implmentation est cense
permettre de configurer en termes de politique de scurit (cest--dire quels changes IP
doivent tre protgs par IPsec et, le cas chant, quel(s) protocole(s) utiliser). Sur
chaque systme capable dutiliser IPsec doit tre prsente une SPD (security policy
database), dont la forme prcise est laisse au choix de limplmentation, et qui permet de
prciser la politique de scurit appliquer au systme. Chaque entre de cette base de
donnes est identifie par un SPI (security parameters index) unique (32 bits) choisi
arbitrairement.
Une communication protge laide dIPsec est appele une SA (security association).
Une SA repose sur une unique application de AH ou sur une unique application de ESP.
Ceci nexclut pas lusage simultan de AH et ESP entre deux systmes, ou par exemple
lencapsulation des datagrammes AH dans dautres datagrammes AH, mais plusieurs SA
devront alors tre actives entre les deux systmes. En outre, une SA est
unidirectionnelle. La protection dune communication ayant lieu dans les deux sens
ncessitera donc lactivation de deux SA. Chaque SA est identifie de manire unique par
un SPI, une adresse IP de destination (ventuellement adresse de broadcast ou de
multicast), et un protocole (AH ou ESP). Les SA actives sont regroupes dans une SAD
(security association database).
La SPD est consulte pendant le traitement de tout datagramme IP, entrant ou sortant, y
compris les datagrammes non-IPsec. Pour chaque datagramme, trois comportements sont
envisageables : le rejeter, laccepter sans traitement IPsec, ou appliquer IPsec. Dans le
troisime cas, la SPD prcise en outre quels traitements IPsec appliquer (ESP, AH, mode
tunnel ou transport, quel(s) algorithme(s) de signature et/ou chiffrement utiliser).
Les plus importants de ces termes sont rcapituls dans le tableau suivant :
SPD base de donnes dfinissant la politique de scurit
SA une entre de la SPD
SAD liste des SA en cours dutilisation
Les rgles de la SPD doivent pouvoir, si ladminsitrateur du systme le souhaite, dpendre
des paramtres suivants :
adresse ou groupe dadresses IP de destination
adresse ou groupe dadresses IP source
nom du systme (DNS complte, nom X.500 distingu ou gnral)
protocole de transport utilis (typiquement, TCP ou UDP)
nom dutilisateur complet, comme foo@bar.net (ce paramtre nest toutefois pas
obligatoire sur certains types dimplmentations)
importance des donnes (ce paramtre nest toutefois pas obligatoire sur certains
types dimplmentations)
ports source et destination (UDP et TCP seulement, le support de ce paramtre est
https://astuces-top.blogspot.com
facultatif)
Certains paramtres peuvent tre illisibles cause dun ventuel chiffrement ESP au
moment o ils sont traits, auquel cas la valeur de la SPD les concernant peut le prciser,
il sagit de :
lidentit de lutilisateur
le protocole de transport
les ports source et destination
Il est donc possible de spcifier une politique de scurit relativement fine et dtaille.
Cependant, une politique commune pour le trafic vers un ensemble de systmes permet
une meilleure protection contre lanalyse de trafic quune politique extrmement dtaille,
comprenant de nombreux paramtres propres chaque systme particulier. Enfin, si
limplmentation permet aux applications de prciser elles-mmes quelle partie du trafic
appliquer IPsec et comment, ladministrateur doit pouvoir les empcher de contourner la
politique par dfaut.
https://astuces-top.blogspot.com
les datagrammes IP originaux.
https://astuces-top.blogspot.com
partie de la communication protge par la clef corrompue sera dchiffrable.
6 Problmes divers
Lutilisation simultane dIPsec et dautres protocoles ou de certains quipements rseau
pose, dans certains cas, quelques problmes. En outre, la gestion manuelle de clefs
introduit quelques restrictions sur les usages possibles du protocole.
6.3 Firewalls
Le filtrage de datagrammes IPsec est dlicat pour deux raisons :
les RFCs ne prcisent pas si, sur un systme remplissant simultanment les
fonctions de passerelle de scurit et de Firewall, le dcodage de lIPsec doit avoir
lieu avant ou aprs lapplication des rgles de firewalling
il nest pas possible au code de firewalling de lire certaines donnes, par exemple
https://astuces-top.blogspot.com
des numros de port, dans des donnes chiffres, ou transmises dans un format
quil ne connat pas
Il est donc important de lire la documentation de limplmentation IPsec utilise sur les
systmes destins grer simultanment IPsec et firewalling. Il est galement utile de
noter que les systmes qui appliquent les rgles de firewalling avant le dcodage IPsec
sont nanmoins souvent capables de filtrer les datagrammes dcods en utilisant des
outils de tunneling comme ipip et gif, ou en filtrant au niveau de linterface de sortie des
donnes. Enfin, AH utilise le numro de protocole 51 et ESP le numro de protocole 50.
Quant IKE, il utilise le numro de port UDP 500. Ces informations sont indispensables
lors de la configuration dun firewall qui doit laisser passer ou bloquer les changes IPsec.
6.4 NATs
Thoriquement, toute translation dadresse sur un datagramme IPsec devrait tre vite,
car ce type dopration modifie le contenu des datagrammes, ce qui est incompatible avec
les mcanismes de protection de lintgrit des donnes dIPsec. Il existe une solution
ce problme, propose par SSH Communications Security : lIPsec NAT-Traversal. Il sagit
dun draft, donc encore incomplet, mais suffisant pour envisager ce que lavenir rserve.
Certains quipement permettent dailleurs dj de traverser des NAT, en utilisant des
protocoles plus ou moins normaliss et avec plus ou moins de bonheur. Comme il ne
sagit que dun draft, il est dcrit dans des documents dont le nom et ladresse changent
souvent, mais un moyen simple de le retrouver est dentrer la chane draft-stenberg-ipsec-
nat-traversal dans votre moteur de recherche favori. Enfin, ce protocole ne peut tre mis
en oeuvre que si le protocole IKE est utilis simultanment.
6.5.1 PPTP
La premire solution permettant cette encapsulation est le protocole PPTP, dcrit par
la RFC 2637. PPTP offre ainsi un client, dit PAC (PPTP access concentrator), la
possibilit dtablir un lien PPP avec un serveur dit PNS (PPTP network server),
encapsul dans des datagrammes IP. Si le client a pralablement tabli une SA avec une
passerelle de scurit (ventuellement distincte du PNS), qui lui permet de protger ces
datagrammes IP, les donnes PPP seront donc galement scurises, de mme que les
protocoles de niveau suprieur sappuyant sur le lien PPP. Deux points savrent
importants lors de la configuration dun firewall plac entre un PAC et un PNS :
PPTP sappuie sur le protocole dencaspulation gnral GRE, auquel lIANA a
attribu le numro 47
un lien PPTP est contrl par une connexion TCP vers le port 1723 du PNS
Enfin, PPTP seul, cest--dire sans IPsec, peut tre et a t utilis pour crer des VPNs,
https://astuces-top.blogspot.com
assurant des changes authentifis, en protgeant les mots de passes utiliss dun
ventuel attaquant, mais sans chiffrer le reste de la communication. Cependant, ce
systme offre une authentification nettement moins fiable que ce quil est possible
dobtenir avec IPsec. En outre, de nombreuses implmentations de ce protocole,
notamment celles de Microsoft, ont fait lobjet de dcouvertes de vulnrabilits et
dincapacit protger efficacement les mots de passe des utilisateurs. Aussi lusage de
ce systme est-il risqu.
6.5.2 L2TP
Une deuxime solution dencapsulation de PPP dans IP est le protocole L2TP, dcrit par
la RFC 2661. Il permet la transmission de PPP laide des protocoles de niveau 2 comme
ethernet. Il offre galement un mcanisme dencapsulation de PPP dans UDP. Ainsi, il est
possible de protger PPP laide dUDP encapsul dans IPsec. L2TP offre en outre une
architecture plus modulaire que PPTP : on suppose le client capable dchanger des
trames par lintermdiaire dun protocole de niveau 2 ou des datagrammes UDP avec un
LAC (L2TP access concentrator), qui transmet les donnes un LNS (L2TP network
server). Si le LAC et le LNS sont situs physiquement sur le mme systme, celui-ci joue
alors exactement le mme rle que le PNS de PPTP.
Un dtail important lors du paramtrage dun firewall : le L2TP encapsul dans UDP utilise
le port 1701.
7.1 Windows
Windows XP et 2000 incluent un support du mode transport dIPsec et de lchange de
clefs laide de certificats en natif. Il existe de trs nombreux logiciels permettant de crer
https://astuces-top.blogspot.com
des VPN sous Windows, y compris un serveur VPN en option sous Windows 2000 et XP,
capable de mettre en place des tunnels IPsec/L2TP. Dautre part, Windows 95, 98 et NT 4
disposent dune grande quantit dimplmentations IPsec commerciales et peu prs
toutes les versions de Windows depuis 95 sont capables de crer des tunnels PPTP. Une
solution intressante est galement propose par SSH Communications Security. Leur
implmentation est lheure actuelle lune des rares supporter IPsec NAT-Traversal. Le
client est disponible pour les versions 95, 98, Me, NT 4, 2000 et XP de Windows.
7.2 Linux
Limplmentation IPsec la plus utilise sous Linux est sous licence GPL, il sagit
de FreeS/WAN. La partie kernel de cette implmentation sappelle KLIPS. Sont
notamment supports :
lchange dynamique de clefs IKE laide du logiciel pluto, qui permet lutilisation
de clefs pr-partages aussi bien que de certificats
la protection des connexions dun road warrior un LAN, mme si son adresse IP
est attribue dynamiquement et est susceptible de changer
la cration de tunnels PPTP (ct serveur), grce au logiciel PoPToP
la cration de tunnels PPTP (ct client), grce au logiciel PPTP-linux
la cration de tunnels L2TP, grce au logiciel l2tpd
le chiffrement opportuniste, qui permet la protection des donnes changes entre
deux systmes totalement trangers jusqualors (les clefs publiques sont alors
changes laide de la DNS)
Les principaux problmes connus lors de lcriture de ce document taient :
KLIPS prsente une trs lgre fuite de mmoire
si plusieurs connexions sont tablies entre deux passerelles de scurit, la
compression denttes doit tre active pour toutes ou aucune de ces connexions
KLIPS ne gre pas les datagrammes dans lesquels des options IP sont prsentes
Enfin, FreeS/WAN dcode les paquets IPsec avant de les transmettre au code de
firewalling. Les rgles de firewalling peuvent nanmoins tester si les datagrammes ont t
envoys en clair ou non.
7.3 NetBSD
NetBSD utilise KAME, une implmentation IPsec (et plus gnralement IPv6) sous licence
BSD. La foire aux questions concernant IPsec pour NetBSD. Sont notamment supports :
lutilisation simultane dIPsec en mode tunnel ou transport avec IPv6, au moins
pour la version courante de NetBSD
la configuration socket par socket ( laide de lappel systme setsockopt(2))
la cration de tunnels IPsec grce aux ports pptp et pptp-server
un nombre quasiment illimit de SA imbriques
lchange dynamique de clefs IKE, en utilisant soit racoon, qui peut fonctionner
https://astuces-top.blogspot.com
laide de clefs pr-partages ou de certificats, soit isakmpd, qui en est encore son
stade alpha, et supporte galement ces deux mthodes
Les principaux problmes connus lors de lcriture de ce document taient :
les clefs associes une SA mise en place laide de lappel setsockopt(2) ne
peuvent tre ngocies par racoon
le protocole AH en mode tunnel ne fonctionne pas correctement
Enfin, lors dune utilisation conjointe de KAME et IPfilter sous NetBSD, les datagrammes
sont traits par le firewall avant dtre dcods par KAME.
7.4 FreeBSD
FreeBSD sappuie galement KAME. Lutilisation dIPsec sous FreeBSD est documente.
Sont notamment supports :
lutilisation simultane dIPsec en mode tunnel ou transport avec IPv6, au moins
pour la version courante de FreeBSD
la cration de tunnels PPTP (ct client)
la cration de tunnels PPTP (ct serveur), grce au logiciel PoPToP
la cration de tunnels L2TP, grce au logiciel (dont le portage sous FreeBSD en
est encore au stade alpha) l2tpd
lchange dynamique de clefs IKE, en utilisant racoon
7.5 OpenBSD
A linstar de FreeBSD et NetBSD, OpenBSD utilise KAME. La documentation relative
lutilisation dIPsec sous OpenBSD. Sont notamment supports :
lchange dynamique de clefs ISAKMP grce au logiciel isakmpd, qui supporte le
mode agressif et lutilisation de certificats comme de clefs pr partages, et la
cration de SAs avec des clients dadresse IP variables et attribues
dynamiquement, photuris peut galement tre employ, mais il est encore en stade
alpha et peu document
la cration de tunnels PPTP (ct client), grce au port pptp
la cration de tunnels PPTP (ct serveur), grce au logiciel PoPToP
lchange dynamique de clefs selon le standard Photuris, en sappuyant sur le
logiciel photurisd
8 Les cueils
Nous conclurons cet article sur une mise en garde : il est fondamental, lors de la mise en
https://astuces-top.blogspot.com
place de VPNs laide dIPsec de parfaitement comprendre quoi la protection va
sappliquer. Il est en effet trs facile de commettre des erreurs aux consquences
extrmement graves. Par exemple, placer une passerelle de scurit derrire
un Firewall et configurer ce dernier pour laisser passer tout trafic IPsec implique un
paramtrage soigneux de la passerelle de scurit, pour viter quun attaquant lutilise
pour contourner le firewall. Notamment, si cette passerelle met en oeuvre le chiffrement
opportuniste de limplmentation FreeS/WAN, le firewall peut ne plus tre daucune utilit.
Il est de manire gnrale recommand dappliquer des rgles de firewalling aprs au
mme titre quavant les traitements IPsec (pour fixer les ides, une manire simple bien
quexorbitante dappliquer ce conseil est de placer un premier firewall avant la passerelle
de scurit et un second aprs cette passerelle).
En outre, le chiffrement des donnes ne doit pas crer lillusion de la scurit,
comme SSL la trop souvent fait : chiffrer nest pas authentifier (un attaquant peut trs bien
engager une conversation chiffre avec une passerelle de scurit), et authentifier le
systme metteur dun datagramme laide du protocole AH ne suffit pas ncessairement
assurer la scurit : si un administrateur utilise un protocole permettant une
authentification en clair comme telnet, en encapsulant les donnes dans des
datagrammes protgs par AH, un attaquant pourra lire son mot de passe, et sil est
ensuite possible dtablir des connexions non authentifies laide dIPsec vers le
systme, ce dernier peut alors tre considr comme compromis.
Ces deux exemples illustrent la complexit de la mise en place dIPsec. Cette complexit
ne saurait que difficilement saccommoder de solutions soi-disant magiques et clefs en
mains, paramtres en quelques clics de souris. IPsec est excessivement complexe, et
masquer cette complexit derrire des interfaces graphiques nappelant pas les choses
par leurs noms est aussi dangereux quirresponsable (serait-il grand temps de mettre un
terme lanarchie dans le vocabulaire ?-D).
https://astuces-top.blogspot.com