ipsec_netasq
TRANSCRIPT
![Page 1: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/1.jpg)
'
&
$
%
Rapport de stage
——
ETUDE IPSec ET INTEGRATION
DE L’EXTENSION (( MODE CONFIG ))
DANS LE MODULE IPSec DES UTMs
NETASQ
Jigar SOLANKI
Avril-Septembre 2008
Master 2 Cryptologie et Securite Informatique
Responsables
Universite : Emmanuel Fleury NETASQ : Yvan Vanhullebus
Abdou Guermouche
Universite Bordeaux 1 NETASQ - We Secure IT
351, Cours de la Liberation 3 rue Archimede
33405 Talence Cedex 59650 Villeneuve d’Ascq
![Page 2: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/2.jpg)
.
![Page 3: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/3.jpg)
Table des matieres
Remerciements 8
Introduction 10
NETASQ en quelques mots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Objetifs du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Plan du rapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
I Les protocoles IPSec 14
I.1 Presentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
I.1.1 Champ d’action d’IPSec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
I.1.2 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
I.1.3 Pourquoi deployer IPSec ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
I.2 Vue generale des protocoles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
I.2.1 Mode Transport, Mode Tunnel . . . . . . . . . . . . . . . . . . . . . . . . . 19
I.2.2 Protocole AH, Protocole ESP . . . . . . . . . . . . . . . . . . . . . . . . . . 21
I.2.3 Etablissement d’une negociation IPSec . . . . . . . . . . . . . . . . . . . . . 24
I.3 Design et architecture de securite . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
I.3.1 Extremites de tunnel, de trafic . . . . . . . . . . . . . . . . . . . . . . . . . 26
I.3.2 Associations de Securite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
I.3.3 politiques de securite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
I.4 Phases de negociation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
I.4.1 Phase1 : ISAKMP SA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
I.4.2 Phase2 : IPSEC SA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
![Page 4: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/4.jpg)
I.5 Resume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
II Extensions IPSec et problematiques de securite 33
II.1 Authentification XAuth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
II.1.1 Principe et fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
II.1.2 Notifications de type XAuth . . . . . . . . . . . . . . . . . . . . . . . . . . 34
II.1.3 Securite de XAuth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
II.1.4 XAuth et le Group Password . . . . . . . . . . . . . . . . . . . . . . . . . . 37
II.2 Hybrid-Auth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
II.2.1 Presentation generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
II.2.2 Fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
II.2.3 Authentification forte et complete . . . . . . . . . . . . . . . . . . . . . . . 39
II.3 Mode Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
II.3.1 Presentation Generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
II.3.2 Fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
II.3.3 Parametres disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
II.3.4 Pool et penurie d’adresses IP . . . . . . . . . . . . . . . . . . . . . . . . . . 41
II.4 Interactions XAuth, Hybrid et Mode Config . . . . . . . . . . . . . . . . . . . . . . 42
II.5 Faiblesses d’IPSec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
II.5.1 Failles cryptographiques intrinseques . . . . . . . . . . . . . . . . . . . . . . 42
II.5.2 Problemes d’implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 43
II.5.3 Deploiements reels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
IIILes UTMs NETASQ 45
III.1 Presentation des UTMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
III.1.1 Qu’est ce que l’UTM ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
III.1.2 La premiere generation des UTMs NETASQ : Les series F . . . . . . . . . . 47
III.1.3 La nouvelle generation G2 : Les series U . . . . . . . . . . . . . . . . . . . . 49
III.2 L’ASQ - Active Security Qualification . . . . . . . . . . . . . . . . . . . . . . . . . 51
III.2.1 Presentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
III.2.2 ASQ : Pile OSI Virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
III.2.3 Analyses de l’ASQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
- 4 -
![Page 5: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/5.jpg)
III.3 Fonctionalites Avancees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
III.3.1 Authentification et PKI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
III.3.2 Traitement des paquets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
III.3.3 High Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
III.4 Managment et Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
IV Integration du Mode Config 61
IV.1 Tests et audit sur ipsec-tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
IV.1.1 Etat d’ipsec-tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
IV.1.2 Configurations Racoon (( basique )) . . . . . . . . . . . . . . . . . . . . . . . 62
IV.1.3 Injection de politiques de securite par setkey . . . . . . . . . . . . . . . . . 64
IV.1.4 Configuration en XAuth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
IV.1.5 Mode Config : racoon vs racoon . . . . . . . . . . . . . . . . . . . . . . . . . 67
IV.1.6 Mode Config : racoon vs quelques clients VPN . . . . . . . . . . . . . . . . 68
IV.1.7 Bilan des tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
IV.2 Extension du format du fichier de configuration IPSec . . . . . . . . . . . . . . . . 71
IV.2.1 Fichiers de configuration NETASQ et parseurs . . . . . . . . . . . . . . . . 71
IV.2.2 Conception et extension du fichier . . . . . . . . . . . . . . . . . . . . . . . 72
IV.3 Integration et validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
IV.3.1 Imperatifs d’implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
IV.3.2 Premiers tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
IV.3.3 Validation et Commit dans le firmware . . . . . . . . . . . . . . . . . . . . . 76
Conclusion et Bilan 78
Annexe A : Protocole AH et ESP appronfondis 81
Annexe B : Echange Diffie-Hellman 91
RFCs IPSec 93
References et Bibliographie 95
- 5 -
![Page 6: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/6.jpg)
Table des figures
I.1 Positionnement d’IPSec dans la pile IP . . . . . . . . . . . . . . . . . . . . . . . . 16
I.2 IPSec en Mode Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
I.3 En-tete en Mode Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
I.4 IPSec en Mode Tunnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
I.5 En-tete en Mode Tunnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
I.6 Authentication Header - AH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
I.7 Encapsulating Security Payload - ESP . . . . . . . . . . . . . . . . . . . . . . . . . 23
I.8 Synoptique de Fonctionnement IPSec . . . . . . . . . . . . . . . . . . . . . . . . . . 25
I.9 Extremites de tunnel, de trafic - www.cisco.com . . . . . . . . . . . . . . . . . . . . 27
I.10 Echanges de Phase 1 en Main Mode . . . . . . . . . . . . . . . . . . . . . . . . . . 30
I.11 Echanges de Phase 1 en Aggressive Mode . . . . . . . . . . . . . . . . . . . . . . . 30
I.12 Quelques exemples de parametres negocies lors d’une Phase 2 . . . . . . . . . . . . 31
II.1 Principaux attributs lors d’un echange XAuth . . . . . . . . . . . . . . . . . . . . . 35
III.1 Gamme pour PME : F25, F50, F60 . . . . . . . . . . . . . . . . . . . . . . . . . . 47
III.2 Moyenne et Grosse gamme : F200 au F1200 . . . . . . . . . . . . . . . . . . . . . 48
III.3 Haute Gamme pour grands comptes : F2500 et F5500 . . . . . . . . . . . . . . . . 49
III.4 Anciens UTMs G1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
III.5 Nouveaux UTMs G2 - www.netasq.com . . . . . . . . . . . . . . . . . . . . . . . . . 50
III.6 ASQ : Pile OSI virtuelle en 7 couches . . . . . . . . . . . . . . . . . . . . . . . . . 52
III.7 Differentes etapes d’analyses de l’ASQ . . . . . . . . . . . . . . . . . . . . . . . . . 52
III.8 Haute Gamme pour grands comptes : F2500 et F5500 . . . . . . . . . . . . . . . . 54
III.9 Synoptique des UTMs NETASQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
III.10High Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
III.11Suite d’administration des IPS-Firewalls NETASQ . . . . . . . . . . . . . . . . . . 59
III.12NETASQ Firewall Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
IV.1 ScreenShot ShrewSoft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
IV.2 Paquet IPv4 Generique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
IV.3 Champ de l’en-tete AH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
IV.4 Hash AH en mode Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
IV.5 Hash AH en mode Tunnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
![Page 7: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/7.jpg)
IV.6 En-tete ESP avec (a d.) et sans (a g.) Authentification . . . . . . . . . . . . . . . . 88
IV.7 Paquet ESP en Mode Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
IV.8 Paquet ESP en Mode Tunnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
IV.9 Protocole Diffie-Hellman - www.plenz.com . . . . . . . . . . . . . . . . . . . . . . . 92
- 7 -
![Page 8: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/8.jpg)
Remerciements
Je voudrais en tout premier lieu adresser mes sinceres remerciements a Yvan Vanhullebus, qui
a bien voulu me faire l’honneur d’accepter de superviser mes travaux au sein de NETASQ. Son
attention et sa disponibilite, dont j’ai use et abuse, m’ont ete d’une aide tout a fait precieuse ; ses
recommandations et ses conseils reellement enrichissants.
Je dois egalement beaucoup a Damien Deville et, plus indirectement a Frederic Raynal, sans
qui je ne serai sans doute jamais arrive a NETASQ.
Mes chaleureux remerciements a tous ceux que j’ai pu cotoyer, de pres ou de loin, a NETASQ et
en particluer, a l’ensemble des equipes du laboratoire R&D. M’avoir acceuilli avec cette amabilite
et gentillesse qui les caracterisent m’ont ete d’un reel reconfort tout au long de cette periode. Etre
entoure de personnes extremement competentes dans leur domaine n’a fait qu’accroıtre mon envie
de progresser et d’apporter ma minuscule petite pierre a l’edifice. Que ce soit a travers l’ambiance
chaleureuse au sein de la societe, ou encore a travers ces dejeuners copieux, propres a ces chers
ch’tis, rendant souvent les apres-midi compliques, j’y ai passe de tres agreables moments.
Un grand merci a Abdou Guermouche d’avoir accepte d’etre rapporteur et a Emmanuel Fleury
pour sa disponibilite et sa reactivite a l’universite. L’ensemble des remarques dont ils m’ont fait
part m’ont ete d’un grand secours.
Une pensee pour l’ensemble de mes amis qui m’ont toujours aide, encourage et soutenu, dans
les bons moments comme dans les mauvais. Leur bonne humeur et joie de vivre m’ont ete d’un
reconfort inestimable. Qu’ils trouvent ici ma plus profonde gratitude.
Un immense merci a ma famille, mes parents, qui m’ont permis de poursuivre dans la voie qui
m’interessait et qui m’ont toujours aide a aller de l’avant, et enfin, a celle qui m’a soutenu sans
faille aucune et sans qui je ne serai surement pas la aujourd’hui, merci a toi !
![Page 9: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/9.jpg)
A mes parents.
![Page 10: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/10.jpg)
Introduction
Truth never damages a cause that is just.
— Mahatma Gandhi
Les protocoles IPSec sont deployes a des echelles de plus en plus grandes, qu’il s’agisse de re-
lier des reseaux d’agences et de sucursalles par l’Internet, ou de proteger des reseaux difficilement
securisables comme le WiFi.
De plus avec l’apparition du nomadisme, de plus en plus de personnes cherchent a pouvoir acceder
aux ressources internes de l’entreprise de maniere securisee de l’exterieur. On peut citer les com-
merciaux terrains, les ingenieurs travaillant de chez eux ou encore les directeurs en deplacement.
NETASQ propose des solutions robustes de securisation des flux, et transparente pour l’utilisa-
teur, bases sur des VPN/IPSec en particulier. Plus generalement, NETASQ fournit des solutions
de securite, d’antivirus ou de pare-feux a des entreprises de tailles differentes, allant de la petite
PME aux grands comptes ou encore a l’Armee Francaise.
Le module VPN/IPSec NETASQ propose aujourd’hui embarquer l’ensemble de le configuration
reseau necessaire aux clients nomades pour qu’ils puissent acceder aux ressources internes de l’en-
treprise. Ce module est destine a etre ameliore, notamment par l’integration d’une extension IPSec
appellee Mode Configuration. Cette extension permet d’envoyer cette configuration reseau au client
nomade de maniere securisee, dynamiquement a la volee, pour que celui ci n’aie plus a embarquer
ces informations de maniere statique sur sa machine. D’autre part, cette integration permettra
d’alleger la charge de l’administrateur qui n’aura plus a maintenir individuellement l’ensemble du
parc des machines nomades de son entreprise.
Apres avoir expose les activites principales de la societe NETASQ, nous presenterons les ob-
jectifs principaux du stage. On detaillera un plan des principaux chapitres traites afin de guider le
lecteur, averti ou pas.
![Page 11: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/11.jpg)
NETASQ en quelques mots . . .
Cree en 1998, NETASQ est l’une des societes europeennes majeures sur le marche de la securite
informatique dont le siege social est a Villeneuve d’Ascq dans le nord de la France. Elle propose des
solutions qui permettent de repondre aux enjeux et problematiques de la securite des entreprises
sur plusieurs segments : la securite unifiee par les appliances UTMs firewalls, la detection des
vulnerabilites par SEISMO ou encore le filtrage et la protection des messageries par les boitiers
MFILTRO.
NETASQ commercialise donc toute une gamme de solutions de securite unifiee (UTM). D’autre
part, l’ensemble des UTMs NETASQ integrent l’ASQ (Active Security Qualification), technologie
de prevention d’intrusion en temps reel protegee par plusieurs brevets.
NETEASQ a ete presente des le debut en Europe, notamment en Belgique, en Italie et au Roy-
aume uni. Aujourd’hui presente dans plus de cinquante pays, par l’intermediaire de partenaires
certifies, elle apporte des solutions adaptees aux marches locaux.
Ces clients viennent de secteurs et de tailles tres variees, des petites entreprises jusqu’aux grands
comptes comme Orange Business Services ou Portugal Telecom.
A la pointe de l’innovation technologique, toujours a l’affut des dernieres avancees en termes
de securite, integrant sa technologie de prevention ASQ sur l’ensemble de sa gamme, les raisons
faisant de NETASQ une societe en securite informatique en avance sur son temps ne manquent pas.
Certifiee par plusieurs organismes, NETASQ a, entre autres, ete recompensee par le Fast 50 en
France pendant deux annees consecutives. Elle a en outre recu la certification internationale des
Criteres Communs V2.2 au niveau EAL2+ (norme ISO 15408 et ISO 18045). Les UTMs
sont testes dans des conditions reelles d’exploitation par des appliances SPIRENT.
Enfin, les retours des clients etant revelateurs de la qualite des produits d’une societe, on peut
notamment citer Sebastien Truttet, responsable des infrastructures du groupe IS Altran : (( Nous
avons decide de supprimer les pare-feux de l’autre fabriquant et de n’utiliser que des pare-feux
NETASQ comme barriere de securite unique ))et dans un tout autre domaine, Frederic Andre,
Responsable Technique et Informatique du Centre Hospitalier de Valenciennes : (( Depuis plus de
trois ans, nous apprecions la reactivite de NETASQ aussi bien sur les mises a jours que sur le
service apres vente )).
- 11 -
![Page 12: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/12.jpg)
Objectifs du stage
Le module VPN/IPSec du firmware NETASQ est base sur le projet ipsec-tools, sous licence
BSD. ipsec-tools est constitue de setkey, utilisaire de manipulation et d’injection de politiques
de securite, de racoon, demon de negociation IKE que nous allons manipuler tout au long du stage,
et de racoonctl, utilitaire de manipulation de racoon.
Le but principal du stage consite a integrer l’extension IKE Mode Configuration dans le
firwmare NETASQ. Cette extension permet d’envoyer les informations de configuration reseau
aux clients mobiles nomades. On appelle ces clients des road warriors, ils ont la particularite de ne
pas avoir d’adresse IP fixe connue de la passerelle.
Cette integration pourrait se faire en plusieurs etapes :
– Dans un premier temps, prendre en main l’environnement de travail sous FreeBSD, et avoir
une pile IPSec operationnelle.
– Etudier les extensions IKE XAuth, Hybrid et Mode Configuration, puisque les trois extensions
sont activees par une seule option de racoon.
– Evaluer l’implementation actuelle du Mode Configuration d’ipsec-tools, a travers une lecture
et un audit de code, une batterie de tests destines a confirmer ou infirmer la stabilite. Le
cas echeant, modifier le code d’ipsec-tools afin de corriger d’eventuels bugs ou erreurs de
conception et d’en ameliorer les performances.
– Prendre en main les UTMs NETASQ, etudier les differentes fonctionalites et modules disponibles
et se familiariser avec le firmware NETASQ.
– Effectuer un travail de conception avec l’ensemble de l’equipe R&D afin d’etendre le fichier
de configuration VPN NETASQ pour y integrer le Mode Configuration.
– Implementer les differentes librairies.
– Effectuer les premiers tests pour valider l’implementation.
– Effectuer des tests beaucoup plus pousses avec l’equipe de Qualification, notamment des tests
de performances sur des SPIRENT et des tests de non-regression.
– Repartir sur un travail de conception avec l’equipe IHM afin qu’elle puisse integrer les boutons
et/ou fenetres Mode Configuration de la maniere la plus adequate possible compte tenu des
contraintes de racoon, mais egalement de la maniere la plus ergonomique possible pour le
client final.
Le Mode Config, si les objectifs sont atteints, sera disponible en tant que fonctionalite option-
nelle dans la future version du firmware NETASQ.
- 12 -
![Page 13: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/13.jpg)
Plan du rapport
Ce rapport presente l’ensemble du travail realise sur ces six derniers mois, a travers essentielle-
ment quatre chapitres qui refletent le fil directeur que j’ai suivi durant le stage :
Chapitre 1 : IPSec Ce chapitre presente les protocoles IPSec, leur fonctionnement, leur design
et la maniere dont ils sont deployes. Cette etude permettra de mieux finaliser l’ensemble des
tests realises sur IPSec et le Mode Configuration en particulier.
Chapitre 2 : Extensions IPSec Ce chapitre decrit les extensions XAuth, Hybrid et Mode Con-
figuration. Ces extensions permettent d’avoir une authentification supplementaire durant la
phase de negociation (Hybrid et XAuth) et de transmettre les informations de maniere
dynamique et securisee (Mode Config). Une section est egalement consacree a certaines
problematiques de securite posees par les deploiements reel d’IPSec.
Chapitre 3 : UTM NETASQ On etudie, dans ce chapitre, les fonctionalites des firewalls NE-
TASQ. Une description du fonctionnement de l’ASQ permet de mieux comprendre le firmware
NETASQ.
Chapitre 4 : Integration du Mode Config On presente ici l’ensemble de nos travaux, apres
avoir pris en main l’environnement dans son ensemble (etude IPSec, prise en main des UTMs,
etude sur le firmware, etc). Le fichier de configuration NETASQ est etendu et les champs
Mode Configuration ajoutes. Une batterie de tests finaux finissent l’integration.
Un approndissement des principaux protocoles IPSec est disponible en annexe.
- 13 -
![Page 14: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/14.jpg)
CHAPITRE I
Les protocoles IPSec
An error does not become truth by reason of multiplied propagation,
nor does truth become error because nobody sees it.
— Mahatma Gandhi
Resume :
IPSec est une suite de protocoles destines a securiser le trafic au niveau IP. Il a ete
initiallement developpe au sein du projet KAME pour IPv6, puis backporte a IPv4.
IPSec fournit notamment la confidentialite des donnees qui transitent, leur authen-
tification, leur integrite en mode non-connecte et une protection contre le rejeu. Il
permet ainsi de proteger l’ensemble des couches superieures reposant sur IP.
IPSec peut fonctionner suivant deux modes : en mode transport pour une utilisation
de type Host-To-Host ou en mode tunnel pour le deploiement de passerelle VPN (Gate-
To-Gate ou Host-To-Gate).
Les flux sont chiffres et/ou signes par des algorithmes cryptographiques a cle secrete, a
travers deux protocoles : AH assurant l’authentification et l’integrite des donnees et ESP
assurant principalement leur confidentialite mais permet de les authentifier egalement.
L’echange et le renouvellement de l’ensemble des cles cryptographiques est assure par
le protocole IKE - Internet Key Exchange qui lui meme est une instanciation du pro-
tocole ISAKMP - Internet Security Association and Key Managment Protocol
utilisant entre autres, le protocole Oakley permettant de realiser les echanges Diffie-Hellman
notamment.
Les parametres d’une politique de securite (identite de l’hote, algorithmes a utiliser, etc)
sont stockes dans une Security Association (SA). L’ensemble des SA sont alors stockees
dans une base de donnees de SA appellees Security Association Database (SAD).
Enfin, les differentes politiques de securite a appliquer aux paquets transitant par le
module IPSec sont stockees dans une structure noyau appellee Security Policy Database
(SPD).
![Page 15: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/15.jpg)
CHAPITRE I. LES PROTOCOLES IPSEC
I.1 Presentation
I.1.1 Champ d’action d’IPSec
En matiere de securisation des echanges sur un reseau (a fortiori sur un reseau TCP/IP), les
services disponibles peuvent etre relativement differents suivant la couche de la pile reseau dans
laquelle ils operent. On peut citer :
– Les protections au niveau applicatif integres dans l’application en elle meme.
– Les protections au niveau de la couche transport (TCP, UDP...) en utilisant les protocoles
SSL/TLS et OpenVPN pour l’etablissement de tunnels SSL.
– Les protections au niveau de la couche liaison avec par exemple des tunnels PPTP.
Quant a IPSec (Internet Protocol Security), il definit une collection de protocoles destines a
securiser l’ensemble du trafic sur un reseau repute non securise, typiquement a travers l’Internet.
En effet, le protocole IP tel qu’il a ete concu ne prevoit pas la protection et la securisation des
donnees transmises. IPSec definit une extension d’IP destine a palier a ce manque. Il intervient
au niveau de la couche 3 - Reseau - du modele OSI (cf. Fig I.1) en securisant les flux IP. Il opere
donc de maniere totalement transparente pour l’utilisateur, moyennant le temps de latence du aux
negociations avec l’hote distant et aux traitements des paquets du point de vue cryptographique,
les algorithmes de chiffrement et d’authentification etant gourmands en ressources. Le support
d’une pile IPSec est optionnel pour IPv4, mais obligatoire pour toute implementation conforme
d’une pile IPv6. Normalise pour la premiere fois en 1998 dans la RFC 2401, l’architecture IPSec a
connu bien des evolutions en une decenie, qu’il s’agisse de la pile IPSec noyau ou des demons IKE
de negociation de cles ou de manipulation de regles de SPD.
I.1.2 Historique
Les piles IPSec
Une des toutes premieres implementations d’IPSec fut celle du projet KAME. Ce projet re-
groupait pres d’une dizaine de grosses compagnies japonaises, dont Fujitsu, Hitachi, NEC ou en-
core Toshiba, dans le but de fournir une implementation d’une pile IPv6, IPSec et IPMobile pour
les systemes BSD. Les systemes qui ont integre la pile KAME/IPSec s’avereront etre, par la suite,
FreeBSD et NetBSD. Dans le meme temps, il se trouve qu’OpenBSD avait deja implemente sa pro-
pre pile IPSec depuis la version 2.1 datant de 1997, avec ses differents avantages et inconvenients. Le
principal avantage de la pile IPSec d’OpenBSD etait l’integration de l’acceleration cryptographique
materielle en natif, permettant d’accroıtre considerablement les debits et les performances.
Concernant les systemes d’exploitation bases sur un noyau Linux, la toute premiere imple-
mentation d’une pile IPSec fut realisee par le projet FreeS/WAN dont la derniere version, 2.06,
- 15 -
![Page 16: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/16.jpg)
I.1. PRESENTATION
Transport : TCP, UDP
Applications
Liaison, Physique
IPSec
IPSec
AnciennesPiles IPv4
Piles IPv4
IPSec
Intégrant
Récentes Pile IPv6Intégrant
NativementIPSec
Fig. I.1 – Positionnement d’IPSec dans la pile IP
date de 2004. FreeS/WAN fut alors divise en deux autres projets que sont OpenS/WAN et
StrongS/WAN. Toutefois, aucunes de ces trois piles IPSec ne fut integree dans les noyaux Linux.
En effet, a l’horizon 2002, deux developpeurs du noyau Linux, A. Kuznetsov et D. S. Miller ont
entierement implemente une pile IPSec en s’inspirant des des travaux du groupe USAGI IPv6.
Cette pile est celle qui est aujourd’hui integree en natif dans les noyaux 2.6.x.
Sur FreeBSD, la pile integree dans le noyau fut a l’origine la pile KAME/IPSec. Toutefois, un
portage de la pile IPSec d’OpenBSD integrant l’acceleration cryptographique materielle a ete
realise, ce qui a donne la pile FastIPSec. Deux piles IPSec ont alors ete maintenues, et lorsque
l’ensemble des fonctionalites presentes dans KAME/IPSec l’ont egalement ete dans FastIPSec, les
developpeurs FreeBSD ont abandonne la pile KAME. Ainsi, depuis la version FreeBSD 7.0, seule une
pile IPSec est integree et maintenue, a savoir FastIPSec.
Les demons en espace-utilisateur
Parallelement au developpement des differentes piles IPSec, il etait necessaire, comme nous le
verrons plus tard, d’avoir des demons s’executant une espace utilisateur afin de manipuler, config-
urer, maintenir, administrer les differentes configurations et politiques a appliquer aux flux ; comme
par exemple l’authentification du site distant, l’echange securise des cles cryptographiques, savoir
si le site distant est toujours disponible, etc.
Theoriquement, les demons en espace utilisateur sont independants de la pile IPSec dans le
- 16 -
![Page 17: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/17.jpg)
CHAPITRE I. LES PROTOCOLES IPSEC
noyau, et il est possible d’utiliser n’importe quel demon sur toutes1 les piles IPSec decrites plus
haut. Nous verrons un peu plus tard pourquoi ce n’est pas totalement vrai, puisque l’interfacage a
travers lequel ils communiquent avec le noyau n’offre pas autant de requetes qu’il serait souhaitable
d’en avoir.
Ainsi, le projet KAME disposait de son propre demon, racoon, repris plus tard par le projet
ipsec-tools. C’est sur ce projet qu’est base en grande partie le stage. D’autre part, OpenBSD avait
implemente son demon en parallele de la pile, isakmpd aujourd’hui encore integre dans OpenBSD
4.x. Enfin, pour les systemes Linux, plusieurs ont vu le jour. On peut citer pluto, demon des
projets xS/WAN, ou encore racoon qui supporte Linux, FreeBSD et NetBSD.
IPSec est aujourd’hui tres largement deploye, en particulier pour la mise en place de VPNs2,
afin de securiser les echanges entre sites distants. L’avantage par rapport a d’autres solutions de
tunnelling comme OpenVPN, base sur SSL/TLS securisant TCP, reside dans la totale transparence
au niveau de l’utilisateur et la securisation de l’ensemble des couches basees sur IP, notamment
l’ensemble des couches de transport comme TCP et UDP.
Les implementations proprietaires
Toutes les implementations IPSec ne sont en effet pas OpenSource. Des grands comptes comme
Microsoft ou Cisco possedent aujourd’hui leur propre implementation de pile IPSec. Bien qu’IPSec
soit un moyen extremement robuste afin de transmettre du trafic chiffre, il n’en reste pas moins
vrai que l’interaction avec d’autres piles IPSec pose par moments des problemes de compatibilites.
I.1.3 Pourquoi deployer IPSec ?
Qu’il s’agisse de l’ensemble des services de securite fourni, ou de la flexibilite dans le deploiement,
ou encore du cout moindre par rapport a des lignes dediees, les VPN/IPSec sont de plus en plus
presents dans l’architecture reseau des entreprises.
Services de securite
Le pannel de services disponibles sous IPSec est assez varie ce qui lui permet d’etre tres flexi-
ble lors du deploiement de topologies reseaux securisees. On regroupe ici quelques mecanismes de
securite disponibles :
Authentification des correspondants : Il s’agit d’une authentification a double sens ou chaque
extremite s’assure de l’adresse de son correspondant. Il s’agit principalement des adresses IPs
des machines deploiyant IPSec et non pas des reels utilisateurs des dites machines. Nous ver-
rons la maniere dont les extentions ISAKMP/XAuth et ISAKMP/Hybrid permettent de remedier
a cela en offrant une authentification forte supplementaire des utilisateurs en plus de celle
1sous reserve que les demons soient bien en environnement compatible, racoon ne fonctionnera bien entendu pas
sur une architecture de type Win322VPN :Virtual Private Network, ou Reseaux Virtuels Prives (RVP)
- 17 -
![Page 18: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/18.jpg)
I.1. PRESENTATION
des machines, notamment pour les clients mobiles possedant une IP dynamique.
Authentification des flux : Il s’agit de verifier que les flux qui circulent dans le tunnel ont bien
ete emis et/ou sont bien a destination de l’une ou l’autre des extremites. IPSec dispose prin-
cipalement de methodes de hachages afin de realiser cette operation, a travers le protocole
AH et/ou ESP.
Confidentialite des flux : Le payload des paquets IP est entierement chiffre a l’aide d’algo-
rithmes cryptographiques a cle secrete, envoye a travers le tunnel et dechiffre une fois arrive
a destination.
Integrite des flux : Lorsqu’un paquet IPSec3 subit une quelconque modification lors de son
trajet, elle est detectee et le paquet est ignore. L’integrite en mode non-connecte permet de
detecter une quelconque modification d’un datagramme individuel, mais pas sur l’ordre des
datagrammes, leur ordonnancement, ou la perte de paquets ou l’on parle d’integrite en mode
connecte. Cela protege les flux de toute alteration qu’ils peuvent subir et permet notamment
de se premunir contre des attaques actives. Nous verrons pourquoi ceci est tres problematique
lorsqu’il s’agit de traversser des equipements NAT4 et comment l’extension IPSec NAT-T per-
met d’y remedier.
Protection contre le rejeu et l’analyse de trafic : Bien qu’un attaquant ne puisse pas dechiffrer
ou modifier un paquet chiffre, il pourrait juste le capturer et le renvoyer plus tard. IPSec per-
met de se proteger contre ce type d’attaque par rejeu de paquets. Ceci apporte egalement
une protection supplementaire contre les eventuelles ecoutes et analyses de trafic puisque
l’ensemble du payload etant chiffre, un eventuel attaquant ne pourrait pas savoir quelle
couche de transport est utilisee (TCP UDP ICMP . . .) ou encore quelle type de protocole de
niveau superieur (HTTP FTP SMTP), etc.
Souplesse cryptographique : IPSec n’est lie a aucun algorithme cryptographique en parti-
culier. Il supporte de multiples algorithmes a cle secrete, et est capable de negocier dy-
namiquement les algorithmes supportes par tel ou tel hote tentant d’etablir une connexion.
Bien que cette souplesse de negociation soit avant tout un avantage, nous mettrons l’accent
sur le fait que cela peut etre d’un niveau de securite moindre lorsque certains parametres
ne sont pas choisis de maniere adequate. A titre d’exemple, un proposal check obey peut
faire en sorte que les hotes negocient le chiffrement DES alors que les deux supportent AES.
Services de flexibilite
Les passerelles VPN/IPSec sont typiquement deployees dans des entreprises qui disposent de
locaux geographiquement eloignes les uns des autres. L’ensemble des services disponibles sur le site
central doivent egalement l’etre sur les differents sites distants. Outre une grande souplesse dans
3paquet AH ou ESP4NAT - Network Address Translation
- 18 -
![Page 19: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/19.jpg)
CHAPITRE I. LES PROTOCOLES IPSEC
la mise en place de tunnels VPNs, on peut noter :
Bande passante : Les WANs traditionnels utilises pour la communication inter-sites sont bases
sur Frame Relay5, ou sur ATM . Avec l’apparition de nouveaux services necessitant de plus
en plus de debit, il a fallu choisir entre multiplier les lignes entre les sites ou trouver d’autres
alternatives securisees et de debits acceptables. D’ou le compromis trouve d’adopter des so-
lutions basees sur IPSec.
Reduction des couts : Avec la diminution des couts des abonnements des fournisseurs d’acces,
avoir une ligne dediee coute beaucoup trop cher en terme de deploiement et de maintenance.
De plus en plus d’entreprises se tournent vers des fournisseurs d’acces et securisent leur flux
plutot que d’acheter des lignes dediees.
Disponibilite, adaptabilite : IPSec peut etre deploye en tout point disposant d’un acces reseau.
Tandis que la plupart des societes possedent deja des lignes de communication dediees entres
leurs differents sites distants, le debit est bien souvent insuffisant lorsqu’il s’agit d’acceder
a une panoplie de services de plus en plus gourmands en bande passante. Dans ces cas,
comme precedemment, il est possible de deployer des tunnels IPSec entre ces differents sites,
en y faisant passer les informations les moins critiques, alors que les donnees tres sensibles
continuent a etre acheminees a travers le WAN dedie.
I.2 Vue generale des protocolesIPSec regroupe toute une suite de protocoles, de specifications, d’acronymes decrits dans
differentes RFCs se referencant les unes aux autres, ce qui rend sa prise en main relativement
delicate de prime abord. On presente ici une vue d’ensemble de ces differents protocoles afin de
mieux comprendre ce que font les differents modules avant d’approfondir les caracteristiques des
protocoles en question.
I.2.1 Mode Transport, Mode Tunnel
Suivant les besoins et les utilisations, IPSec peut fonctionner sur deux modes, le mode Trans-
port et le mode Tunnel .
Mode Transport
IPSec en mode Transport (a ne pas confondre avec la couche transport du modele OSI) est
particulierement adapte pour la communication entre deux hotes. Cela presuppose donc l’installa-
tion et la configuration prealables d’une pile IPSec sur les deux systemes.
En mode Transport, les mecanismes de securisation viennent s’intercaler entre les couches
Transport et Reseau : les entetes IPSec appropriees (AH et/ou ESP) sont appliques apres que les
5Relai de trames : transfert de donnees par commutation par paquets, a haut debit et sur de longues distances,
evolution de X.25
- 19 -
![Page 20: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/20.jpg)
I.2. VUE GENERALE DES PROTOCOLES
IPSec Transport Host To Host
Alice Bob
Host A Host B
Fig. I.2 – IPSec en Mode Transport
donnees soient passees par la couche -4- Transport et avant de les passer a la couche -3- Reseau.
Ce mode protege donc l’ensemble des donnees au dessus d’IP.
IP Hdr
IP Hdr
Data
IPSec Hdr Data
A Protéger
Fig. I.3 – En-tete en Mode Transport
Ainsi, le principal defaut de ce mode reside-t-il dans l’absence de masquage d’adresses puisque
les adresses IP des deux correspondants sont visibles.
Pour permettre une protection de tout le paquet IP, le mode le plus souvent deploye est le
mode Tunnel .
Mode Tunnel
IPSec en mode Tunnel est utilise pour le deploiement de passerelles VPNs et permet de re-
lier un ensemble de reseaux de maniere securisee a travers un reseau peu sur comme l’Internet.
L’ensemble des postes n’ont alors nullement besoin d’installer et/ou de configurer des systemes
supportant IPSec, seules les deux passerelles en sont dotees.
En mode Tunnel , les traitements IPSec sont appliques apres que l’ensemble des donnees aient
traverses la couche IP egalement. Les entetes (AH et/ou ESP) portent sur un datagramme IP en
entier et non plus seulement sur un datagramme TCP ou UDP ; et une nouvelle entete IP est rajoutee
- 20 -
![Page 21: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/21.jpg)
CHAPITRE I. LES PROTOCOLES IPSEC
IPSec Gateway A IPSec Gateway B
Tunnel Gate To Gate
Fig. I.4 – IPSec en Mode Tunnel
au paquet.
IP Hdr
IP Hdr
Data
IPSec Hdr Data
A Protéger
New
IP Hdr
Fig. I.5 – En-tete en Mode Tunnel
Comme on peut le voir, les adresses source et destination sont entierement masquees, les corre-
spondants reels ne sont pas visibles, et l’on dispose d’une protection contre l’analyse de trafic. Le
mode Tunnel est le mode le plus souvent utilise et deploye a grande echelle.
I.2.2 Protocole AH, Protocole ESP
IPSec repose principalement sur deux protocoles destines a securiser le trafic :
AH : Le protocole AH - Authentication Header.
ESP : Le protocole ESP - Encapsulating Security Protocol.
- 21 -
![Page 22: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/22.jpg)
I.2. VUE GENERALE DES PROTOCOLES
Protocole AH
AH (Authentication Header) est utilise principalement pour fournir une authentification et
un controle d’integrite des donnees.
AH ne permet pas de chiffrer les paquets. Il ne doit donc pas etre utilise lorsque l’on souhaite avoir
la confidentialite des donnees.
AH protege l’ensemble des donnees, ainsi que l’ensemble des en-tetes non modifiables (numero de
protocole, port de destination, etc). Il n’offre, en revanche, pas de protection sur l’ensemble des
en-tetes susceptibles d’etre modifiees lors du trajet du paquet comme par exemple le champ TTL
ou le champ ToS de l’en-tete IP.
Suivant le mode Transport ou Tunnel, la figure I.6 decrit la maniere dont AH encapsule les donnees.
IP Hdr
IP Hdr
Data
AH DataNew
IP Hdr
Authentifié sauf les champs modifiables dans New IP Hdr
Paquet Original
AHIP Hdr Data
Authentifié sauf les champs modifiables dans IP Hdr
Mode Transport
Mode Tunnel
Fig. I.6 – Authentication Header - AH
Comme on peut le voir, AH protege l’ensemble des champs non-modifiables du paquet. Il peut
etre utile lorsque la confidentialite des donnees n’est pas recherchee d’une part, et d’autre part
lorsqu’une authentification forte du paquet est exigee. La transmission du resultat d’une election
ou les donnees sont destinees a etre publiques mais doivent provenir de source sure est un bon
exemple.
- 22 -
![Page 23: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/23.jpg)
CHAPITRE I. LES PROTOCOLES IPSEC
Protocole ESP
ESP est le deuxieme protocole definit dans la suite IPSec. Protocole le plus repandu dans la pra-
tique, ESP (Encapsulating Security Payload) offre egalement la confidentialite des donnees.
L’ensemble des donnees sont alors chiffrees avant detre transmises, suivant differents mecanismes
et protocoles que l’on detaille a la section I.2.3.
ESP chiffre, d’une part, le champ Data des paquets suivant un ensemble de parametres negocies
au prealable avec l’hote distant, et d’autre part, utilise des mecanismes d’authentification (comme
HMAC) afin de fournir une protection anti-rejeu ou encore une integrite des donnees. A ce titre,
ESP est un protocole tres complet, offrant toute une panoplie de protections allant du simple
chiffrement des donnees jusqu’a leur authentification en plus.
La figure I.7 decrit la maniere dont ESP encapsule l’ensemble des champs des paquets.
IP Hdr
IP Hdr
Data
DataNew
IP HdrESP
IP Hdr Data
CHIFFRE
Mode Transport
Mode Tunnel
Hdr
ESPTrailer
ESPAuth
AUTHENTIFIE
ESPHdr
Trailer AuthESPESP
CHIFFRE
AUTHENTIFIE
Fig. I.7 – Encapsulating Security Payload - ESP
- 23 -
![Page 24: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/24.jpg)
I.2. VUE GENERALE DES PROTOCOLES
AH et ESP
Il est tout a fait possible d’utiliser les deux protocoles conjointement, meme si cela reste tres
peu utilise. Lorsque l’on recherche a avoir une confidentialite des donnees et une authentification
complete du paquet, il est possible d’utiliser dans un premier temps ESP afin de chiffrer les donnees
et authentifier les champs concernes, puis d’aposer AH sur le paquet ESP obtenu. On a ainsi une
authentification complete de tous les champs du paquet et un chiffrement des donnees.
Ce mode de fonctionnement est neanmoins tres lourd et gourmand en bande passante. En pra-
tique, le mode Tunnel ESP reste tres securise et offre l’ensemble des services de securite mentionnes
plus haut.
I.2.3 Etablissement d’une negociation IPSec
Phases IPSec
Il existe deux facons d’etablir des echanges chiffres entre deux hotes IPSec :
Dynamique : La negociation dynamique est la plus repandue, la plus securisee et la plus con-
seillee. Elle permet de negocier a la volee l’ensemble des parametres necessaires et assure le
renouvellement periodique des cles cryptographiques mises en jeu et leur echange de maniere
securisee.
Statique : Principalement maintenue pour des raisons de compatibilites, ce mode de (( negociation ))est
tres obsolete et presente quelques failles de securite, puisque les cles sont non seulement sta-
tiques, donc jamais renouvellees. Ainsi, les tentatives d’attaques par brute force ont plus de
chances d’aboutir. Cette methode de negociation ne sera pas abordee dans le cadre de ce
rapport.
Une negociation IPSec dynamique, c’est a dire utilisant un demon de negociation IKE, se fait
principalement en deux etapes ou phases.
Phase 1 : La premiere phase sert a authentifier mutuellement les deux correspondants et d’etablir
un canal de transmission securise. Par la suite, l’ensemble de la configuration et parametres
necessaires sont negocies afin de proteger les differents echanges (les duree de vie, les infor-
mations diverses, etc). Lorsque cette phase est terminee, les deux correspondants disposent
d’une ISAKMP SA. Il s’agit d’un canal de transmission securise par lequel les deux cor-
respondants vont s’echanger differentes informations, y compris les cles cryptographiques
destinees a chiffrer et/ou authentifier le trafic des donnees proprement dites.
Phase 2 : La deuxieme phase permet essentiellement de se mettre d’accord sur les protocoles
cryptographiques a utiliser pour chiffrer et authentifier tel ou tel type de trafic entre les deux
hotes ; et de transferer les cles cryptographiques necessaires. Une fois cette phase realisee, les
correspondants disposent de deux IPSec SA chacun.
- 24 -
![Page 25: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/25.jpg)
CHAPITRE I. LES PROTOCOLES IPSEC
A partir de ce moment, les deux hotes peuvent alors s’echanger du trafic de maniere securisee.
Les SAs sont developpees plus en details dans la section I.3.2.
Politiques et Associations de securite
Etant donne un trafic qui doit etre chiffre avec tel protocole, un autre avec tel protocole et un
dernier ne devant pas l’etre, comment ce trafic est-il effectivement traite ?
Lorsque les paquets arrivent (cf Fig I.8) entre la couche Transport et la couche Reseau, le noyau
verifie tout d’abord si ce trafic doit subir un traitement IPSec ou non en fonction de differents
champs contenus, entre autres, dans l’en-tete IP. Pour cela, le noyau cherche une politique de
securite correspondant au paquet, dans une base de politiques (SPD) prealablement configuree par
l’administrateur. La SPD permet de savoir si un type de trafic doit subir un traitement IPSec ou
pas. Si ce n’est pas le cas, le paquet sera envoye en clair. On pourrait schematiser la SPD - Security
Policy Database - par une seconde table de routage.
Pqt en ClairIP
IPSecS P D
Consulte
IPSec : Oui / Non ?
S A D
SA1SA2SA3...
Consulte
Pqt en Clair
Tunnel IPSec
Pqt Chiffré
I K E
Maintient, Négocie
Modifie, Supprime
Demande de
Création de SA
Administrateur
logs
Configure
Fig. I.8 – Synoptique de Fonctionnement IPSec
Si c’est le cas, il faut a present savoir a quel type de tunnel il correspond. Le type (Tunnel,
Transport, ESP, AH) est egalement stocke dans la SPD. Une base de donnees de SA (SAD) est
maintenue en temps reel et contient l’ensemble des SAs des politiques IPSec actives. Dans le cas ou
le noyau trouve une SA correspondante, il va y lire les parametres necessaires (protocole a utiliser,
- 25 -
![Page 26: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/26.jpg)
I.3. DESIGN ET ARCHITECTURE DE SECURITE
taille des cles, etc) et traiter le paquet en consequence (ESP ou AH, Tunnel ou Transport) avant
de l’envoyer.
Si la SA n’est pas trouve, le noyau demande au demon IKE – le demon racoon du projet
ipsec-tools en locurrence – de negocier une SA avec l’hote distant. Durant cette negociation,
l’ensemble des paquets devant subir un traitement IPSec a destination de cet hote sont ignores.
Ceci explique le temps de latence lors de la premiere communication a travers un tunnel IPSec.
Le detail et l’etude approndie des protocols AH et ESP est disponible dans l’annexe A.
Maintenant que l’on a etudie les protocoles de transmission d’IPSec, il s’agit de voir comment
les differents parametres, clefs de chiffrement, protocoles, identites des correspondants, etc. sont
geres dans le systeme.
Comment se fait le renouvellement periodique des cles ?
Comment detecte t-on lorsque l’hote en face ne repond plus ? Que faire dans ces cas la ?
Faut-il garder les parametres en esperant que l’absence soit temporaire ? Ou au contraire les sup-
primer directement ?
Autant de question auxquelles nous tenterons de repondre dans la section suivante.
I.3 Design et architecture de securite
L’architecture complexe d’IPSec repose sur le principe d’Association de Securite. Il s’agit d’une
structure contenant un ensemble de parametres negocies avec l’hote avec lequel l’on souhaite etablir
une connexion IPSec. Ces differentes associations sont stockees dans des bases de donnees d’asso-
ciations, afin de retrouver rapidement celle qui correspond a tel ou tel hote.
I.3.1 Extremites de tunnel, de trafic
On appelle extremite de tunnel (cf. Fig I.9) les deux extremites entre lesquelles le trafic sera
effectivement chiffre et/ou signe. Il s’agit des adresses des deux passerelles IPSec dans le cas d’une
configuration en mode tunnel ou de l’adresse des deux correspondants dans le cas d’une configu-
ration en mode transport.
On appelle extremite de trafic (cf. Fig I.9) les sous-reseaux qui sont autorises a emprunter le
tunnel de part et d’autre de la passerelle. Les extremites de trafic constituent un point essentiel de
l’architecture IPSec : un sous-reseau bien que faisant partie du reseau interne de l’entreprise, s’il
n’est pas autorise a envoyer du trafic IPSec vers telle ou telle passerelle sera detecte au moment
de la verification sur l’extremite de tunnel.
- 26 -
![Page 27: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/27.jpg)
CHAPITRE I. LES PROTOCOLES IPSEC
Fig. I.9 – Extremites de tunnel, de trafic - www.cisco.com
I.3.2 Associations de Securite
Les SAs representent une structure au coeur de toute connexion IPSec. Il s’agit d’un ensemble
ou d’une collection de parametres permettant d’etablir un tunnel de commmunication securise
entre deux hotes. Les SAs sont unidirectionnelles, il en faut ainsi deux pour une communication
bi-directionnelle.
Lorsque deux entites communiquent au travers d’IPSec, il faut pouvoir distinguer la maniere
dont telles ou telles donnees sont chiffrees et/ou authentifiees de telles ou telles manieres. Les SAs
contiennent ainsi, pour un hote distant donne, le protocole a utiliser (AH et/ou ESP), les algo-
rithmes cryptographiques associes, les cles de chiffrement, la periode de renouvellement des cles, etc.
Elles sont identifiees par un numero de SPI (Security Parameter Index). Le SPI permet
de savoir comment un paquet arrive sur l’interface ipsec doit etre authentifie et/ou dechiffre en
allant consulter les parametres de la SA a laquelle il correspond ; ou alors, il permet de connaıtre
les protocoles et cles a utiliser lors du chiffrement d’un paquet a envoyer a un hote donne.
Le concept de SA permet d’avoir differents degres de chiffrement et/ou d’authentification entre
deux, voire plusieurs hotes. A titre d’exemple, si l’on considere deux filiales ou l’acces aux services
de mail est moins critique que l’acces a des applications financieres. Bien que le tunnel IPSec soit
physiquement le meme, il existera deux politiques de chiffrement, donc deux SAs de chaque cote
afin de chiffrer les paquets a destination des applications financieres a l’aide de methodes tres ro-
bustes (donc plus couteuses en temps et en ressources), et les flux a destination des services mails
a l’aide de chiffrement d’un degre moindre.
Les differentes SAs negociees avec les differents hotes sont stockees dans une base de donnees
- 27 -
![Page 28: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/28.jpg)
I.4. PHASES DE NEGOCIATION
de SAs appellee SAD ou SADB (Security Association Database).
I.3.3 politiques de securite
Pour chaque paquet entrant ou sortant, il faut etre capable de determiner si ce paquet est des-
tine a une quelconque interface IPSec ou s’il doit etre envoye en clair sur le reseau. Il existe pour
cela une table d’entrees de politiques de securite, pouvant etre assimilee a une table de routage
interne, permettant de savoir a quel type de traffic est destine un paquet.
Ces differentes politiques sont stockees dans une SPD (Security Policy Database) qui est
donc consultee a chaque paquet sortant ou entrant. L’administrateur a la charge de configurer
et maintenir les politiques dans le noyau a travers des outils userland comme setkey du projet
ipsec-tools, largement utilise pendant le stage, de pair avec le demon IKE racoon.
Lorsqu’une SA n’existe pas ou n’est plus valide et qu’un paquet doit etre envoye au travers
d’une connexion IPSec, le noyau demande a un demon IKE de negocier une SA avec l’hote distant.
I.4 Phases de negociation
La negociation d’une SA se fait principalement en deux phases. A l’issue de la Phase 1, une
ISAKMP SA est cree. A partir de ce moment, les deux entites disposent d’un tunnel securise et
peuvent negocier les parametres de securisation des donnees en elles-memes : il s’agit de la Phase
2 et permet d’etablir une IPSEC SA.
I.4.1 Phase1 : ISAKMP SA
La Phase 1 represente la negociation initialle afin d’etablir la ISAKMP SA 6 entre les deux
hotes. Elle peut se faire de maniere robuste lorsque les conditions le permettent (notamment lorsque
l’adresse IP du correspondant est connue a l’avance), il s’agit dans ce cas du Main Mode ; ou elle
peut se faire par l’Aggressive Mode qui ne presuppose pas la connaissance de l’IP de l’hote.
La Phase 1 commence par envoyer la liste des propositions d’authentification, de chiffrement
ainsi que les durees de vies a negocier. Suivant la maniere dont est configure l’hote distant, la
negociation peut etre ou ne pas etre acceptee.
La deuxieme etape consiste a calculer des cles de session par l’intermediaire d’un echange Diffie-
Hellman. Une fois les cles de sessions etablies, tout le traffic a partir de ce moment est chiffre.
6Contrairement a une IPSEC SA, la ISAKMP SA est bidirectionnelle
- 28 -
![Page 29: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/29.jpg)
CHAPITRE I. LES PROTOCOLES IPSEC
Authentification des correspondants
Il faut, a present, authentifier les deux correspondants. racoon dispose de plusieurs methodes
d’authentification, dont deux tres couramment utilisees :
Pre Shared Key : Il s’agit d’une cle pre-partagee a l’avance par les deux hotes (par hote, on
entend une adresse IP, un login ou encore un FQDN). A noter qu’a l’heure actuelle, dans le
demon racoon, il n’est pas possible de configurer une cle qui soit partagee par un ensemble
d’utilisateurs ou par tout le monde (appelle aussi Wildcard ou Goup Password chez TM), ce
qui presente des risques de securite non negligeables. C’est la methode d’authentification la
plus frequemment utilisee car la plus simple a mettre en place. Neanmoins, comme nous le
verrons dans le chapitre suivant, l’authentification en pre shared key est tres deconseillee
voire a proscrire lorsqu’il s’agit d’authentifier des hotes de types Road Warrior, c’est a dire
ceux dont l’adresse IP n’est pas connue a l’avance.
Certificats X509 : Utilisant une Public Key Infrastructure, c’est une methode d’authentification
par certificats numeriques X5097. Il s’agit de la methode la plus sure actuellement disponibles
a au moins deux conditions : avoir une CRL8 a jour tres regulierement et en ce qui concerne
les Road Warrior, avoir deux CA differentes, l’une pour signer le certificat de la passerelle
IPSec et la deuxieme pour signer les certificats utilisateurs.
Une fois l’authentification des correspondants achevee, chacun accuse de la bonne reception des
differents parametres et la ISAKMP SA est consideree comme etablie.
Main Mode - Aggressive Mode
L’etablissement de la ISAKMP SA peut se faire soit par six echanges (Main Mode) ou par
un couple d’echanges en moins (Aggressive Mode).
Le Main Mode (cf Fig. I.10) permet d’avoir la “ Protection des Identites ” des correspondants
(Identity Protection Mode) ! Les echanges des empreintes des differentes identites ne se font
qu’apres l’etablissement d’un secret commun partage par les deux entites : l’echange Diffie Hell-
man est fait au niveau 3 et 4 pour etablir la cle de session et l’echange des empreintes est faite au
niveau 5 et 6. L’identite et l’empreinte de l’identite sont tous deux chiffres avec la cle partagee. En
Main Mode avec une authentification en Pre Shared Key, comme les echanges 5 et 6 sont chiffres,
c’est l’adresse IP du correspondant qui fait office d’identifiant ; ce qui va devenir problematique
pour les road warriors puisque leur IP n’est a priori pas connue a l’avance !
L’ Aggressive Mode (cf Fig. I.11) en revanche ne supporte pas la “ Protection des Iden-
tites ”9 : les identifiants sont envoyes en clair sur le reseau. En effet, l’echange se fait avant
7Un certificat X509 est une methode d’authentification liant une cle publique a un nom ou une adresse email8CRL : liste de revocation mise a jour regulierement, elle a definir l’ensemble des certificats qui ne sont plus
valides.9Sauf lorsqu’il s’agit d’une authentification en Hybrid
- 29 -
![Page 30: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/30.jpg)
I.4. PHASES DE NEGOCIATION
MAIN MODE
_________________________________________________________
| Initiateur | Repondeur |
|--------------------------------------------------------|
| HDR, SA |=============> |
| |
| <=============| HDR, SA |
| |
| HDR, KE, NONCE |=============> |
| |
| <=============| HDR, KE, NONCE |
| |
| HDR*, IDii, HASH |=============> |
| |
| <=============| HDR*, IDir, HASH |
|________________________________________________________|
Fig. I.10 – Echanges de Phase 1 en Main Mode
qu’un secret commun ne soit determine entre eux. L’empreinte d’authentification n’est pas chiffre,
contrairement au Main Mode et est envoye en clair. Des identites non protegees et une em-
preinte d’authentification non chiffree rend l’ Agressive Mode susceptible a des attaques de type
Man In The Middle (MITM) lorsqu’il est utilise de paire avec une authentification en Pre Shared Key.
Si de plus, les Pre Shared Keys sont faibles, un attaquant potentiel peut determiner la cle, hors
ligne, par une attaque par force brute sur l’empreinte non chiffree.
AGGRESSIVE MODE
_________________________________________________________
| Initiateur | Repondeur |
|--------------------------------------------------------|
| HDR, SA, KE |=============> |
| NONCE, IDii |
| <=============| HDR, SA, KE, NONCE|
| IDir, HASH |
| HDR*, HASH |=============> |
|________________________________________________________|
Fig. I.11 – Echanges de Phase 1 en Aggressive Mode
- 30 -
![Page 31: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/31.jpg)
CHAPITRE I. LES PROTOCOLES IPSEC
Chiffrement Hash PFS Lifetime IPSec Mode
AES SHA-1 Desactive 3600 sec Tunnel
DES MD5 Group 1 2h Transport
3DES Group 2 1 week
Blowfish Group 5
Fig. I.12 – Quelques exemples de parametres negocies lors d’une Phase 2
I.4.2 Phase2 : IPSEC SA
Apres la Phase 1, durant la Phase 2, les IPSEC SAs sont negociees par IKE, pour securiser le flux
de donnees en lui meme. Ces negociations sont deja chiffres et authentifies puisqu’elles reposent sur
la ISAKMP SA fraıchement etablie. On appelle egalement ce mode de negociation le Quick Mode.
Comme les IPSEC SA sont uni-directionnelles par nature, il va en suivre un double echange
de cles de chiffrement, l’une pour le trafic entrant et l’autre pour le trafic sortant. L’avantage que
represente cette strategie est de doubler le travail de l’attaquant a l’ecoute du reseau, puisqu’il lui
faudra dechiffrer le trafic dans les deux sens.
Durant cette Phase sont negocies des parametres comme les algorithmes de chiffrement, de
calcul de signature, les cles de chiffrement ou encore les durees de vies des differentes SAs (cf Tab.
I.12).
Perfect Forward Secrecy
Le PFS - Perfect Forward Secrecy determine la maniere dont sont generees les cles de
chiffrement des differentes IPSEC SAs. Lorsqu’il est desactive, les cles de(s) IPSEC SA(s) sont
generees a partir de la cle principale de la ISAKMP SA correspondante. Lorsque l’on l’active, ces
cles ne sont plus dependantes de la cle principale, mais au contraire generees a partir d’un nouvel
echange Diffie Hellman a chaque nouvelle IPSEC SA negociee. La taille du Group PFS peut etre
de :
– 1 avec une longueur de cle de 768 bits,
– 2 avec une longueur de cle de 1024 bits,
– 5 avec une longueur de cle de 1536 bits.
L’activation du PFS permet d’accroıttre la securite des SAs et donc des echanges en four-
nissant une entropie plus importante et donc une plus grande robustesse face aux attaques cryp-
tographiques liees a ce type de generation de cles.
Il faut tout de meme porter attention au fait que les echanges Diffie Hellman sont bases sur des
exponentiations de taille non negligeable et sont de ce fait gourmands en ressources CPU. Il n’est
- 31 -
![Page 32: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/32.jpg)
I.5. RESUME
pas impossible de constater une perte de performances par l’activation d’un group PFS trop grand.
I.5 Resume
IPSec constitue une suite de protocole de securisation du trafic au niveau IP. Il repose sur deux
protocoles : AH - Authentication Header et ESP - Encapsulating Security Payload. Les parametres
necessaires a l’utilisation de ces mecanismes (cles, algorithmes, duree de vie) sont stockee dans des
SAs. Une base de donnee de SAs est maintenue dans le noyau et geree a grace au protocole IKE
implemente dans differents demons, comme racoon utilise ici.
Lorsqu’un flux arrive au niveau IP, une base de donnees de politiques de securite - SPD est
consultee afin de savoir le type de securite a fournir au flux.
Le noyau recherche alors la SA correspondante, chiffre le paquet et l’envoie. Si la SA n’existe pas,
une demande creation est envoyee au demon IKE qui se charge de la negocier aupres de l’hote
distant.
Plusieurs modifications, evolutions, extensions ont ete apportee a differentes parties des proto-
coles IPSec depuis une dizaine d’annee. Certaines ont ete normalisees par l’IETF (bien qu’il faille
toujours supporter les drafts non RFC) et d’autres non. Les extensions IPSec les plus significa-
tives se concentrent d’une part sur l’authentification des tiers communiquants et d’autre part sur
la transmission d’informations internes a des hotes mobiles, de maniere securisee.
- 32 -
![Page 33: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/33.jpg)
CHAPITRE II
Extensions IPSec et problematiques de securite
First they ignore you,
Then they laugh at you,
Then they fight you,
Then you win.
— Mahatma Gandhi
Resume :
Les extensions IPSec sont des modifications apportees au fur et a mesure afin d’ameliorer
non pas les protocoles en eux memes, mais plutot un certain manque de communication et/ou
d’authentification des deux hotes. Un des objectifs principaux du stage etant l’etude de ces
extensions, nous en approfondirons trois dont l’une est destinee a etre integree dans la pile
IPSec du firmware NETASQ.
XAuth : Extension principalement destinee aux clients mobiles, il permet d’avoir une
authentification forte du cote du client. On authentifie non seulement la machine, mais
egalement l’utilisateur.
Hybrid : Lorsque le mode hybrid est active, l’authentification des correspondants peut
etre asymetrique, c’est a dire utilisant des methodes d’authentification differentes des deux
cotes. Une passerelle IPSec pourrait s’authentifier par certificats tandis qu’un client mobile
en face par cle pre-partagee.
Mode-Config : Est une extension permettant de transmettre de maniere securiee et a
la volee certaines informations relatives a l’architecture interne des reseaux aux clients
mobiles en particulier. Lorsqu’un client mobile se connecte au reseau interne de son entreprise
par un tunnel IPSec, a moins de les embarquer statiquement sur sa machine, il faudrait,
par exemple, lui envoyer une adresse IP locale1, ou encore des serveurs DNS et/ou WINS
internes. Cette extension est destinee a etre integree dans le module IPSec NETASQ.
D’autre part, si IPSec englobe une suite de protocoles tres robustes theoriquement,
nous verrons qu’elle presente quelques problematiques voire failles de securite lorsqu’elle
est deployee de maniere inapropriee, ou configuree de maniere bancale ; comme les SAs sta-
tiques, ou encore une mauvaise de gestion (pas de gestion du tout) de CRLs, l’utilisation
de cle pre-partagee en mode aggressif, etc.
![Page 34: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/34.jpg)
II.1. AUTHENTIFICATION XAUTH
Ce chapitre presentant les extensions IPSec principalement dans le cadre des road warriors,
on appellera Client un client mobile, ne disposant pas d’une adresse IP fixe connue a l’avance ;
et Passerelle le serveur ou la passerelle IPSec sur laquelle le client mobile souhaite etablir une
connexion. L’adresse IP de la passerelle est fixe et connue a l’avance du client.
II.1 Authentification XAuth
XAuth (Extended Authentication in IKE ) permet d’avoir un mecanisme supplementaire afin
d’authentifier le client, apres l’etablissement d’une ISAKMP-SA. Dans le cas ou XAuth est utilise
comme methode d’authentification du client, il est important que la passerelle ne fasse absolument
rien avant que XAuth n’ait correctement abouti. Ce point sera rappele a la section II.1, lors de la
description d’XAuth.
II.1.1 Principe et fonctionnement
XAuth est une methode extension IKE decrite dans le draft-beaulieu-ike-xauth-02.. Elle
permet d’avoir un complement d’authentification apres l’etablissement d’une ISAKMP-SA.
Il s’agit d’une extension permettant d’authentifier le client par diverses methodes (Radius,
OTP, Kerberos, LDAP, SecurID, etc). Pour signaler l’utilisation d’XAuth, celui ci dispose d’un
Vendor ID envoye a la passerelle lors de la negociation de phase 1. Il s’agit des 8 octets suivant :
VendorID = 0x09002689DFD6B712
Les types de messages utilises pour XAuth sont les memes que ceux utilises lors d’un Mode Config
(cf. section II.3), a savoir ISAKMP-CFG-REQUEST, ISAKMP-CFG-REPLY, ISAKMP-CFG-SET, ISAKMP-CFG-ACK.
Seuls les attributs des messages changent. Ces messages sont dits de type Transaction Exchange,
donc des messages envoyes a titre d’informations, et proteges par les parametres de negociation de
la ISAKMP-SA.
Nous reviendrons plus en details sur ce type d’echanges lors de la description du mode config et
du developpement de celui ci. Le tableau II.1 nous montre les principaux attributs dont dispose
la methode XAuth afin d’authentifier le client.
Un echange de type XAuth peut etre initie par le client ou par la passerelle. Les messages
echanges seront ainsi de type REQUEST/REPLY ou SET/ACK. L’authentification peut se faire par un
simple jeu de login/password ou etre basee sur plusieurs facteurs comme un Challenge/Password
pour cacher le mot de passe, ou encore une authentification demandant un Challenge apres l’in-
sertion d’une cle USB ou autre.
II.1.2 Notifications de type XAuth
Lors de l’etablissement de la ISAKMP-SA, la passerelle doit etre notifiee de l’XAuth, sinon elle
pourrait envoyer au client des paquets Mode Config ou des paquets de Phase 2 Quick Mode. Ceci
- 34 -
![Page 35: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/35.jpg)
CHAPITRE II. EXTENSIONS IPSEC ET PROBLEMATIQUES DE SECURITE
XAUTH-TYPE type d’echanges definis dans Transaction exchanges.
XAUTH-USER-NAME login, nom dans un X.509, un DN, un email, etc.
XAUTH-PASSCODE token passcode
XAUTH-PASSWORD le mot de passe de l’utilisateur.
XAUTH-MESSAGE un message ascii en clair, un challenge par exemple.
XAUTH-CHALLENGE challenge au format texte.
XAUTH-DOMAIN domaine dans lequel l’utilisateur doit s’authentifier.
XAUTH-STATUS OK=1, FAIL=0, statut de l’authentification.
XAUTH-NEXT-PIN
XAUTH-ANSWER
Fig. II.1 – Principaux attributs lors d’un echange XAuth
peut se faire de deux manieres differentes :
Notification lors d’un echange de phase 1 Le client peut indiquer qu’un XAuth va suivre en
mettant une notification dans le payload de n’importe quel paquet de phase 1. A moins que
les deux entites supportent les mecanismes de calcul d’empreinte decrits dans le
draft-ietf-IPSec-ike-hash-revised-03.txt, ce payload n’est pas authentifie et ne doit
par consequent pas etre utilise.
Notification via les attributs de la ISAKMP-SA L’utilisation de XAuth est notifiee en don-
nant la methode d’authentification choisie dans les attributs de la ISAKMP-SA negociee
lors du premier echange (section proposal dans la section remote de racoon). Lorsque la
passerelle recoit une demande de XAuth dans les attributs de la ISAKMP-SA, aucun echange
a part XAuth n’est possible apres une phase 1 correctement negociee.
A choisir une implementation plutot qu’une autre, en plus des contraintes de comptatibilite, il
serait plus raisonnable de transmettre la notification de XAuth en tant qu’attribut specifique dans
le payload de la ISAKMP-SA en cours de negociation. Dans le cas general, un echange XAuth est
le plus souvent initie par le client, la passerelle se contentant de repondre aux requetes.
II.1.3 Securite de XAuth
XAuth et ISAKMP-SA
Le niveau de securite de XAuth est directement lie a celui de la ISAKMP-SA
etablie.
La securite de XAuth repose entierement sur la ISAKMP-SA, et offre une authentification
complementaire du client uniquement sous reserve que la ISAKMP-SA ait ete negociee de maniere
- 35 -
![Page 36: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/36.jpg)
II.1. AUTHENTIFICATION XAUTH
sure : un XAuth apres une phase 1 etablie en Aggressive Mode Pre-Shared-Key a un niveau de
securite assez faible. Ce point est developpe dans la section suivante presentant l’authentification
en Group Password. Un XAuth, meme s’il est fait avec des methodes d’authentification
fortes a plusieurs facteurs, presente des faiblesses s’il est fait sur la base d’une ISAKMP-SA
ayant un faible niveau de securite.
Ainsi l’authentification du client, meme si elle est, certes, faite au niveau de XAuth, est basee
sur la robustesse de la phase 1 associee : il ne faudrait en aucun cas precipiter l’etablissement d’une
ISAKMP-SA, sous pretexte que l’authentification du client se fera de toute facon au moment de
l’echange XAuth qui s’en suit.
XAuth et . . .uniquement XAuth
Lorsque l’authentification de l’utilisateur inclut un echange XAuth, on doit considerer que la
phase 1 n’est pas completement finie (et donc que la ISAKMP-SA n’est pas encore etablie entre les
deux hotes) tant que XAuth n’est pas termine et valide. Une fois que l’utilisateur s’est correctement
authentifie – echanges XAuth termines et valides –, la ISAKMP-SA peut etre consideree comme
operationnelle et l’on peut alors commencer des echanges, par exemple, de type Mode Config ou
des negociations Quick Mode en phase 2.
D’autre part, avant que l’echange XAuth ne soit termine, l’utilisateur n’est pas encore completement
authentifie sur la passerelle. A ce titre, aucun echange ne doit survenir entre les deux hotes tant
que XAuth n’a pas abouti (c’est a dire termine et valide). Toute tentative de negociation de type
Mode Config ou de negociation de phase 2, entre autres, sont donc obligatoirement rejettees.
Dans le cas ou XAuth se termine mais que l’authentification echoue pour une raison ou pour une
autre, aucune information n’aura ainsi ete transmise. Le dialogue s’arrete alors immediatement,
et la ISAKMP-SA correspondante est supprimee 2. En effet, si le Xauth n’est pas valide (i.e que
l’authentification echoue), l’utilisateur n’est toujours pas authentifie aupres de la passerelle ! Dans
ce cas, il n’est pas pertinent d’avoir une ISAKMP-SA avec ce client : elle doit donc etre supprimee.
XAuth et transmission d’informations sensibles
Puisqu’un echange Auth fait intervenir le client et la passerelle d’un cote, et la passerelle et
le serveur d’authentification de l’autre, il faut etre en mesure de maıtriser les deux parties, alors
que jusqu’ici, nous nous sommes uniquement interesses au cote public entre le client et la passerelle.
La transmission des informations relatives a l’authentification des utilisateurs doit se faire de
maniere securisee entre le client et la passerelle, mais egalement entre la passerelle et le
serveur qui authentifie !
L’echange de mots de passe ne se fait pas en clair entre le client et la passerelle IPSec, et
lorsque l’echange se fait de maniere chiffree, le recepteur est prealablement authentifie, en utilisant
2le draft preconise sa suppression
- 36 -
![Page 37: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/37.jpg)
CHAPITRE II. EXTENSIONS IPSEC ET PROBLEMATIQUES DE SECURITE
un Mode Hybrid par exemple, qui est developpe a la section II.2.
D’autre part, le transit d’informations entre le serveur qui authentifie et la passerelle IPSec
est egalement sensible, y compris sur un reseau local interne. Si les equipements d’authentification
sont physiquement isoles du reseau interne et directement relies a la passerelle, les mots de passe
(ou des empreintes de mots de passe, etc) ne circulent pas exactement de la meme maniere que si
les serveurs sont branches sur un HUB relie a plusieurs centaines de stations de travail, ou tout le
monde possede un acces potentiel aux donnees en les sniffant sur le reseau.
II.1.4 XAuth et le Group Password
La negociation d’une phase 1 en Aggressive Mode Pre-Shared-Key presente un faible niveau de
securite, meme lorsqu’un XAuth s’en suit.
Lorsque qu’une seule Pre-Shared-Key est utilise afin d’authentifier plusieurs utilisateurs ( !)
(methode connue egalement comme Goup Password, un mot de passe de "groupe"), il n’est plus
possible de garantir la securite des identifiants des utilisateurs legitimes s’y connectant, en partic-
ulier les road warriors, bien que ce type d’authentification soit la methode par defaut de quelques
clients VPN/IPSec.
La strategie adoptee par NETASQ a ete de ne pas proposer ce type d’authentification : les clients
mobiles auront un certificat X509 ou une cle RSA.
Pourquoi ce type d’authentification est-il si peu sur ?
Comme nous l’avons vu, lors de la negociation d’une phase 1 en Main Mode, les differents
idientifiants sont proteges (Identity Protection Mode), qu’il s’agisse d’une authentification par
Pre Shared Key ou par certificats X.509. Puisque l’empreinte d’authentification est chiffree, sa
provenance est determinee uniquement par l’IP de l’emetteur. Or, les road warrios n’ont, par
definition, pas d’adresse IP fixe.
En Aggressive Mode combine avec une authentification en Pre-Shared-Key, meme lorsque la
cle est uniquement partagee deux entites, rien n’empeche un potentiel attaquant ecoutant le trafic
reseau d’intercepter l’empreinte et d’en deduire la cle si jamais celle ci se revelait faible.
Une authentification en Pre-Shared-Key en Aggressive Mode, lorsqu’elle est destinee aux
road warriors, est encore plus vulnerable puisque la passerelle IPSec et l’ensemble des road war-
riors possedent la meme Pre-Shared-Key ! Lorsque la negociation se met en place, la passerelle
sait, dans le meilleur des cas, qu’elle parle a l’un des road warriors, elle n’a aucun moyen de savoir
precisement lequel. Certes, XAuth intervient apres l’etablissement de la phase 1, pour authentifier
le client.
Comme nous l’avons vu precedemment, l’authentification du client, meme si elle se pas fait au
niveau de XAuth, repose sur la robustesse de la ISAKMP-SA associee. Si celle ci a ete etablie sur
la base d’une Pre-Shared-Key, une authentification supplementaire grace au XAuth n’y apporte
- 37 -
![Page 38: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/38.jpg)
II.2. HYBRID-AUTH
pas un niveau de securite supplementaire puisque le niveau de securite de l’ensemble d’une chaıne
equivaut a celui de son maillon le plus faible !
Il serait, dans ce cas, envisageable d’attribuer une cle dediee a chaque utilisateur. Cette ap-
proche possede un inconvenient majeur : il n’est pas possible, a la reception du paquet, de savoir
quelle cle utiliser pour valider l’empreinte, puisqu’aucun nom d’utilisateur n’est transmis et que
l’adresse IP du client est dynamique. Pour utiliser l’authentification en cle pre-partagee, il devient
alors impossible de ne pas utiliser une cle de groupe.
D’autre part, on peut egalement envisager que le client soit legitime et qu’il negocie avec une
passerelle frauduleuse. Un road warrior n’a aucun moyen de savoir qu’il dialogue bien avec la
passerelle : un potentiel attaquant pourrait deja posseder la cle, et il pourrait a son tour negocier
avec la vraie passerelle, et ainsi, ecouter, intercepter, modifier, etc l’ensemble du traffic...Combine
avec Mode Config, ceci peut permettre a un attaquant de connaıtre l’ensemble de l’architecture
reseau interne, d’usurper des donnees, etc. La solution serait donc de transmettre un username lors
de la negociation...et ceci peut se faire en utilisant des certificats. Si le client en arrive a etre vic-
time d’une telle attaque MITM pendant un XAuth, celui ci dispose alors, non seulement d’un moyen
d’ecouter le traffic, mais egalement de pouvoir negocier autant de sessions IKE qu’il le desire, et
pour peu que le mot de passe de l’utilisateur soit le meme a differents endroits, l’attaquant peut
lire les mails de l’utilisateur, s’authentifier aupres de differents serveurs internes, acceder a des
informations confidentielles sur diverses base de donees, etc.
Lors d’une negociation de phase 1, on authentifie alors la passerelle dans un premier temps : le
client doit etre certain qu’il dialogue bien avec la passerelle legitime.
II.2 Hybrid-AuthHybrid Auth est une autre extension IKE decrite dans le draft-zegman-ike-hybrid-auth-01..
Elle permet de realiser une authentification asymetrique entre les differentes entites.
II.2.1 Presentation generale
Les methodes (( classiques ))d’authentification IKE reposent sur le fait que celle-ci soit mutuelle,
chacune des entites s’authentifie vis a vis de l’autre en utilisant la meme methode d’authentification.
L’authentification en Hybrid Auth fournit une asymetrie dans la maniere dont la passerelle
et le client s’authentifient : la passerelle utilise des methodes de cryptographie asymetrique (cles
publiques, cles privees) alors que le client (typiquement un road warrior) va utiliser une authentifi-
cation de type Challenge/Reponse. Il est tout a fait possible de faire l’inverse egalement. Ainsi,a
la fin d’une negociation aboutie de phase 1 utilisant le Mode Hybrid, la passerelle s’est unidirec-
tionnelement authentifiee aupres du client. Il n’en est rien quant a l’authentification du client.
Pour completer l’authentification, XAuth (cf. II.1) pourra etre utilise.
Apres un echange Hybrid Auth, on se retrouve donc dans la situation suivante :
– Le client mobile sait a present qu’il dialogue bien a la bonne passerelle.
- 38 -
![Page 39: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/39.jpg)
CHAPITRE II. EXTENSIONS IPSEC ET PROBLEMATIQUES DE SECURITE
– Les echanges entre le client et la passerelle sont securises sur la base de la ISAKMP-SA
etablie.
– La passerelle ne connait pas encore l’identite du client mobile. Une authentification du client
est necessaire.
II.2.2 Fonctionnement
Le Mode Hybrid intervient lors des echanges de negociation de phase 1 : une methode d’au-
thentification Hybrid est proposee dans les attributs de la ISAKMP-SA. Les valeurs peuvent etre
les suivantes :
– HybridInitRSA
– HybridInitDSA
– HybridRespRSA
– HybridRespDSA
Lorsqu’un client initie la negociation, il choisit les attributs HybridInit* tandis que lors de
l’initiation par la passerelle, il s’agit de HybridResp*.
Ainsi, lorsque la negociation se fait en Main Mode initie par le client, le paquet 6 de la negociation
envoye par la passerelle est de la forme :
HDR*, IDir, [ CERT, ] SIG_R
ou [ CERT, ] SIG_R permettent d’authentifier celle-ci.
En Aggressive Mode initie par la passerelle, le paquet 3 envoye par la passerelle sera de la
forme :
HDR, [ CERT, ] SIG_I
II.2.3 Authentification forte et complete
Hybrid Mode authentifie la passerelle aupres du client. Pour que le client le soit egalement, on
peut forcer l’utilisation de XAuth juste apres l’etablissement de la ISAKMP-SA. C’est d’ailleurs ce
que preconise le draft, et c’est la maniere avec laquelle NETASQ authentifiera les road warriors.
Ainsi, l’utilisation du mode Hybrid est suivi, dans tous les cas, par un echange XAuth.
Aucune information complementaire, y compris en Mode Config ne doit etre envoyee et/ou ac-
ceptee. Lorsque XAuth est termine et valide, les deux entites se sont authentifies mutuellement.
Peuvent alors commencer des echanges en Mode Config, ou des negociations de phase 2, etc.
Que l’echange XAuth soit precede d’un echange Hybrid Auth ou pas, en cas d’echec d’authentifi-
cation a l’issue du XAuth, la ISAKMP-SA fraıchement etablie est supprimee.
Une fois que les hotes sont authentifies, dans le cas d’un road warrior, a moins qu’il n’ait
embarque l’ensemble des parametres reseaux statiquement sur la machine, il faut les lui transmettre
a present. Le Mode Configuration se charge de cette tache.
- 39 -
![Page 40: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/40.jpg)
II.3. MODE CONFIGURATION
II.3 Mode Configuration
II.3.1 Presentation Generale
L’extension Mode Config est decrite dans le draft-dukes-ike-mode-cgf-02.. Elle permet
de transmettre a une machine hote distante, typiquement un road warrior, certains parametres
reseaux, notamment ses extremites distantes de trafic. Ces parametres sont transmis de telle sorte
que le client distant se comporte comme s’il etait sur un LAN du reseau interne, a ceci pres que la
connexion se fera par un tunnel IPSec.
Cette transmission est protegee par la ISAKMP-SA, et intervient par consequent apres la negociation
aboutie d’une Phase 1, et imperativment avant toute tentative de negociation de Phase 2 puisque
celle ci necessite l’ensemble des parametres transmit lors du Mode Config.
Lorsque que le Mode Config est utilise seul, c’est a dire sans XAuth ou Hybrid Auth, les
negociations sont de la forme :
– (*) Phase 1 Main Mode ou Phase 1 Aggressive Mode
– (**) Mode Config - Transaction Exchanges
– (***) Phase 2 - Quick Mode
pour la negociation initiale, et :
– (*) Mode Config - Transaction Exchanges
– (**) Phase 2 - Quick Mode
pour les renouvellements de IPSec-SAs.
II.3.2 Fonctionnement
Les attributs disponibles peuvent etre de nature diverse : il peut s’agir de transmettre toute une
configuration reseau a un road warrior comme une adresse locale, un masque de sous reseau, un
serveur DNS/WINS, etc ; ou il peut juste s’agir de transmettre l’adresse d’un serveur DNS interne
pour qu’il puissse resoudre les noms internes.
Types de messages disponibles :
– ISAKMP CFG REQUEST
– ISAKMP CFG REPLY
– ISAKMP CFG SET
- 40 -
![Page 41: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/41.jpg)
CHAPITRE II. EXTENSIONS IPSEC ET PROBLEMATIQUES DE SECURITE
– ISAKMP CFG ACK
Les paquets Transaction Exchanges sont bases sur un echange mutuel initie soit par la
passerelle soit par le road warrior.
Dans le cas ou la passerelle souhaite transmettre les parametres de son propre chef, il s’agit d’un
couple d’echange SET - ACK dans lequel la passerelle propose un certain nombre de parametres
(DNS, WINS, etc) et ou le client envoie juste un accuse de reception.
Dans le cas ou le client demande ces informations a la passerelle, il s’agit d’un couple REQUEST - REPLY
ou le client demande une configuration reseau formee de certains attributs et ou la passerelle repond
avec les memes attributs correctement definis, suivant sa configuration.
Il existe deja quelques implementations permettant aux clients mobiles de se connecter sur les
passerelles IPSec en ayant leur configuration reseau statique embarquee sur leur machine. Pour
des raisons de compatibilites, il est necessaire que l’ajout d’une implementation Mode Config soit
interoperable avec les implementations actuelles : un client mobile supportant le Mode Config est
cense pouvoir se connecter meme s’il refuse les parametres qui lui ont ete transmis en Mode Config
qu’il negocie avec des parametres statiques, sous reserve que ceux ci soient valides.
II.3.3 Parametres disponibles
Le demon racoon du projet ipsec-tools propose un ensemble de parametres pouvant etre
transmis en Mode Config, en etant le plus conforme possible vis a vis du draft.
Authentification : lors d’un echange XAuth, permet de definir l’equipement d’authentification a
utiliser : PAM, Kerberos, Radius...
Adresse IP : transmission d’une adresse IP locale (RFC 1918) au client mobile sur son interface
IPSec.
Masque de sous reseau : transmission du masque.
DNS, WINS : transmission d’adresse ou liste d’adresse de serveurs DNS/WINS.
Banniere : banniere personalisee lors de la connexion du client mobile.
II.3.4 Pool et penurie d’adresses IP
En Mode Config, le client peut se voir attribuer notamment une adresse IP locale. Cette attri-
bution peut etre geree directement dans les fichiers de configuration de racoon ou alors a un niveau
superieur dans les fiches des utilisateurs d’une base LDAP, par exemple. Il serait ainsi possible d’im-
poser une adresse IP locale a un utilisateur, pour qu’il ne puisse par exemple pas negocier une autre
adresse IP que celle qu’on lui a attribue lors d’une phase 2. Dans le cas ou la gestion des IPs est
faite par LDAP, il faut au prealable s’assurer qu’il n’y ait pas de collisions lors de l’attribution : une
IP attribuee a un client est peut etre deja utilisee, ou plusieurs pools d’IPs se chevauchent peut etre.
D’autre part, lorsqu’un pool d’adresses IP a ete defini, lorsque l’ensemble des adresses ont ete
attribuees a des road warriors, il faudrait pouvoir remonter un message de maniere la plus stan-
dardisee possible a l’administrateur et au road warrior essayant de se connecter. Dans la version
- 41 -
![Page 42: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/42.jpg)
II.4. INTERACTIONS XAUTH, HYBRID ET MODE CONFIG
actuelle d’ipsec-tools (0.7.1), racoon ne peut encore le faire.
On peut egalement avoir le cas ou certaines adresses sont deja reservees, alors que les road warrios
correspondants ne sont pas en train de les utiliser. Il faudrait ainsi trouver le meilleur compromis
possible en terme de performances.
II.4 Interactions XAuth, Hybrid et Mode Config
Bien que les trois extensions soient independantes, dans le cadre d’une configuration robuste
il est preferable de verouiller certaines interactions quant a l’utilisation de l’une ou l’autre de ces
methodes.
– Mode Config : Independant, peut etre utilise avec/sans XAuth ou Hybrid mais
uniquement apres que le client se soit correctement authentifie, c’est a dire apres
une phase 1 “forte”, ou apres une phase 1 suivi d’un XAuth.
– XAuth : Independant
– Hybrid : le mode Hybrid devrait etre suivi d’un XAuth afin de completer l’authentification.
Ainsi, dans le cas ideal, l’etablissement d’un tunnel IPSec entre une passerelle et un road warrior
devrait se faire comme suit :
1. Initiation de la negociation de phase 1 par le client, authentification par Certificats ou par
Hybrid Mode.
2. Transaction Exchange XAUTH pour authentifier le client.
3. Transaction Exchange ModeConfig pour lui transmettre ses parametres reseaux.
4. Quick(s) Mode(s).
II.5 Faiblesses d’IPSec
Le doigt a deja ete mis sur quelques unes des faiblesses des protocoles IPSec, comme l’utilisation
de l’authentification en cle pre-partagee lorsque l’on negocie en aggressif, ou encore l’utilisation
de SAs statiques rendant les attaques par force brute plus probables. Il ne s’agit neanmoins pas des
seules. Le but n’etant pas de faire une liste exhaustive de l’ensemble des failles connues, quelques
pistes sont plus approfondies afin d’avoir les configurations les plus robustes et securisees possibles.
II.5.1 Failles cryptographiques intrinseques
La securite des protocoles IPSec est basee sur l’implementation des briques cryptographiques
sur lesquelles ils reposent d’une part, et sur les reseaux IP et leur fonctionnement d’autre part.
Lorsque les cles de sessions de renouvellement de Phase 2 sont par defaut derivees a partir
de donnees de Phase 1 par defaut. Elles ne sont donc pas independantes. Une attaque par force
brute aboutie sur une cle de session uniquement donnerait des informations non negligeables sur
la cle suivante, voire permettrait de la deduire. Le PFS - Perfect Forward Secrecy - permet
- 42 -
![Page 43: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/43.jpg)
CHAPITRE II. EXTENSIONS IPSEC ET PROBLEMATIQUES DE SECURITE
de remedier a ce probleme : les cles de sessions sont calculees uniquement sur la base d’un echange
Diffie-Hellman et non plus sur la base d’informations deja connues. Elles sont ainsi independantes
les unes des autres.
On peut egalement citer les attaques par bit flipping des protocoles de chiffrement en CBC -
Cypher Bloc Chaining. Il s’agit d’inverser des bits dans un paquet ESP sans avoir a le dechiffrer
puis le reemettre en esperant que cela genere une erreur ICMP qui, elle, sera envoyee en clair.
II.5.2 Problemes d’implementation
Qu’il s’agisse de configurations par defaut, de configurations trop complexes ou meme de failles
dans le traitement des paquets dans la pile IPSec, les problemes d’implementations existent et sont
corriges le plus rapidement possible.
Certaines implementations proposent des parametres, par defaut, faibles lors de la negociation
de Phase 1 et 2. Ces parametres, si ils sont combines consitiuent une faille non negligeable. La
verification de proposition par defaut de racoon est en mode strict. Or, pres de 9 configura-
tions sur 10 ont un mode de negociation en obey qui accepte la premiere proposition de l’hote.
Les deux hotes se retrouveront alors a chiffrer en DES alors que tout deux supportent AES. De
plus, parmi les algorithmes de chiffrement par defaut, on retrouve toujours DES qui s’est pourtant
essoufle depuis les annees 2000. Le PFS desactive par defaut ne viendra que renforcer l’insecurite
de l’ensemble.
Certains bugs d’implementation permettent egalement a certains paquets qui ne sont pas censes
emprunter le tunnel d’etre tout de meme chiffre en passant a travers les politiques de securite. L’in-
verse est plus dangeureux, lorsqu’un paquet cense etre chiffre sort en clair sur le reseau.
On peut egalement citer tous les problemes lies a la validation des certificats, aux CRLs non
mises a jour, ou meme a l’absence de confrontation d’un certificat a une CRL. Un utilisateur
revoque, ayant un certificat qui n’est plus valide, pourra tout de meme monter un tunnel IPSec
vers sa passerelle.
II.5.3 Deploiements reels
L’ensemble des faiblesses citees plus haut provoquent egalement des configurations bancales
lors de leur deploiement effectif.
Certaines configurations ne correspondent pas du tout aux attentes de securite des adminis-
trateurs, du le plus souvent a une mauvaise comprehension des protocoles. A titre d’exemple, le
mot cle require dans racoon est utilise dans l’injection de politiques de securite par setkey.
Lorsque l’on desire etablir plusieurs Phase 2 avec un meme correspondant, require ne permet
pas de distinguer une SA specifique avec laquelle il faudrait chiffrer tel ou tel trafic. Il en resulte
que n’importe quel SA peut etre utilisee pour chiffrer n’importe quel type de trafic avec cet hote
donne : il n’est pas du tout garanti que le trafic que l’on desirait proteger de telle maniere le sera
- 43 -
![Page 44: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/44.jpg)
II.5. FAIBLESSES D’IPSEC
effectivement ! Dans le pire des cas, on peut en arriver a chiffrer les donnees les plus importantes
avec les configurations les plus faibles !
D’autre part, nombre d’administrateurs sont persuades que les politiques de filtrage ne sont
pas necessaires lors de la mise en place de tunnels IPSec. Les flux passant a travers ces tunnels ne
sont donc pas surveilles. Une politique de filtrage est absolument necessaire a la sortie du tunnel
IPSec lorsque le paquet est dechiffre et qu’il passe dans le reseau local (( classique )).
Enfin, on peut rajouter la mauvaise protection des secrets ou des certificats. Lorsque les cle-
partagee sont faibles ou connues par beaucoup trop de personnes, on ne peut garantir une authen-
tification forte. Il en est de meme pour les certificats, ou les CRLs ne sont pas mises a jour assez
regulierement...
- 44 -
![Page 45: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/45.jpg)
CHAPITRE III
Les UTMs NETASQ
Live as if you were to die tomorrow.
Learn as if you were to live forever.
— Mahatma Gandhi
Resume :
NETASQ developpe aujourd’hui une gamme complete de solutions firewalls, VPNs et
AntiSpam pour des entreprises de toute taille.
on presentera ici une description avancee des fonctionalites des firewalls NETASQ.
- Une presentation complete de l’ancienne et de la nouvelle gamme des UTMs.
- L’ASQTM : Active Security Qualification, technologie proprietaire de prevention
d’intrusion analysant le traffic sur l’ensemble des couches reseaux. L’ASQ equipe l’ensemble
de la gamme des solutions.
- L’administration des firewalls : la suite logicielle graphique dont le Manager et le
Monitor permettant de suivre l’ensemble de l’activite reseau et de prendre les mesures
necessaires en cas de problemes.
- Les fonctionalites avancees des firewalls, comme la HA, le portail d’authentification
ou encore le mode hybrid1 des interfaces reseaux ; afin de securiser des architectures reseaux
complexes et eclatees sur plusieurs sites geographiques.
L’interaction entre les differents modules, en particulier avec le module IPSec facilite la
prise en main, et ainsi l’integration du Mode Config.
![Page 46: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/46.jpg)
III.1. PRESENTATION DES UTMS
III.1 Presentation des UTMs
III.1.1 Qu’est ce que l’UTM?
Les solutions de securite NETASQ sont toutes basees sur le concept d’UTM - Unified Threat
Managment. On ne parle alors plus tellement de firewall, ou d’IPS (Intrusion Prevention System)
ou encore d’IDS (Intrusion Detection System).
Les UTMs integrent, en standard, l’ensemble des fonctionalites de securite essentielles repondant
aux besoins de des differentes entreprises. L’avantage sur des architectures de securite basees sur
des produits multiples est triple :
Le prix des infrastructures : Lorsque l’on s’oriente vers de multiples produits, l’addition aug-
mente assez rapidement, non seulement en termes de produits en eux memes, mais egalement
en termes de maintenance et demises a jour. Ainsi, une solution UTM sera moins chere
qu’un ensemble de solutions de Firewall, d’Antivirus, d’Antispyware, de Detection d’Intru-
sion, d’Antispam, etc.
L’administration et la maintenance : Il est toujours plus simple et efficace d’administrer une
seule solution UTM plutot que de gerer un ensemble de produits. Cela evite d’avoir recours
a des methodes d’installation et de deploiement multiples, des supervisions multiples et une
plus grande difficulte a securiser l’ensemble de l’infrastructure reseau. Il en resulte parfois
des possibilites de trous de securite multiples.
L’attente du marche : Ainsi, lorsqu’une entreprise securise son informatique interne, elle s’at-
tend a ce que les produits soient unifies, que les formations soient courtes, l’installation rapide
et surtout un verrouillage de la securite qui soit central.
Ainsi, les UTMs NETASQ embarquent dans toute leur gamme l’ensemble des modules disponibles :
IPS en temps reel : Il s’agit de l’ASQTMpresente a la section III.2.2.
Firewall : Non seulement firewall reseau, mais egalement applicatif.
PKI : Il est possible de creer une CA et des Certificats pour l’ensemble des utilisateurs, le tout
embarque sur l’UTM.
Proxy et filtrage de contenu : Permettant une meilleure gestion des sites visites, en particulier
en verrouillant des navigateurs, comme Firefox uniquement.
VPN SSL et IPSec : Technologies de VPN tres repandue, SSL et surtout IPSec interconnectent
des sites geographiquement eloignes et permettent egalement aux clients nomales (des com-
merciaux terrains par exemple) d’acceder au reseau interne de l’entreprise.
- 46 -
![Page 47: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/47.jpg)
CHAPITRE III. LES UTMS NETASQ
III.1.2 La premiere generation des UTMs NETASQ : Les series F
Afin de repondre aux attentes des petites entreprises, des UTMs d’entree de gammes comme
le F25, F50 ou le F60 (cf. III.1). Ces modeles integrent un haut niveau de securite et peuvent
rapidement etre deploye sur les petites infrastructures sans en modifier l’architecture.
F25
5 ports Ethernet 10/100
2000 sessions simultanees.
F50
3 ports Ethernet 10/100
5000 sessions simultanees.
F60
7 ports Ethernet 10/100
5000 sessions simultanees.
Fig. III.1 – Gamme pour PME : F25, F50, F60
Ces modeles n’ont pas de disque dur integre, uniquement une memoire flash. Les logs sont alors
transferes sur un serveur externe, de meme pour le serveur LDAP qui doit etre externe.
La gamme superieure est la plus commercialisee et la plus repandue chez NETASQ. Elle corre-
spond aux moyennes entreprises, du F200 jusqu’au 1200 (cf. III.2). Les tests, le developpement,
l’integration et l’ensemble du stage a ete realisee sur un modele F200, modele NETASQ par excel-
lence. Cette gamme integre des disques durs avec l’ensemble des fonctionalites disponibles : PKI,
LDAP interne, presence des logs, partition de sauvegarde et restauration, etc.
Pour les tres grandes entreprises, deux produits NETASQ (cf. III.3) apportent des perfor-
mances Multi-Gigabits et un grand nombre d’interfaces, faisant alors une protection parfaite pour
des zones demilitarisees assez sensibles. Une securite optimale pour proteger entre autres les sieges
- 47 -
![Page 48: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/48.jpg)
III.1. PRESENTATION DES UTMS
F200
4 ports Ethernet 10/100
65000 sessions simultanees.
F500
4 ports Ethernet 10/100 et 2 ports Gigabits
200000 sessions simultanees.
F800
4-8 ports Ethernet 10/100/1000
400000 sessions simultanees.
F1200
10 ports Ethernet 10/100/1000
600000 sessions simultanees.
Fig. III.2 – Moyenne et Grosse gamme : F200 au F1200
- 48 -
![Page 49: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/49.jpg)
CHAPITRE III. LES UTMS NETASQ
sociaux.
F2500
6-24 ports Ethernet 10/100
800000 sessions simultanees.
F5500
24 ports Ethernet 10/100/1000
Disques durs ”Hot Swap en RAID”
1500000 sessions simultanees.
Fig. III.3 – Haute Gamme pour grands comptes : F2500 et F5500
Ces modeles arrivent aujourd’hui en fin de vie (cf. III.4) et ont recemment ete remplaces par
une nouvelle generation de tres hautes performances, et a la pointe de la technologie comme par
exemple la precense de port en fibre optique.
III.1.3 La nouvelle generation G2 : Les series U
L’ancienne generation des UTMs etait plus reference comme des firewalls d’ou le F. Afin de
rompre avec cette idee en mettant sur le marche une toute nouvelle generation d’UTMs, d’ou le U,
avec des performances inegalees jusqu’a aujourd’hui.
De l’U70 a l’U6000 (cf. III.5), de tres hautes performances (Interface Gigabits sur l’ensemble
de la gamme entre autres), une nouvelle version du firmware NETASQ (version 8.0, Codename DELOS)
devant etre presentee aux Assises de la Securite et des Systemes d’Informations qui se tiendra a
Monaco en octobre, cette nouvelle generation est largement en avance sur son temps.
- 49 -
![Page 50: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/50.jpg)
III.1. PRESENTATION DES UTMS
Fig. III.4 – Anciens UTMs G1
Fig. III.5 – Nouveaux UTMs G2 - www.netasq.com
- 50 -
![Page 51: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/51.jpg)
CHAPITRE III. LES UTMS NETASQ
III.2 L’ASQ - Active Security Qualification
III.2.1 Presentation
Le firewall classique bloquant les protocoles interdits par l’administrateur et filtrant le trafic
commence a etre depasse. Il s’agit aujourd’hui de pouvoir detecter et surtout de prevenir en temps
reel les comportements anormaux au sein meme du trafic autorise. A titre d’exemple, la majorite
des attaques se basent aujourd’hui sur des protocoles applicatifs comme HTTP ou FTP.
L’ASQ - Active Security Qualification est une technologie de prevention d’intrusion en
temps reel developpee par l’equipe R&D des 1998 et integree dans les appliances. Il fournit une
prevention d’intrusion basee sur le contexte en interceptant les paquets au niveau de la couche 2
OSI, en analysant le traffic de la couche 3 OSI jusqu’a la couche 7 OSI applicative et en appliquant
de multiples methodes pour identifier et bloquer tout trafic malveillant.
L’ASQ utilise des familles d’attaques lui garantissant une precision optimale afin de proteger
le reseau contre les menaces tout en conservant des hautes performances et des gros debits. Les
firewalls realisent ainsi un traitement preventif en temps reel, tant au niveau de la couche reseau
qu’applicative, sans diminuer les performances du systeme.
III.2.2 ASQ : Pile OSI Virtuelle
Lorsque l’ASQ recoit un paquet a analyser, il n’effectue aucune decapsulation a proprement
parler, on ne remonte pas la pile IP. Il effectue toutes ses analyses de securite au niveau noyau
sur un paquet mis en tampon (cf. III.6). Cele permet notamment d’accroıtre considerablement les
performances et les debits.
Ainsi, lorsque l’ensemble des analyses de securite sont realisees, le paquet est transmis a l’inter-
face sortante. Le contexte du paquet est garde en memoire pour le traitement du paquet suivant. Le
paquet suivant sera alors analyse suivant le contexte sauvegarde. De fait, toute donnee malformee
ou malicieuse sera detruite.
III.2.3 Analyses de l’ASQ
Beaucoup plus loin que les simples classement depasses analyse niveau reseau et analyse niveau applicatif,
l’ASQ protege les flux suivant trois grandes categories d’analyse.
L’ASQ est lie au filtrage et a ce titre effectue toute une serie d’analyses (cf. III.7) de la couche
3 jusqu’a la couche 7 avant de delivrer le paquet a l’application en attente ou de l’envoyer sur le
reseau.
- 51 -
![Page 52: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/52.jpg)
III.2. L’ASQ - ACTIVE SECURITY QUALIFICATION
Fig. III.6 – ASQ : Pile OSI virtuelle en 7 couches
Fig. III.7 – Differentes etapes d’analyses de l’ASQ
- 52 -
![Page 53: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/53.jpg)
CHAPITRE III. LES UTMS NETASQ
L’analyse Protocolaire
Il s’agit, comme son nom l’indique, d’une analyse des paquets par protocole. Les flux sont
analyses suivant leur protocole et tout trafic malforme, non conforme au protocole associe (reseau
ou applicatif) est supprime.
L’analyse protocolaire verifie ainsi la conformite par rapport aux differentes RFCs (Ethernet, IP,
TCP, UDP) des protocoles reseaux et transports.
D’autre part, une verification est faite par rapport aux RFCs des protocoles applicatifs comme
HTTP, SMTP ou encore FTP grave aux plugins applicatifs developpes dans la section suivante.
Ainsi, sont notamment evitees l’ensemble des attaques basees sur des options des protocoles mal
positionnes.
Afin de prevenir l’administrateur, le firewall peut lever une alarme, et il en existe aujourd’hui pres
de 120 classes reparties sur pres de 11 categories.
L’analyse des fragments
La seconde type d’analyse effectuee par l’ASQ evite les attaques basees sur l’exploitation du
sequencement des fragments.
Les verifications ne sont plus effectuees sur le paquet isole en lui meme mais sur le datagramme
dans son environnement : la coherence entre les donnees des differents paquets qui precedent et/ou
qui suivent est validee.
On confirme alors qu’aucun fragment ne se chevauche avec un autre, que le paquet initial est
bien reconstitue, qu’il n’y a pas de debordement de taille, etc. Les fragments sont memorises dans
un buffer et le paquet est renvoye uniquement s’il est reconstitue sans erreur.
L’analyse Globale
L’analyse Globale s’interesse au contexte des connexions. Pour chaque connexion acceptee, ses
differents elements caracteristiques comme les adresses IPs de source et de destination, le contexte
TCP, etc sont memorises. Il s’agit de la technologie (( Stafeull Inspection ))permettant d’analyser
les flux suivant leur contexte de connexion.
D’autre part, dans l’ASQ, la sauvegarde des etats de connexion est persistante au reboot, et
les connexions semi-ouvertes sont egalement reprises. Les numero de sequence TCP sont modifies
avec un aleat fort et le SACK (Selective Acknowledgment Option)2 est active. La persistance des
connexions au reboot permet notamment d’eviter l’ensemble des attaques DoS qui redemarrent
le firewall apres un debordement de pile reseau, et qui esperent pouvoir voler des sessions TCP a
l’aide des numeros de sequence des retablissements de toutes les connexions coupees.
2Le SACK permet de renvoyer un paquet particuler sans renvoye tous les paquets suivant le dernier ACK recu.
- 53 -
![Page 54: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/54.jpg)
III.2. L’ASQ - ACTIVE SECURITY QUALIFICATION
ASQ Dynamic Filtering
Le filtrage NETASQ est de type (( Statefull Inspection )). Le Statefull, contrairement au
Stateless, sauvegarde l’ensemble du contexte des differentes connexions etablies et autorise au-
tomatiquement le flux entrant en relation avec un contexte d’une connexion deja etablie. L’interet
est alors de verifier le trafic au niveau contexte de connexione et non plus au niveau paquet
uniquement. Le contenu des paquets est egalement analyse a la volee sans decapsulation et sans
interruption de liaison, ce qui assure de meilleures performances.
NETASQ a egalement developpe un optimiseur d’evaluation de regles de filtrage : SKIP. SKIP
permet de regrouper un ensemble de regles ayant un ou plusieurs criteres en commun. Ainsi lors
de l’application de regles de filtrage sur un flux, l’ensemble des regles ayant un critere eliminatoire
en commun sont sautees et ne sont pas evaluees puisqu’elles retourneront forcement une reponse
negative (cf. III.8). Les performances en sont alors meilleures.
Num Action Protocole Iface Sce Destination Port
. . .
4 Pass TCP IN LAN3 Srv-ftp 21
5 Block ICMP OUT Any LAN2
6 Pass TCP OUT Any Srv-web 80
7 Block TCP OUT LAN1 Srv-smtp 25
8 Pass UDP IN LAN2 Srv-dns 53
. . .
Fig. III.8 – Haute Gamme pour grands comptes : F2500 et F5500
On peut voir dans le tableau des regles de filtrage qu’un paquet qui provient du reseau interne
a destination de l’Internet sautera les regles 5, 6 et 7.
L’analyse Applicative
L’analyse applicative est basee sur une architecture a plugin, permettant de l’activer ou de la
desactiver. Un plugin va s’attacher a un certain type de protocole et de services afin de verifier la
conformite des protocoles applicatifs par rapport aux normes et differentes RFCs, et d’en prevenir
les utilisations frauduleuses connues. En outre est effectuee une verification de coherence entre les
donnees transportees par le paquet et les en-tetes de celui-ci. Cela permet d’identifier des attaques
propres a chaque type de protocole applicatif.
On peut remarquer que ce systeme d’analyse pourra bloquer les attaques basees sur des signa-
tures qui ont ete intentionnellement modifiees afin de tromper les IDS classiques.
Tous ces types d’analyses font de l’ASQ un puissant analyseur temps reel de trafic, et n’en
affectant pourtant pas les performances globales.
- 54 -
![Page 55: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/55.jpg)
CHAPITRE III. LES UTMS NETASQ
III.3 Fonctionalites Avancees
En plus de l’ASQ, coeur du firmware NETASQ, les appliances disposent de fonctionalites de
plus en plus riches comparees aux pare-feux traditionnels.
III.3.1 Authentification et PKI
A partir des modeles F200 (gamme G1), les appliances disposent toutes d’un disque dur et
peuvent alors embarquer des annuaires utilisateurs et une mecanique complete d’etablissement de
PKI. Il est toujours possible d’authentifier sur une base externe lorsque les modeles n’integrent pas
de disque dur.
Plusieurs methodes d’authentification sont alors disponibles :
None : les utilisateurs ne s’authentifient pas.
LDAP : les utilisateurs s’authentifient a l’aide de leur mot de passe, dont une empreinte est
stockee dans un champ approprie de leur fiche LDAP. L’authentification peut se faire sur
une interface web en HTTPS ou HTTP.
SSL : les utilisateurs s’authentifient en presentant au firewall un certificat valide.
SRP : cette methode permet de ne transmettre ni le mot de passe, ni l’empreinte du mot de passe a
travers le reseau. Il s’agit d’une authentification a base de challenge-response (Diffie-Hellman
en particulier).
SRP-LDAP : Methode d’authentification developpee par NETASQ. Le mot de passe LDAP de
l’utilisateur est utilise pour generer une cle jetable SRP et permettre l’authentification en
SRP.
Kerberos : les utilisateurs s’authentifient via un serveur Kerberos (AS et TGS).
RADIUS : les utilisateurs s’authentifient au moyen d’un serveur RADIUS externe. Les mecanismes
de transmission de l’empreinte du mot de passe sont les meme que pour l’authentification
via LDAP.
NTLM : les utilisateurs s’authentifient via un serveur NTLM, execuant Windows NT 4.0 ou une
version precedente.
Parmi ce large eventail de methodes disponibles, les plus utilisees par les clients sont l’authen-
tification par certificats et par LDAP, SRP-LDAP.
Methode SRP
SRP - Secure Remote Password Protocol permet d’authentifier les utilisateurs sans divulguer
leur mot de passe, ni leur empreinte de mot de passe sur le reseau. L’idee de l’authentification en
SRP fut lancee sur USENET en 1996 pour la premiere fois. Deux cles de sessions sont echangees
durant la phase d’authentification, a l’aide d’un Diffie Hellman et de l’empreinte du mot de passe.
On verifie que les deux parties connaissent bien le mot de passe sans que celui ci ou son empreinte
- 55 -
![Page 56: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/56.jpg)
III.3. FONCTIONALITES AVANCEES
n’ait transite.
Ce protocole d’authentification est resistant face aux attaques d’ecoute de reseau comme aux
attaques par injection de trafic dans la sequence d’authentification. Il est ainsi robuste, y compris
lorsque l’entropie du mot de passe en lui meme est faible.
Kerberos et Radius
RADIUS - Remote Authentication Dial-In User Service est un protocole d’authentification
centralisee fonctionnant en mode client-serveur. On peut l’utiliser, dans le cadre d’IPSec en Mode
Config par exemple, pour authentifier les roads warriors se connectant a la passerelle IPSec. L’UTM
NETASQ peut alors se comporter comme un client RADIUS et envoyer des demandes d’authen-
tification au serveur. L’utilisateur sera identifie et authentifie sur le firewall uniquement s’il l’est
sur le RADIUS.
Kerberos a une vision differente de l’authentification. Plutot que de laisser les mots de passe
ou empreinte de mot de passe circuler sur les reseaux, entre les clients et les machines, il propose
un systeme de tickets permettant de s’authentifier sur n’importe quel service kerberise. Les ser-
vices ou applications authentifiant le feront sur la base du ticket et non plus du mot de passe de
l’utilisateur.
III.3.2 Traitement des paquets
A quel module et dans quel ordre sont exactement confrontes les paquets entrants/sortants
depuis les differentes interfaces reseaux ? Quels sont les priorites ? Pourquoi est ce qu’un meme
paquet peut passer plusieurs fois par l’ASQ ?
Une synoptique interne de traitement des paquets est presentee sur la figure III.9).
Un paquet entrant est, avant tout, confronte a la politique NAT du firewall avant d’etre trans-
mis a l’ASQ. Celui ci effectue toutes les analyses qu’il peut faire et passe la main au module IPSec
qui se charge de decapsuler les donnees. Ces donnees sont alors confontrees a l’ASQ (a la premiere
verification, l’ASQ peut juste verifier la validite du paquet en lui meme et non pas des donnees qu’il
contient puisque celles ci sont chiffrees), validees puis transmises sur l’interface ou aux applications
en attente.
En sortie, il s’agit du chemin inverse : les paquets sortant sont confrontes aux analyses ASQ,
aux regles de SPD afin de verifier s’il correspond a un tunnel IPSec ou pas, puis au NAT.
La table des translations est donc consultee pour chaque session. Concernant le routage des
paquets, il existe quatre types de routage :
Route Statique : Il s’agit des routes prioritaires sur toutes les autres.
- 56 -
![Page 57: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/57.jpg)
CHAPITRE III. LES UTMS NETASQ
Fig. III.9 – Synoptique des UTMs NETASQ
Routage par interface : Permet de faire du load balancing par exemple, lorsque l’on doit router
le trafic internet en fonction de la navigation et/ou des telechargements.
Table Load Balancing : Permet de gerer et maintenir les regles de routes par interfaces.
Routes par defaut : Routes consultees en dernier, lorsque toutes les autres n’ont pas matchees.
III.3.3 High Availability
La H.A - Hight Availability ou Haute Disponibilite permet de prevenir la defaillance
materielle sur les boitiers. La HA fonctionne en mode actif-passif : deux firewalls sont relies par
une liaison specifique avec les memes configurations, et un seul est actif a un instant donne.
Ils communiquemnt regulierement afin de verifier que tout se passe bien et lorsqu’une defaillance
survient, le firewall passif reprend la main automatiquement. Cela permet d’assurer la continuite
du service meme en cas de dysfonctionnement de l’un des deux firewalls.
La liaison de communication entre les deux firewalls fut une liaison serie autrefois. Ne pouvant
garantir des debits suffisants, il s’agit aujourd’hui d’une liaions Ethernet.
- 57 -
![Page 58: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/58.jpg)
III.4. MANAGMENT ET MONITORING
Fig. III.10 – High Availability
III.4 Managment et Monitoring
Les UTMs NETASQ sont fournis avec une suite d’administration graphique (cf. III.11) developpee
par l’equipe IHM. Cette suite est composee de trois logiciels graphiques permettant une configu-
ration fine et poussee des UTMs :
Manager : Constitue le logiciel d’administration principal. La communication entre le logiciel et
le firewall se fait sur le port TCP 1300 et est chiffree en AES 128 bits.
Monitor : Est un logiciel permettant de monitorer, de surveiller l’ensemble du trafic en temps reel.
Ce logiciel repertorie l’ensemble des logs et calcule un ensemble de statistiques configurables
par l’administrateur.
Reporter : Permet de collecter les logs des differents modules des UTMs.
En sortie d’usine, les UTMs ont tous l’adresse 10.0.0.254. La premiere connexion a l’appli-
ance (cf III.12) s’effectue obligatoirement par l’intermediaire du Manager et sur une interface dite
protegee, c’est a dire une interface qui acceptera des connexions provenant uniquement du sous
reseau auquel elle appartient.
Par defaut, le filtrage est le plus restrictif possible : le firewall rejette la totalite des flux qu’il
recoit, excepte le trafic sur le port TCP 1300.
- 58 -
![Page 59: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/59.jpg)
CHAPITRE III. LES UTMS NETASQ
Fig. III.11 – Suite d’administration des IPS-Firewalls NETASQ
Fig. III.12 – NETASQ Firewall Manager
- 59 -
![Page 60: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/60.jpg)
III.4. MANAGMENT ET MONITORING
D’autre part, le gestion des differents logs et traces d’activites sur les reseaux se fait par l’in-
termediaire du Monitor et du Reporter.
Le Monitor loggue l’ensemble du trafic, comme les indicateurs systemes et de securite (Debits par
interface, CPU, RAM, HA, etc) ; peut chiffrer les logs et les envoyer a un serveur syslog distant.
On peut ainsi suivre, en temps reel, l’ensemble des services et prendre les mesures qui necessaires
en cas de problemes :
– Un historique des actions d’administrations.
– Les utilisateurs authentifies
– Les evenements systemes
– L’activite des differents modules
– . . .
Ainsi, l’administrateur, en cas de problemes sur le reseau, peut immediatement mettre tel ou
telle partie du reseau en quarantaine, ou encore supprimer un utilisateur authentifie ou encore se
faire notifier par une alarme lors d’une tentative d’intrusion detectee par l’ASQ.
La suite graphique a tres peu ete utilisee durant ces six mois de stages. L’ensemble de l’admin-
istration du firewall s’est faite par ssh et Port Serie, directement sur les fichiers de configurations
manipules par la suite graphique. Ces fichiers de configurations seront ceux qui sont manipules lors
de l’integration du Mode Config d’IPSec.
- 60 -
![Page 61: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/61.jpg)
CHAPITRE IV
Integration du Mode Config
An ounce of practice is worth more than tons of preaching.
— Mahatma Gandhi
Resume :
Ce dernier chapitre, apres avoir etudie en details IPSec et pris en main les UTMs de
maniere avancee, s’interesse a l’integration proprement dite du module Mode Configuration
d’IPSec dans les firewalls. Pour cela, de multiples etapes :
Il a fallu tout d’abord effectuer de tres nombreux tests avec racoon et setkey afin
de savoir exactement l’etat du Mode Config dans le projet ipsec-tools.
A partir de ce moment la, realiser un travail de conception qui ferait ressor-
tir la maniere dont serait integre cette extension dans le format du fichier de configura-
tion NETASQ existant deja. Le choix s’est finalement porte sur quatre nouveaux tokens :
cfg_src, cfg_dst, cfg_dns, cfg_wins.
Implementer cette extension dans le parseur NETASQ.
Tester l’ensemble, une fois l’implementation realisee, et verifier le bon comportement
lors de configurations bancales ou non-valides.
Tester ensuite le code afin d’en evaluer les performances, notamment a l’aide d’outils
comme Spirent.
Enfin, realiser un audit aupres de l’equipe de developpement de la suite graphique
afin d’integrer ces tokens de la maniere la plus ergonomique possible pour le client.
Parralellement, il a fallu realiser un audit du code du projet ipsec-tools afin de combler
les manques et d’apporter des ameliorations concernant le Mode Config, notamment au
niveau du nouveau token clientaddr.
![Page 62: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/62.jpg)
IV.1. TESTS ET AUDIT SUR IPSEC-TOOLS
IV.1 Tests et audit sur ipsec-tools
IV.1.1 Etat d’ipsec-tools
L’un des objectifs a atteindre dans le cahier des charges etait de dresser une evaluation de
racoon, demon de negociation IKE du projet KAME ipsec-tools, evaluation generale dans un
premier temps, puis sur l’aspect des differentes extensions , et enfin sur l’aspect Mode Config en
particulier.
L’evaluation generale consistait plus en une prise en main de racoon. Il fallait se familiariser
avec l’ensemble des options disponibles dans racoon, et connaıtre l’impact sur les differentes asso-
ciations de securite etablies.
L’aspect extensions IPSec - Mode Config - XAuth - Hybrid est venu renforcer le cote authen-
tification des correspondants lors de l’etablissement d’un tunnel IPSec. Il fallait, en effet, dans un
soucis de compatibilite future, etudier les trois extensions, meme si seule Mode Config etait ini-
tiallement destinee a etre integree dans le firmware NETASQ, dans le cadre du cahier des charges
du stage en tout cas.
Enfin, une evaluation assez poussee de tout l’aspect Mode Config. Une implementation du
Mode Config existait deja dans le projet ispec-tools. Toutefois, peu de personnes l’avait utilise
ou teste. L’objectif etait donc double : evaluer le Mode Config en effectuant une batterie de tests
pousses, verifier le comportement correct de racoon en cas de mauvaises configurations, et le cas
echeant corriger le code et/ou apporter des modifications afin d’en accroitre les performances.
L’ensemble des tests effectues en Mode Config ont ete concluants, il s’avere que l’implementation
du Mode Config existante etait stable et operationnelle dans un cadre de deploiement massif. Ainsi
a-t-on mis l’accent sur le fichier de configuration NETASQ afin de l’integrer aussi vite que possible.
IV.1.2 Configurations Racoon (( basique ))
Un fichier de configuration basique de racoon se presente de la maniere suivante :
remote 193.194.195.196
{
exchange_mode main;
doi ipsec_doi;
situation identity_only;
my_identifier asn1dn;
certificate_type x509 "my.cert.pem" "my.key.pem";
initial_contact on;
proposal_check strict; # obey, strict, or claim
- 62 -
![Page 63: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/63.jpg)
CHAPITRE IV. INTEGRATION DU MODE CONFIG
proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method rsasig;
dh_group 2;
}
}
sainfo address 203.178.141.209 any address 203.178.141.218 any
{
pfs_group 2;
lifetime time 30 sec;
encryption_algorithm des;
authentication_algorithm hmac_md5;
compression_algorithm deflate;
}
ISAKMP SA
La section remote IP ou remote anonymous nous renseigne sur l’adresse de l’hote distant. Il
peut s’agir d’une configuration anonyme egalement, lorsque l’adresse IP du correspondant est dy-
namique, typiquement dans le cas des road warriors.
L’ensemble des champs presents dans la section remote permettent de negocier la ISAKMP
SA, IKE-Phase 1. Ils definissent, entre autres, la duree de vie de la phase 1, les algorithmes de
chiffrement et d’authentification utilises et surtout la flexibilite de negociation a travers le champ
proposal check.
Ce champ est par defaut a strict. Tres nombreuses sont les configurations racoon ou l’on remar-
que ce champ positionne a obey. Il serait judicieux de n’utiliser le mode obey que pour realiser des
tests et passer a une plus grande robustesse ensuite en utilisant les mode strict, exact, claim.
Dans le mode strict, racoon accepte une negociation de Phase 1 uniquement si les propo-
sitions de chiffrement, d’authentification et de durees de vies sont au moins equivalentes a celles
presentes dans la configuration. Si elles sont d’un niveau de securite moindre ou de durees de vies
plus faibles, la negociation echoue. exact n’accepte que des propositions rigoureusement exactes,
claim essaie de negocier une proposition equivalente au moins en terme de durees de vies.
D’autre part, le champ exchange_mode definit le mode de negociation principal (Identity Pro-
tection Mode) ou aggressif. La plupart du temps, lorsque les IPs des deux correspondants sont
connues a l’avance, le mode utilise est main, comme nous l’avons decrit precedemment.
- 63 -
![Page 64: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/64.jpg)
IV.1. TESTS ET AUDIT SUR IPSEC-TOOLS
IPSEC SA
La section sainfo suivante permet de definir les parametres de negociations de la IPSEC-SA,
IKE-Phase 2. Il s’agit des parametres qui vont etre utilises pour chiffrer et/ou authentifier le trafic
utile. Cette section se presente de la maniere suivante :
sainfo src_ntwork/mask proto dst_ntwork/mask proto
{. . .}
On definit ainsi les sous-reseaux qui communiqueront de maniere chiffree a travers le tunnel.
En outre, les IPSec SAs sont renouvellees a 80% de leur duree de vie. Ainsi, il existe, dans le
noyau, un flag correspondant a la maturite des SAs :
Larval : La SA est referencee dans le noyau, en cours de negociation et non-utilisable a cet instant
donne.
Mature : La SA peut etre utilisee ou est en cours d’utilisation actuellement.
Dying : La SA a atteint ou est proche de 80% de sa duree de vie. Elle peut continuer a etre
utilisee, mais il faudra la renouveller sous peu.
Dead : La SA n’est plus valide, mais toujours referencee dans le noyau. Elle ne peut plus etre
utilisee.
Cette configuration est (( classique )) : les adresses IPs des correspondants sont connues, en
mode main avec une authentification en Certificats X509. C’est la configuration la plus largement
deployee aujourd’hui pour relier des sites distants.
IV.1.3 Injection de politiques de securite par setkey
setkey est un utilitaire userland developpe au sein du projet ipsec-tools permettant de ma-
nipuler et afficher la Security Policy Database - SPD et la Security Association Database - SAD.
setkey est appele lors que l’on souhaite injecter des politiques de securite dans la SPD :
flush;
spdflush;
spdadd 127.0.0.0/8 127.0.0.0/8 any -P in none;
spdadd 127.0.0.0/8 127.0.0.0/8 any -P out none;
#Police sortante
spdadd 10.0.11.0/24 any 10.0.11.33/32 any -P out ipsec
esp/tunnel/192.168.0.1-192.168.1.2/require ;
#Police Entrante
spdadd 10.0.11.33/32 any 10.0.11.0/24 any -P in ipsec
esp/tunnel/192.168.1.2-192.168.0.1/require ;
- 64 -
![Page 65: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/65.jpg)
CHAPITRE IV. INTEGRATION DU MODE CONFIG
Aucun trafic entrant ou sortant n’est chiffre sur la boucle locale.
Une politique de securite pour le trafic sortant est ajoute : l’ensemble du trafic provenant du reseau
10.0.11.0/24 a destination de 10.0.11.33 est du trafic IPSec, et sera chiffre suivant la SA cor-
respondante entre les extremites de tunnels que sont 192.168.0.1 et 192.168.1.2.
Une autre politique de securite pour le trafic entrant, qui represente le chemin inverse emprunte par
les paquets : il s’agit du trafic provenant de 10.0.11.33 a destination de 10.0.11.0/24, passant
a travers le meme tunnel IPSec.
On peut voir la table des politiques par setkey -DP :
127.0.0.0/8[any] 127.0.0.0/8[any] any
in none
spid=37 seq=3 pid=61636
refcnt=1
10.0.11.33[any] 10.0.11.0/24[any] any
in ipsec
esp/tunnel/192.168.1.2-192.168.0.1/require
spid=40 seq=2 pid=61636
refcnt=1
127.0.0.0/8[any] 127.0.0.0/8[any] any
out none
spid=38 seq=1 pid=61636
refcnt=1
10.0.11.0/24[any] 10.0.11.33[any] any
out ipsec
esp/tunnel/192.168.0.1-192.168.1.2/require
spid=39 seq=0 pid=61636
refcnt=1
Les extremites de tunnels correspondent aux extremites (192.168.0.1-192.168.1.2) entre lequel
le trafic sera effectivement securise (chiffre, authentifie) et les extremites de trafic, les extremites
communiquantes a travers ce tunnel (10.0.11.0/24-10.0.11.33). Un paquet en provenance, par
exemple, de 10.0.12.3 ne pourra pas emprunter le tunnel puisqu’il ne fait pas partie des extremites
de trafic.
Une fois la phase de tests ipsec-tools basique et une prise en main avancee de racoon realisees,
il a fallu passer a l’etape de verification des implementations des extensions XAuth et Mode Config
en particulier.
IV.1.4 Configuration en XAuth
Comme nous l’avons presente au chapitre consacre aux extensions IPSec decrites dans differents
drafts, XAuth utilise des paquets de type Transaction Exchange, paquet ISAKMP particuliers.
Les tests sur XAuth ont ete realisee, avec en mode serveur racoon et en mode client TheGreenBowTM.
TheGreenBow est un client VPN developpe par TheGreenBow Enterprise Security Solutions et
- 65 -
![Page 66: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/66.jpg)
IV.1. TESTS ET AUDIT SUR IPSEC-TOOLS
fournit par NETASQ, pour les plateformes Microsoft Windows.
En Mode XAuth ou en Mode Config, un ensemble de clients mobiles dont l’adresse IP n’est
pas connue a l’avance se connectent sur la passerelle, et doivent s’authentifier. En plus de l’au-
thentification normale realisee par racoon, XAuth realise une authentification complementaire de
l’utilisateur a proprement parler. On peut rappeller que, bien que l’authentification de l’utilisateur
se fasse au niveau de XAuth, les echanges sont proteges par la ISAKMP SA etablie au prealable.
Une ISAKMP SA faible ne protege pas d’une eventuelle attaque ou intrusion, meme si l’authen-
tification de l’utilisateur par XAuth est faite sur la base de methodes robustes.
La configuration de racoon en mode anonyme en plus du Mode Config est quelque peu differente
du cas (( classique )).
remote anonymous # On ne connait pas l’adresse du road warrior !!
{ . . .
generate policy on; # On ne connait pas les politiques de securite a l’avance
mode_cfg on; # On active les echanges Mode Config
. . .
}
mode_cfg
{
auth_source system ; # pam, radius...
auth_throttle 15 ; # Refuse la connexion de ce user pdt 15s en cas d’echec d’auth
. . .
}
sainfo ip_passerelle any anonymous
{
. . .
}
Les differents champs rajoutes permettent une configuration dynamique a la volee des SAD et
SPD :
anonymous : la section remote devient anonyme puisque l’on ignore les adresses IPs des clients
mobiles. Il faut donc que la section match toutes les adresses.
generate policy : genere et injecte dynamiquement les politiques de securite via PF_KEY et la
librairie IPSec. Puisque l’on ignore les IPs des mobiles, on ne peut etablir des politiques
de securite par avance. Elles doivent l’etre a la volee au moment de la connexion des road
warriors.
mode cfg on : permet d’activer les echanges Mode Configuration (paquets de type Transaction
Exchange) permettant de realiser une authentification en XAuth.
La section mode_cfg vient s’ajouter aux differentes sections remote et sainfo deja presentes.
Elle presente les parametres des paquets Mode Config echanges. Il se trouve que dans le cas present,
- 66 -
![Page 67: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/67.jpg)
CHAPITRE IV. INTEGRATION DU MODE CONFIG
nous utiliserons la section Mode Config uniquement pour authentifier l’utilisateur en XAuth. On sig-
nale donc a la passerelle que l’authentification se fera sur les comptes systeme, et qu’en cas d’echec
d’authentification d’un login particulier, celui ci ne pourra refaire une tentative avant quinze sec-
ondes.
Apres XAuth, il a fallu valider le Mode Configuration proprement dit, tel que decrit dans le
draft draft-dukes-ike-mode-cgf-02.
IV.1.5 Mode Config : racoon vs racoon
Principe
Lorsqu’un client mobile se presente a la passerelle IPSec pour y etablir une connexion, deux
choix s’offrent a lui :
– Il a embarque sur sa machine, au prealable, toute la configuration reseau necessaire a l’etablissement
de sa connexion IPSec. Il ne lui reste plus qu’a s’authentifier aupres de la passerelle pour
que celle ci puisse lui etablir son tunnel IPSec. Les informations embarquees sont, au mini-
mum, l’extremite distante de tunnel, les extremites distantes de trafic, les adresses d’eventuels
serveurs de noms, et les cles d’authentification.
Toutefois, maintenir plusieurs dizaines voire centaines de machines mobiles peut tres vite
devenir un casse-tete infernal pour l’administrateur, qui se voit attribuer un double travail :
garder tous ces mobiles a jour en fonction des changements effectues sur la passerelle IPSec et
sur les membres de l’entreprise en general (suppression de compte, revocation de certificats,
creation de compte, etc).
– L’idee serait donc de pouvoir envoyer toute la configuration reseau necessaire dynamiquement
au client mobile, une fois qu’il s’est correctement authentifie. Le Mode Configuration peut
servir, comme decrit au chapitre sur les extensions, a envoyer ces informations a la volee.
Test
racoon est utilise des deux cotes client et serveur dans un premier temps. Seules les sections
Mode Config sont modifiees, la section remote restant toujours anonyme du cote du serveur, et
ayant l’adresse de la passerelle du cote du client.
. . .
mode_cfg
{
network4 192.168.12.0 ;
netmask4 255.255.255.0 ;
split_network include 10.11.12.0/16 ;
dns4 172.16.4.27 ;
}
On specifie dans la section Mode Config l’ensemble des parametres a transmettre au client
mobile lors de sa connexion :
- 67 -
![Page 68: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/68.jpg)
IV.1. TESTS ET AUDIT SUR IPSEC-TOOLS
network4 : Il s’agit du reseau RFC1918 dans le lequel racoon va piocher une adresse IP (( locale ))a
transmettre a l’interface IPSec du client mobile, pour que celui-ci puisse pretendre etre sur le
LAN de l’entreprise. Les adresses sont attribuees dans l’ordre croissant aux differents clients,
sont recyclees, et en cas de penurie, les negociations echouent. Dans notre cas, le reseau est
192.168.1.0/24, 254 clients mobiles peuvent se connecter au maximum.
split network : Il s’agit de l’extremite de trafic locale a transmettre au client mobile. Il pourra
ainsi etablir des politiques de securite afin de communiquer en IPSec. Suivant ce champ,
generate_policy injecte les regles sur la passerelle.
dns4 : Adresse du serveur de nom a transmettre.
Du cote du client, en revanche, aucune section mode_cfg n’est necessaire. La recuperation des
informations de connexion se fait via deux scripts predefinis dans racoon :
remote ip_passerelle
{
. . .
script " /etc/racoon/phase1-up.sh" phase1_up;
script " /etc/racoon/phase1-down.sh" phase1_down;
. . .
}
Ces scripts sont disponibles dans le repertoire samples de toute installation de racoon. Ils se
chargent, entre autres, de recuperer l’adresse RFC1918 envoyee par le serveur, de l’attribuer a
l’interface IPSec et d’injecter les politiques de securite recues dans la SPD du client et de rajouter
les entrees dans les serveurs de noms deja disponibles.
IV.1.6 Mode Config : racoon vs quelques clients VPN
racoon en mode client n’etant pas vraiment realiste, au vue des configurations des clients de
NETASQ, sur des machines portables souvent sur des plateformes Windows, et cherchant le moins
de configuration possible, on s’est oriente vers des clients VPN deja disponibles : le client fourni
par Cisco Systems, le client VPN TheGreenBow et ShrewSoft, un client VPN sous licence GPL
developpe par un membre de la core team du projet ipsec-tools, Matthiew Grooms.
Cisco VPN Client
La configuration racoon est restee la meme du cote du serveur durant ces tests.
Le client VPN Cisco a ete teste sur une plateforme Windows 2000 SP4.
Les tests en XAuth ont ete concluants, bien que la gestion des certificats soit lourde et peu er-
gonomique.
Les tests en Mode Config n’ont pas ete totalement concluant :
Une session Mode Config seule n’aboutit pas, tandis qu’une session Mode Config suivie d’un XAuth
valide recupere correctement certains parametres, comme l’adresse IP RFC1918.
- 68 -
![Page 69: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/69.jpg)
CHAPITRE IV. INTEGRATION DU MODE CONFIG
Toutefois, il s’avere que ce client VPN a ete tres decevant au niveau de l’ensemble des propo-
sitions de Phase 1 qu’il envoie a la passerelle. En ayant ecoute le trafic reseau au moment de la
negociation, le client Cisco envoye toute une panoplie de propositions en esperant que l’une d’elle
sera retenue. Les passerelles IPSec pour les clients mobiles sont, en effet, le plus souvent configurees
en mode passif et se contentent de repondre aux propositions des clients.
L’inconvenient majeur du client Cisco est de ne pas tenir compte des reponses de la passerelle
configuree sous racoon, et d’envoyer encore plus de protocoles de chiffrement, de tailles de cles,
de protocoles d’authentification, de durees de vies differentes, etc. ce qui a tendance a saturer le
reseau assez rapidement, meme si la connexion aboutit in fine.
TheGreenBowTM
Les tests effectues sur les maquettes TheGreenBow ont ete concluant sur XAuth, mais mal-
heureusement tres decevant sur le Mode Config.
Bien qu’une fenetre entiere soit dediee au Mode Config, lors des ecoutes reseaux, il s’est avere
que le support n’est pas integre dans TheGreenBow puisqu’aucune demande (paquet ISAKMP-
REQUEST, ISAKMP-SET) ni reponse (paquet ISAKMP-REPLY, ISAKMP-ACK) n’est envoyee
ou recue par le client VPN.
Le service R&D a donc ete contacte afin de connaıtre les fonctionalites exactes quant au Mode
Config. Lors de la sortie de la version suivante, le Changelog annoncait une nouvelle fois le Mode-
Config, et les tests ont donc ete refaits plusieurs mois apres.
Ils ont neanmoins echoues egalement. Les requetes ne sont toujours pas transmises, aucun
paquet annoncant le support du Mode-Config n’est detecte lors de la negociation de Phase 1. The-
GreenBow ne supporterait vraisemblablement pas correctement l’extension Mode Config dans son
ensemble.
ShrewSoft
ShrewSoft est un client VPN/IPSec developpe recemment, sous licence GPL, dont la derniere
version 2.1.0 date du 19 juin 2008.
Le Mode Config a egalement ete teste avec Shrew et l’ensemble des tests effectues ont ete tout
a fait satisfaisants, avec une passerelle ou tourne racoon.
L’ensemble des champs disponibles dans le Mode Config de racoon sont correctement transmis a
Shrew qui configure correctement les politiques de securite et met en place le tunnel.
Qu’il s’agisse du Mode Config seul, ou du Mode Config suivi de XAuth, la configuration est
correctement transmises et l’ensemble des parametres correctement pris en compte.
- 69 -
![Page 70: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/70.jpg)
IV.1. TESTS ET AUDIT SUR IPSEC-TOOLS
Fig. IV.1 – ScreenShot ShrewSoft
On veillera toutefois a desactiver la fragmentation des paquets, fonctionalite encore en cours de
developpement.
IV.1.7 Bilan des tests
Prendre en main IPSec, a differents niveaux (noyau, interfacage PF KEY permettant la com-
munication entre le noyau et l’espace utilisateur, et les demons en espace utilisateur), m’a fallu
plusieurs semaines. Il a fallu etablir l’etat dans lequel etait les implementations des extensions dans
le projet ipsec-tools.
L’ensemble de ces tests, a commencer par le plus plausible, celui d’un racoon en mode serveur
et client, m’ont permis de valider les implementations. XAuth et Mode Config sont implementes
et operationnels dans ipsec-tools. Les tests ont ete fait sur des machines sous FreeBSD 7.0, et
beaucoup de configurations non-valides ont ete testees afin de bien valider la bonne remontee d’er-
reur. On peut citer le cas d’une demande de Mode Config alors qu’un XAuth est en cours ou n’a
pas abouti. La passerelle doit refuser toute tentative de Mode Config ou de negociation de Phase
2 tant que l’utilisateur n’est pas correctement authentifie.
A alors debute un travail conception afin de pouvoir integrer ce Mode Config dans le firmware
NETASQ.
- 70 -
![Page 71: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/71.jpg)
CHAPITRE IV. INTEGRATION DU MODE CONFIG
IV.2 Extension du format du fichier de configuration
IPSec
IV.2.1 Fichiers de configuration NETASQ et parseurs
Fichiers de configuration
Le module IPSec du firmware NETASQ est base sur la pile IPSec FastIPSec et sur le projet
ipsec-tools.
Toutefois, l’ensemble des modules du firmware NETASQ n’utilise pas directement les fichiers de
configuration des differents projets BSD. NETASQ a, en effet, fait le choix d’avoir ses propres
fichiers de configuration dans un soucis d’independance vis a vis, notamment, du systeme FreeBSD
et des projets BSD sous jacents.
Comment les fichiers NETASQ interagissent-ils avec ceux des modules du systeme ?
NETASQ definit dans un premier temps un format de fichier de configuration, en decrivant l’ensem-
ble des champs necessaires, l’ensemble des valeurs disponibles, les valeurs par defaut, etc. Dans
un second temps, ce fichier de configuration est parse a l’aide de multiples librairies de parsing
developpee par NETASQ. En sortie, on obtient alors un fichier de configuration au format du projet
sous jacent qui est utilise pour executer le module.
L’avantage qu’offre ce choix est de pouvoir garder la meme signature des fichiers de configu-
ration vis a vis du client final. Il arrive que NETASQ doive changer tel projet par tel autre, parce
que des ameliorations ont ete apportees, ou parce que le projet actuel n’est plus maintenu, etc.
Dans ce cas, NETASQ ne peut se permettre de changer de module et de laisser le client final se
debrouiller dans un nouvel environnement qu’il ne maıtrise pas forcement.
Ainsi, lorsque cela arrive, le fichier de configuration NETASQ reste le meme, seules sont modifiees
les librairies de parsing en arriere plan afin d’en sortir le fichier de configuration au format du
nouveau module fraıchement integre. Le client manipule ainsi le meme fichier de configuration.
Exemple
Le module NAT1 utilise est, a l’heure actuelle, le module FreeBSD ipnat.
Le fichier de configuration NETASQ du NAT se presente comme suit :
[Config]
KeepNAT=0
[NAT]
map bridge Network_inJup to any -> pessac port ephemeral_fw
rdr bridge merignac to pessac port ssh -> pessac_local port ssh
rdr bridge any to pessac port VNC_port -> pessac_local port VNC
rdr bridge any to pessac port vnc_java -> pessac_local port vnc_java
1NAT - Network Adress Translation
- 71 -
![Page 72: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/72.jpg)
IV.2. EXTENSION DU FORMAT DU FICHIER DE CONFIGURATION IPSEC
Il s’agit du fichier de configuration NAT que j’ai utilise sur mon reseau de travail durant les six
mois de stage.
Bien que la syntaxe du fichier NETASQ ressemble a celle d’ipnat, le parseur permet, a partir du
fichier de configuration NETASQ, d’obtenir le fichier de configuration au format ipnat :
map sis0 192.168.2.0/24 -> 10.2.29.2/32 portmap tcp/udp 20000:59999
map sis1 192.168.2.0/24 -> 10.2.29.2/32 portmap tcp/udp 20000:59999
map sis3 192.168.2.0/24 -> 10.2.29.2/32 portmap tcp/udp 20000:59999
map sis0 192.168.2.0/24 -> 10.2.29.2/32
map sis1 192.168.2.0/24 -> 10.2.29.2/32
map sis3 192.168.2.0/24 -> 10.2.29.2/32
rdr sis0 from 10.2.29.1/32 to 10.2.29.2/32 port = 22 -> 192.168.2.1 port 22 tcp
rdr sis1 from 10.2.29.1/32 to 10.2.29.2/32 port = 22 -> 192.168.2.1 port 22 tcp
rdr sis3 from 10.2.29.1/32 to 10.2.29.2/32 port = 22 -> 192.168.2.1 port 22 tcp
rdr sis0 from 0/0 to 10.2.29.2/32 port = 5900 -> 192.168.2.1 port 5099 tcp
rdr sis1 from 0/0 to 10.2.29.2/32 port = 5900 -> 192.168.2.1 port 5099 tcp
rdr sis3 from 0/0 to 10.2.29.2/32 port = 5900 -> 192.168.2.1 port 5099 tcp
rdr sis0 from 0/0 to 10.2.29.2/32 port = 5800 -> 192.168.2.1 port 5800 tcp
rdr sis1 from 0/0 to 10.2.29.2/32 port = 5800 -> 192.168.2.1 port 5800 tcp
rdr sis3 from 0/0 to 10.2.29.2/32 port = 5800 -> 192.168.2.1 port 5800 tcp
Il s’agit d’une configuration NAT basique permettant de translate un reseau, en locurrence
192.168.2.0/24, en une adresse IP, en locurrence 10.2.29.2 ; d’une redirection de port ssh,
TCP 22, et d’une redirection de port VNC, TCP 5800 et TCP 5900.
Lorsque dans le cahier des charges des versions futures du firmware, il ne sera plus question
d’utiliser ipnat, si cela arrive, le fichier NETASQ restera le meme. Seul changera la librairie de
parsing qui generera, cette fois ci, un fichier au format du nouveau module NAT.
Le fichier de configuration IPSec est base sur le meme principe, c’est ce fichier que nous nous
proposons d’etendre en vue de l’integration de l’extension Mode Config.
IV.2.2 Conception et extension du fichier
Conception
Apres ma prise en main des appliances NETASQ et le succes des nombreux tests realises avec
racoon, une nouvelle roadmap a ete etablie.
En fonction des demandes des clients, des champs Mode Config disponibles dans racoon, et du
delai imparti pour l’integration, il a finalement ete decide d’envoyer la configuration reseau suivante
aux clients mobiles :
– Une adresse IP de type RFC 1918 afin que l’interface IPSec du client mobile soit configuree
de telle maniere qu’elle croit etre sur le reseau interne, d’ou tout l’interet.
– Transmettre son extremite distante de trafic pour qu’il puisse negocier les IPSec SA sans
embarquer ces informations de maniere statique sur la machine.
- 72 -
![Page 73: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/73.jpg)
CHAPITRE IV. INTEGRATION DU MODE CONFIG
– Transmettre l’adresse d’un serveur DNS2.
– Transmettre l’adresse d’un serveur WINS3
Fichier VPN
Un fichier de configuration NETASQ IPSec se presente de la maniere suivante :
[Global]
Tunnels=Tunnel_1
[Tunnel_1_1_1]
Dh=2
Hash=1/160
Enc=11/256
[Tunnel_1_2_1]
Mode=ESP,TUNNEL
Auth=3/160
Enc=11/256
Dh=2
Lifetime=3600
Src=any
Dst=merignac
keepalive=60
[Tunnel_1]
Name=tunnel_2
Method=PSK
Mode=MAIN
Lifetime=3600
CheckMode=Exact
ResponderOnly=1
AdvancedMode=1
dpd_mode=passive
Src=fw_out
Peer=merignac
State=1
2DNS - Domain Name System permet la resolution des noms.3WINS - Windows Internet Naming Service permet egalement la resolution de noms pour les systemes utilisant
NetBIOS.
- 73 -
![Page 74: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/74.jpg)
IV.2. EXTENSION DU FORMAT DU FICHIER DE CONFIGURATION IPSEC
Ce fichier de configuration, lorsqu’il sera parse, donne en sortie un fichier de configuration
racoon, qu’on appellera plus simplement le fichier racoon.conf par la suite.
Les differents champs sont volontairement intuitifs, afin de configurer les tunnels IPSec de la
maniere la plus ergonomique possible :
– La section [Tunnel_1_1_1] decrit l’ensemble des parametres de proposition de phase 1. Elle
comprend notamment le groupe Diffie-Hellman, les algorithmes de chiffrement et d’authen-
tification. Cette section donne une partie de la section proposal du racoon.conf.
– La section [Tunnel_1_2_1] decrit l’ensemble des parametres de Phase 2 et comprend notam-
ment les durees de vie des SAs proposees. Cette section sera parsee en la section sainfo{...}
du racoon.conf.
– Enfin la section [Tunnel_1] permet de configurer l’ensemble des parametres globaux relatifs
au tunnel mis en place. Cela comprend notamment le mode de negociation, la flexibilite de
negociation et les durees de vie proposees.
Les algorithmes de chiffrement et d’authentification sont renseignes dans une table maintenue
a part : l’ajout ou la suppression d’un algorithme se fait ainsi a un seul endroit. Cette facon de
proceder permet de se conformer a des contraintes legislatives en fournissant des versions ne com-
portant que certains algorithmes ou ne rendant possible l’utilisation que de certaines longueurs
de clef. Ceci est particulierement utile lorsqu’il s’agit d’exporter les appliances NETASQ vers des
pays ou l’Europe impose une legislation differente en terme d’algorithmes de chiffrement.
Definition des champs
Lors de la conception des differents champs destines a etre integre, l’accent a ete mis sur le fait
d’avoir une architecture peu gourmande en terme de taille de fichier.
Il existe deja un champ dst dans le fichier de configuration NETASQ : ce champ definit l’extremite
distante de trafic d’un tunnel IPSec. Parralelement, le champ src definit l’extremite locale de trafic
correspondante.
D’autre part, nous avons fait le choix de n’autoriser le Mode Config que dans le cas des road
warriors, c’est a dire dans le cas ou les adresses IP ne sont pas connues a l’avance, c’est a dire dans
le cas de configurations anonymes.
On se rend compte que l’extremite de trafic distante (definit par dst) est en fin de compte
limitee a une seule adresse, celle que l’on souhaite transmettre en Mode Config : les extremites
distantes de tunnel et de trafic sont confondues.
Il est ainsi judicieux d’utiliser le champ dst deja defini en tant que pool d’adresses IP a transmettre
aux differents clients, dans le cas d’une configuration en Mode Config.
Pour recapituler, lorsque l’option Mode Config n’est pas activee, le champ dst se comporte
comme etant l’extremite de trafic distante. Lorsque l’option Mode Config est activee, le champ dst
se comporte comme pool d’adresses IP. Une adresse est prise dans le pool et transmise au client.
- 74 -
![Page 75: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/75.jpg)
CHAPITRE IV. INTEGRATION DU MODE CONFIG
L’activation de l’option Mode Config se fait par la definition de quatres champs crees a cette
fin :
cfg dns : Ce champ definit le serveur DNS a transmettre en Mode Config. Ce champ sera parse
en dns4 dans le racoon.conf.
cfg wins : Comme DNS, ce champ definit un serveur WINS a transmettre et sera parse en wins4.
cfg src : Ce champ peut etre positionne a 1 pour l’activer ou 0, valeur par defaut, permet de
transmettre l’extremite locale de trafic au client, stockee dans le champ src. Il correspond a
la partie du reseau interne auquel le client est autorise a acceder. Cette information est au-
jourd’hui embarquee statiquement sur les machines. Dorenavant, elle pourra etre transmises
a la volee, par Mode Config, suivant l’identite du client qui se presente.
cfg dst : Positionnable a 1 ou 0, valeur par defaut. Il s’agit du pool d’adresses IP disponibles
definit sous la forme d’un reseau et masque correspondant. A titre d’exemple, si cfg_dst est
positionne a 1 et le champ dst a 192.168.12.0/24, les road warriors qui se presentent auront
une IP du reseau 192.168.1.0/24 et 254 road warriors pourront negocier au maximum au
meme moment. Les adresses liberees sont ensuite recyclees par racoon.
IV.3 Integration et validation
IV.3.1 Imperatifs d’implementation
Implementer les fonctions dans la librairie afin de parser les quatres champs ne suffit pas pour
generer des configurations correctes. Il a fallu verouiller plusieurs champs afin qu’il ne puissent
interferer avec certaines configurations bancales ou interdites.
Le tout premier verrou a ete celui de l’utilisation du Mode Config uniquement dans le cadre
des road warriors. Rien n’empeche, en effet, a racoon de transmettre des informations en Mode
Config a un hote distant (( classique ))qui soit lui meme une passerelle IPSec. Les tentatives d’util-
isation du Mode Config lorsqu’il ne s’agit pas d’un tunnel anonyme n’aboutiront plus.
Ensuite s’est pose le probleme du champ dst qui peut tres bien etre positionne a any, l’ensemble
du trafic a destination de cet hote est alors du trafic IPSec. Dans le cas du Mode Config (donc le
champ cfg_dst = 1 , le champ dst ne peut valoir any, puisque dans ce cas, on ne definit aucun
pool d’IP dans lequel racoon pourrait piocher. Cette configuration a donc ete interdite egalement :
l’utilisation du Mode Config pour la transmission d’adresses RFC1918 impose la definition du
champ dst.
Les objectifs du cahier des charges ont ete correctement remplis, les imperatifs d’implementation
respectes. Une fois realisee, une maquette a alors ete montee et la validation a pu etre lancee.
IV.3.2 Premiers tests
Une fois la maquette en place, l’on a pu tester les quatres champs, d’abord un par un, puis en
essayant les combinaisons des differents champs :
[Tunnel_3_2_1]
Mode=ESP,TUNNEL
- 75 -
![Page 76: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/76.jpg)
IV.3. INTEGRATION ET VALIDATION
Auth=3/160,4/128
Enc=11/128
Dh=2
Lifetime=3600
Src=Netasq_network
Dst=rw_test
Cfg_dst=1
Cfg_src=1
Cfg_dns=rw_dns
Cfg_wins=rw_wins
keepalive=0
Les quatres champs Mode Config ont ete definis. Au moment de l’activation de la configuration,
le fichier racoon.conf est genere et racoon est demarre. Si le parsing echoue ou s’il n’est pas valide,
racoon ne demarrera pas. On peut verifier le parsing correct :
mode_cfg
{
dns4 10.26.43.169 ;
wins4 10.26.42.247 ;
split_network include 10.2.0.0/16;
pool_size 254 ;
network4 10.2.29.0/24 ;
netmask4 255.255.255.0 ;
}
La section Mode Config est tout a fait correctement cree et les differents champs correctement
positionnes :
– Dns4 et Wins4 correspondent aux serveurs de noms a transmettre.
– Split network include correspond a l’extremite locale de trafic a transmettre, a savoir le
champ src du fichier NETASQ.
– Les trois derniers definissent la maniere dont les road warriors se voient attribuer leur
adresse IP RFC1918. On dispose ici d’un pool d’IPs de 254 adresses disponibles sur le reseau
10.2.29.0/24.
L’action de l’option Mode Config en elle meme aurait pu etre definie par un champ specifique.
Finalement, la presence d’un seul des quatres champs Mode Config suffit a activer l’option Mode
Config.
IV.3.3 Validation et Commit dans le firmware
Une fois les premiers tests passes avec succes, la nouvelle librairie de parsing et le nouveau
module IPSec ont ete testes et valides par l’equipe de Qualification au laboratoire R&D NETASQ.
NETASQ dispose, pour ses tests de validation et de non regression, entre autres, de deux Spirent.
La societe Spirent offre des solutions de tests, validation et monitoring de services reseaux. Sont
- 76 -
![Page 77: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/77.jpg)
CHAPITRE IV. INTEGRATION DU MODE CONFIG
notamment testes le routage, la QoS, les protocoles Wireless, IPSec, etc.
Malheureusement, les systemes Spirent ne supportent pas le Mode Config et n’ont donc pas pu
etre mis a contribution lors de la validation du code.
Les tests ont ete realises avec ShrewSoft, non plus avec racoon d’ipsec-tools en face comme
nous l’avions fait lors de nos tests preliminaires, mais en face d’une appliance NETASQ integrant
le Mode Config dans son module IPSec.
L’ensemble des tests se sont deroules avec succes : la recuperation des informations en Mode
Config est correcte, les configurations interdites sont bien ignorees et les erreurs adequates sont
remontees a l’administrateur a chaque fois.
L’ensemble du code a donc pu etre officiellement integre dans le firmware NETASQ. Lors de
la prochaine sortie de version majeure, la version 8.0, dont la sortie officielle est prevue durant le
dernier trimestre de cette annee, les clients disposeront d’une option Mode Config operationnelle.
- 77 -
![Page 78: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/78.jpg)
Conclusion et Bilan
Be the change that you want to see in the world.
— Mahatma Gandhi
La sortie de la prochaine version majeure est prevue pour le dernier trimestre 2008. Les pre-
miers retours sur l’utilisation du Mode Configuration d’IPSec devraient arriver dans le courant du
premier trimestre 2009. Pourtant, lors de mon arrivee a NETASQ rien ne predisait que le Mode
Configuration puisse etre effectivement integre dans un delai aussi court, delai comprenant la con-
ception, le developpement et surtout la validation a travers une batterie de tests de non-regression
et de performances, autant sur la partie ipsec-tools et projet OpenSource que sur la partie
firmware NETASQ.
Le stage sur IPSec et sur le Mode Configuration en particulier avait pour objectif de debroussailler
l’implementation de cette extension dans ipsec-tools avant tout : evaluer l’etat de l’implementation
actuelle du Mode Configuration a travers des tests sur des maquettes montees pour l’occasion,
evaluer les performances et confirmer ou infirmer la stabilite de racoon confronte a des configura-
tions reseaux complexes et pas forcement valides du point de vue des draft et des RFCs.
L’ensemble des tests effectues sur le Mode Configuration ont ete concluants, que racoon soit
en mode serveur ou en mode client : l’ensemble des informations sont transmises correctement a
la volee, juste apres l’etablissement de la ISAKMP-SA4.
Apres avoir valide de nombreuses configurations, j’ai pu mettre l’accent sur l’etude du produit en
lui meme, l’appliance NETASQ et son firmware : les differents modules en general, le processus
de ports de FreeBSD, l’ASQ, coeur du firmware, le fonctionnement par fichiers de configurations
NETASQ et leur librairies de parsing, la communication entre la suite graphique et le firewall, etc.
La prise en main de l’appliance NETASQ et l’etude du firmware ont ete facilitees par les certifi-
cations NETASQ Certified Administrator - NCA et NETASQ Certified Expert - NCE
que j’ai eu l’honneur de pouvoir passer.
4Sous reserve que l’authentification XAuth soit desactivee, si ce n’est pas le cas, les informations sont transmises
juste apres la validation de l’authentification en XAuth.
![Page 79: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/79.jpg)
CHAPITRE IV. INTEGRATION DU MODE CONFIG
Cette etape a marque le debut du travail sur le firmware : integrer le Mode Configuration en
tenant compte de toutes les contraintes existantes. Ces contraintes ont ete de plusieurs ordres.
– Prendre en main le code des librairies de parsing deja existant.
– Tenir compte du fichier de configuration existant et l’etendre dans la mesure de l’acceptable :
pas d’ajout de champs inutiles, pas de configuration supplementaire non necessaire pour le
client.
– Comportement par defaut correct si le Mode Configuration n’est pas active. Il s’agit de
l’implementer comme une option a part entiere, pour que par defaut, le module IPSec se
comporte comme dans les versions precedentes.
– Tenir compte des contraintes indirectes, notamment en terme de Suite Graphique NETASQ :
la lecture des champs par defaut ne doit pas etre perturbee par l’apparition des nouveaux
champs que la suite graphique ne connait pas.
La prise en compte de l’ensemble de ces contraintes a ete sujette a plusieurs discussions fructueuses,
et a finalement mene a la creation des quatres champs Mode Configuration implementes dans le
firmware.
Une fois le Mode Configuration implemente, valide et operationnel, j’ai pu me concentrer sur
l’amelioration de l’implementation du Mode Configuration d’ipsec-tools par l’etude d’un nou-
veau champ dans racoon : le champ CLIENTADDR. Le CLIENTADDR permet de matcher l’identite de
l’hote distant suivant qu’il s’agisse de l’adresse IP de l’hote ou de l’adresse IP RFC1918 definie
dans la configuration Mode Configuration, si celui ci est active. Le CLIENTADDR peut etre utile pour
restreindre la generation de politiques de securite lors que racoon agit comme une passerelle pour
les clients mobiles.
Il se trouve que Matthiew Grooms avait deja realise une partie de l’implementation sur la branche
principale du projet ipsec-tools. J’ai porte le champ de la branche principale vers la version
stable d’ipsec-tools actuelle, 0.7.1.
Tout au long des six mois passes a NETASQ, plusieurs idees recues de l’etudiant terminant son
cursus ont ete bousculees, a juste titre et tant mieux. J’ai, avant tout, pu constater qu’il ne suffit
pas d’avoir une conception parfaite une bonne implementation pour qu’elle puisse etre integree
dans un firmware deja existant et soumis a un certains nombres de contraintes.
- 79 -
![Page 80: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/80.jpg)
IV.3. INTEGRATION ET VALIDATION
Deja fascine par la securite a l’universite, j’ai pu porter un regard different sur ce monde qui
parait toujours renferme et reserve vu de l’exterieur. J’ai ainsi pu suivre l’evolution des failles
OpenSSL et DNS du point de vue d’une societe specialisee en securite informatique ou il fallait
toujours etre sur le qui-vive, suivre les differents PoC5 ou encore etudier les differents articles
et impressions sur de grandes conferences en securite informatique, qu’elles soient francophones
comme le SSTIC, ou internationales comme BlackHat ou DefCon.
Je citerai ici Ferdinand Foch - (( Il n’y a pas d’hommes cultives, il n’y a que des hommes qui se
cultivent ))- tout a fait approprie lorsqu’il s’agit de securite informatique ou de cryptologie.
Pendant toute cette periode, j’ai eu l’honneur d’etre entoure d’ingenieurs extremement competents
dans leur domaine, me permettant d’avoir les meilleurs conseils possibles de la part de la part de
personnes toujours disponibles et a l’ecoute. Je porte aujourd’hui un regard tout a fait different sur
un projet OpenSource, sur l’utilisation subtile des differentes licences (GPL, BSD, Libre, Open-
Source...). J’ai egalement pu ameliorer mon niveau en developpement de facon consequente, en
etant confronte a des styles de programmation differents tout en respectant la charte de program-
mation de NETASQ. D’autre part, j’ai pu remarquer l’aide apportee par la communeaute lorsqu’il
s’agit d’auditer du code source ou de comprendre une RFC ou se chevauchent des subtilites, souvent
anglaises, de termes comme MAY , MIGHT ou SHOULD ne facilitant pas toujours l’integration
de telle ou telle fonctionalite.
Enfin, le plus important a mes yeux concerne le regard critique que j’ai pu adopter face a la
formation que j’ai recue a l’universite. Cette experience m’a non seulement permis d’approndir
certains points cles, mais egalement de poser des bases solides pour commencer une carriere qui,
je l’espere, me permettra d’etre acteur plutot que spectateur dans le monde de la securite infor-
matique.
5PoC : Proof Of Concept
- 80 -
![Page 81: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/81.jpg)
Annexe A : Protocole AH et ESP approfondis
En-tete IP
Les protocoles AH et ESP reposant sur sur IP, une description sommaire des champs d’IP est
donnee dans le tableau ??.
IP est un des protocoles reseau les plus repandu aujourd’hui, dans sa version IPv4 qui commence
a s’essoufler du manque d’adresses disponibles et dans version IPv6 deja massivement deploye au
Japon. Il apporte l’adressage en couche 3 permettant de router les paquets.
Les champs principaux de l’entete IP sont definis de la maniere suivante :
ver : Il s’agit de la version du protocole IP utilise (4 ou 6), code sur 4 bits. Place en tete, il permet
de verifier le format correct du paquet et de le detruire de suite en cas de version inconnue.
IHL : Pour Iinternet Header Lengh, IHL, code sur 4 bits, represente la longueur de l’en-tete IP
en mots de 32 bits. Sa valeur peut varier de 5 a 15 (donc de 15 ∗ 32 = 60octets max) suivant
les options IP et est a 5 (20 octets) par defaut.
TOS : Pour Type Of Service, sur 8 bits, permet de controler la QoS directement au niveau OSI
3. TOS regroupe des donnees comme la priorite, le delai ou encore le cout. TOS est l’unique
champ recupere par ESP pour l’encapsulation ESP-Tunnel.
pkt-len : Il s’agit de la longueur totale du paquet IP, code sur 16 bits, en-tete et donnees com-
prises. Exprimee en octets, la longueur totale maximale est donc de 216 = 65535octets.
ID : Code sur 16 bits, le champ Identification permet de reconstituer les differents fragments. Les
en-tetes IP des fragments sont les memes a l’exception de la longueur et du checksum.
Flags : Code sur 3 bits, ces flags permettent de connaıtre l’etat actuel de la fragmentation. Le
premier bit est a 1 (Reserved), le deuxieme autorise ou non la fragmentation (DF Don′t
Fragment) et le dernier indique s’il existe d’autres fragments (MF More Fragments).
frag offset : Code sur 13 bits, indique a quel position se trouve le fragment par rapport au pre-
mier. Le premier possede donc un champ frag offset a 0.
![Page 82: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/82.jpg)
IV.3. INTEGRATION ET VALIDATION
TTL : Le champ Time TO Live indique la duree de vie maximale du paquet. Lorsqu’il baisse a
0, le paquet est detruit. A chaque passage dans un routeur, ce champ sera decremente. Ceci
permet d’eviter les boucles infinies dans la propagation des trames.
proto : Code sur 8 bits, il represente le champ Protocol. Les plus repandus sont -01-ICMP, -06-TCP
et -17- UDP. Les numeros de protocoles sont attribues par l’IANA - Internet Assigned Number
Security.
Checksum : Code sur 16 bits, la somme de controle permet de verifier la validite du paquet (et
uniquement celle du paquet et non pas des donnees qu’il contient : deux trames IP ayant les
meme champs auront la meme somme de controle).
Src IP address : Represente l’IP source codee sur 32 bits.
Dst IP address : Represente l’IP de destination codee sur 32 bits egalement.
IP Options : Code de 0 a 40 octets, ce champ permet de passer certaines options a IP, comme
la Classe ou le Numero permettant de lister les options disponibles.
ver IHL TOS pkt-len
ID flags frag offset
TTL proto = TCP header checksum
Src IP address
Dst IP address
Options IP (si presentes)
TCP Header (proto=6)
TCP Payload
32 bits
: Couvert par le checksum
Fig. IV.2 – Paquet IPv4 Generique
Ces champs nous serviront, par exemple, a definir la maniere dont ESP gere les priorites de
communications (par la recuperation du TOS) ou encore a comprendre pourquoi il etait tres dif-
ficile de deployer IPSec a travers des equipements NAT, avant le developpement de l’extentions
NAT − Traversal.
- 82 -
![Page 83: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/83.jpg)
CHAPITRE IV. INTEGRATION DU MODE CONFIG
AH - Authentication Header
AH est uniquement utilise pour de l’authentification – pas de chiffrement –. Il permet de valider
l’identite de l’hote distant avec lequel on communique afin de se premunir des attaques MITM. Il
detecte ainsi toute alteration des donnees et offre une protection forte contre le rejeu de paquets.
En-tete AH
L’Authentification est faite a partir d’une empreinte cryptographique d’authentification base
sur l’ensemble des champs non modifiables du paquet IP. Cela exclut, par exemple, le champ TTL
est decremente, ou encore le checksum qui est recalcule a chaque passage dans un routeur.
Cette empreinte est alors apose au paquet avant que celui ci ne soit envoye. Lors de la reception du
paquet, l’hote distant calcule a son tour une empreinte du paquet fraıchement recu et le compare
avec celui contenu dedans afin de le valider.
next hdr AH lengh Reserved
SPI (Security Parameters Index)
Sequence Number
Authentication Data
hash MD5 ou SHA-1
Fig. IV.3 – Champ de l’en-tete AH
Champs de l’en-tete AH :
Next Header : Code sur un octet, il contient le numero de protocol de l’en-tete suivante, donc
le numero de protocole des donnees que le paquet transporte. Ce champ permet de lier les
differentes en-tetes.
AH lengh : Code sur un octet egalement, il contient la taille de l’en-tete AH en mots de 32 bits,
otee de 2 (ceci n’inclue pas les donnees mais l’en-tete uniquement). Les 64 bits sont enleves
afin d’etre coherent avec la maniere dont IPv6 calcule la taille de l’en-tete AH. IPSec dans
IPv6 n’est pas aborde dans ce rapport, on peut en trouver une description a ??.
Reserved : est comme son nom l’indique, un champ reserve pour un usage futur, code sur 16 bits.
- 83 -
![Page 84: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/84.jpg)
IV.3. INTEGRATION ET VALIDATION
SPI : Le Security Parameter Index est un identifiant permettant de trouver a quel politique le
paquet doit-il etre soumis, et donc a quel SA dans la SAD il correspond. Le SPI est code sur
32 bits et sera developpe plus en details dans la section ??.
Sequence Number : Code sur 32 bits, il represente un compteur initialise a 0 lorsqu’une SA en-
tre deux hotes est etablie. Il est incremente pour chaque datagramme correspondant a cette
SA. Il permet d’identifier chaque paquet de maniere unique et ainsi de se proteger contre des
attaques par rejeu.
Authentication Data : Contient l’empreinte calculee par le protocole AH.
Comme decrit precedemment, IPSec peut fonctionner suivant le mode Tunnel ou Transport.
AH n’est donc pas calcule de la meme maniere.
AH en mode Tranport
En mode Transport, l’en-tete AH est inseree entre l’en-tete du protocole de Transport (TCP le
plus souvent) et l’en-tete IP (cf Fig. IV.4).
Comme l’en-tete AH vient s’intercaler entre les en-tete TCP et IP, les champs proto sont suc-
cessivement modifies :
Le champ proto du paquet IP, a l’origine en TCP, est modifie au profit de AH. AH, quant a lui,
garde dans son champ next une trace du protocole Transport utilise, a savoir TCP, ceci permet de
faire le lien entre les en-tetes.
AH n’offrant pas de chiffrement, un attaquant potentiel aura acces non seulement a l’en-tete,
mais egalement aux donnees, bien qu’il ne puisse pas alterer le paquet ou le rejouer.
Une fois que le paquet aura ete valide a la reception, il sera decapsule, l’en-tete AH enleve, les
champs remis a jour et le paquet sera passe a l’application concernee.
AH en mode Tunnel
En mode Tunnel, le paquet IP est entierement reencapsule dans un autre paquet IP avant d’etre
envoye.
Une en-tete AH est aposee au paquet, comme en mode Transport, ce qui permet de valider
l’authenticite du paquet a la reception et de se premunir de l’alteration des paquets sur le chemin.
Mais contrairement au mode AH-Transport, AH-Tunnel encapsule le paquet IP dans sa totalite,
c’est a dire l’en-tete IP et le payload. Les addresses reelles de l’emetteur et du destinataire sont
donc masquees (cf Fig. IV.5), seules les adresses des deux passerelles formant les deux bouts du
tunnel sont visibles.
- 84 -
![Page 85: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/85.jpg)
CHAPITRE IV. INTEGRATION DU MODE CONFIG
TCP Payload
TCP Header
Dst IP Address
Src IP Address
TTL Proto Checksum
ID flgs offset
ver len TOS pkt-len
TCP Payload
TCP Header
Dst IP Address
Src IP Address
TTL Proto Checksum
ID flgs offset
ver len TOS pkt-len
nxt=TCP AH len Reserved
S P I
Seq. Number
Authentication Data
IPH
dr
TC
PH
dr+
Plo
adA
HH
dr
TC
PH
dr+
Plo
ad
IPH
drCouvert par AH
Fig. IV.4 – Hash AH en mode Transport
- 85 -
![Page 86: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/86.jpg)
IV.3. INTEGRATION ET VALIDATION
TCP Payload
TCP Header
Dst IP Address
Src IP Address
TTL Proto Checksum
ID flgs offset
ver len TOS pkt-len
TCP Payload
TCP Header
Dst IP Address
Src IP Address
TTL Prto=AH Checksum
ID flgs offset
ver len TOS pkt-len
nxt=IP AH len Reserved
S P I
Seq. Number
Authentication Data
IPH
dr
TC
PH
dr+
Plo
adA
HH
dr
TC
PH
dr+
IPH
dr+
Plo
ad
IPH
drCouvert par AH
Dst IP Address
Src IP Address
Prto=TCP Checksum
flgs offset
TOS pkt-lenver len
ID
TTL
Fig. IV.5 – Hash AH en mode Tunnel
- 86 -
![Page 87: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/87.jpg)
CHAPITRE IV. INTEGRATION DU MODE CONFIG
Les verifications du paquet arrivant a destination sont les memes qu’en mode Transport : l’
Integrity Check Value est extrait d’une part, calcule sur les differents champs du paquet recu
d’autre part, puis compare. Lorsque le paquet est valide, il est decapsule et delivre a l’application
en attente, ou route vers le sous reseau de destination suivant l’IP reelle. A partir de ce moment,
il s’agit d’un paquet IP normal.
La difference entre le Mode Transport et le Mode Tunnel dans IPSec n’est pas explicite puisqu’il
n’existe pas de champ Mode a proprement parler. Elle se fait au niveau du champ Next Hdr :
lorsqu’il vaut IP, il s’agit du Mode Tunnel puisqu’il encapsule entierement un paquet IP. A l’in-
verse, lorsque ce champ est positionne a un autre protocole de transport comme TCP, UDP ou ICMP,
il s’agit la du Mode Transport qui securise le traffic de bout en bout.
ESP - Encapsulating Security Payload
En-tete ESP
ESP peut etre considere comme le coeur de la suite de protocoles IPSec. Il permet d’avoir un
chiffrement de toute les donnees presentes dans le paquet et eventuellement de les authentifier.
ESP est constitue d’un header (cf Fig. IV.6) et d’un trailer et peut etre utilise en mode Tunnel
comme en mode Transport tout comme AH.
Le chiffrement des donnees n’est lie a aucun algorithme cryptographique en particulier, comme
explique dans la presentation d’IPSec ??. Les plus couramment utilises sont AES, DES, TripleDES
et Blowfish. Les parametres de chiffrement et la cle utilisee sont dynamiquement negocies par un
demon IKE (racoon d’ipsec-tools en locurrence dans le cadre de notre cahier des charges) et
stockes dans une Security Association.
Les champs d’un paquet ESP sont principalement :
Payload chiffre : Correspond aux donnees chiffrees, de taille variable.
Next Header : utilise comme dans AH, permet de connaıtre le type de payload du paquet, a
savoir IP, TCP, UDP, etc.
Padding : il s’agit de bourrage permettant l’utilisation d’algorithmes cryptographiques par blocs
(comme AES en mode cbc par exemple).
Pad len : Taille du bourrage.
D’autre part, ESP fournit une authentification optionnelle. Lorsqu’elle est activee, l’empreinte
d’authentification vient se greffer apres le trailer ESP et utilise les meme mecanismes que dans AH
a ceci pres que l’authentification ESP est basee uniquement sur l’en-tete ESP et le payload, et non
pas sur le paquet IP en entier.
De l’exterieur, un attaquant ne peut determiner le contenu d’un paquet ESP, ni meme savoir
s’il contient une empreinte d’authentification ou non. Neanmoins, lors de l’encapsulation ESP, le
- 87 -
![Page 88: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/88.jpg)
IV.3. INTEGRATION ET VALIDATION
S P ISequence Number
Encrypted Payload
paddingpad len nxt hdr
S P ISequence Number
Encrypted Payload
paddingpad len nxt hdr
Authentication Data
ES
PT
rlA
uth
ES
PH
dr
ES
PH
drE
SP
Trl
Chiffré
Fig. IV.6 – En-tete ESP avec (a d.) et sans (a g.) Authentification
champ ToS du paquet IP est recupere a partir du paquet original. Ce champ, comme nous l’avons
vu, sert entre autres, a definir le champ QoS utilise dans les transmissions de type VoIP par ex-
emple pour avoir un ordre de priorite important.
ESP en mode Transport
ESP en mode Transport (cf Fig. IV.7) fonctionne a peu de choses pres comme AH en mode
Transport.
Destine a securiser les transferts de donnees entre deux hotes A et B, ESP-Transport encapsule
uniquement le payload (donnees utiles). Comme pour AH, les adresses source et destination sont
donc visibles dans le paquet transmis.
ESP en mode Tunnel
Le mode ESP-Tunnel (cf Fig. IV.8) encapsule entierement le paquet IP original dans un autre
paquet IP. C’est ce qui se rapproche le plus d’un tunnel VPN au sens ou la plupart des utilisateurs
l’entendent : un tunnel chiffre parlequel ils peuvent faire transiter des flux sensibles de maniere
securisee afin de contacter un reseau distant.
C’est le mode le plus souvent utilise lorsqu’il s’agit de monter une passerelle IPSec.
- 88 -
![Page 89: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/89.jpg)
CHAPITRE IV. INTEGRATION DU MODE CONFIG
TCP Payload
TCP Header
Dst IP Address
Src IP Address
TTL Proto Checksum
ID flgs offset
ver len TOS pkt-len
TCP Payload
Dst IP Address
Src IP Address
TTL Checksum
ID flgs offset
ver len TOS pkt-len
S P I
Seq. Number
IPH
drT
CP
Hdr
+P
load
IPH
dr
Chiffré
Authentication Data
padlen nxthdr
padding
nxt=ESP
Authentifié
Fig. IV.7 – Paquet ESP en Mode Transport
- 89 -
![Page 90: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/90.jpg)
IV.3. INTEGRATION ET VALIDATION
TCP Payload
TCP Header
Dst IP Address
Src IP Address
TTL Proto Checksum
ID flgs offset
ver len TOS pkt-len
TCP Payload
Dst IP Address
Src IP Address
TTL Checksum
ID flgs offset
ver len TOS pkt-len
S P I
Seq. Number
IPH
drT
CP
Hdr
+P
load
IPH
dr
Chiffré
Authentication Data
padlen nxthdr
padding
nxt=ESP
Authentifié
IP Hdr
Fig. IV.8 – Paquet ESP en Mode Tunnel
- 90 -
![Page 91: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/91.jpg)
Annexe B : Echange Diffie-Hellman
Presentation
L’echange de cles Diffie-Hellman, ou pour etre plus exact, la negociation de cles par Diffie-
Hellman a ete developpe par Diffie et Hellman en 1976, et publie dans le (( New Directions in
Cryptography )). Ce protocole permet a deux utilisateurs, que nous appellerons traditionnellement
Alice et Bob, de s’echanger un secret a travers un canal non-securise.
Ce protocole est utilise dans des domaines varies, et intervient notamment dans la negociation
de cles de sessions IPSec.
Principe
Le protocole met en place deux parametres publics : p, un nombre premier, et g, un generateur,
inferieur a p defini comme suit :
Pour tout entier compris entre 1 et p− 1 inclus, il existe une puissance k de g telle que n = gk
mod p.
Supposons qu’Alice et Bob souhaitent echanger un secret par Diffie-Hellman, ils procedent alors
comme suit (cf. IV.9) (toutes les operations sont modulo p) :
– Alice choisit un nombre aleatoire a et Bob choisit un nombre aleatoire b.
– Alice calcule alors x = ga et Bob calcule y = gb.
– Alice envoie x a Bob et Bob envoie y a Alice.
– Alice calcule alors (gb)a = gab.
– Bob calcule (ga)b = gab.
– Alice et Bob se retrouvent tout deux avec gab.
Le secret partage par Alice et Bob est alors k = gab.
![Page 92: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/92.jpg)
IV.3. INTEGRATION ET VALIDATION
Fig. IV.9 – Protocole Diffie-Hellman - www.plenz.com
Securite et Faiblesses
La securite de l’algorithme Diffie-Hellman repose sur la difficulte du calcul du logarithme discret.
Il suppose qu’il est tres difficile de calculer le secret partage gab a la seule connaissance de ga et de
gb lorsque le nombre premier p est grand. Casser un algorithme Diffie-Hellman est aussi difficile que
de calculer le logarithme discret sous certaines conditions. (Maurer - Advances in Cryptology 1994).
L’echange de cles Diffie-Hellman est vulnerable a des attaques de type Man In The Middle. Un
attaquant potentiel, traditionnellement appelle Oscar, intercepte la valeur publique d’Alice (ga) et
envoie sa propre valeur publique a Bob. Lorsque Bob envoie sa valeur publique, Oscar l’intercepte
egalement et envoie encore sa propre valeur a Alice. Ainsi, Alice et Oscar etablissent un secret
partage et Oscar et Bob etablissent un autre secret partage, tandis que Alice et Bob croient tous
les deux communiquer l’un avec l’autre. Oscar est alors capable de dechiffrer et modifier l’ensemble
du trafic entre Alice et Bob.
Cette attaque fonctionne car les correspondants ne s’authentifient pas au prealable.
Le protocole Diffie-Hellman authentifie a ete developpe en 1992 afin d’empecher l’attaque
MITM. Ce protocole preconise l’utilisation de signatures et de certificats numeriques afin d’au-
thentifier les deux correspondants. Alice et Bob signent alors leur valeur publique a l’aide de leur
cle privee. Il est impossible a Oscar de modifier cette signature sans les cles privees respectives.
- 92 -
![Page 93: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/93.jpg)
Les RFCs IPSec
L’ensemble des implementations actuelles d’IPSec et des demons IKE est basee sur les RFCs
suivantes. Certaines ont ete redefinies recemment en 2005.
RFC 2367 - PF KEY Key Managment API, Version 2.
RFC 2401 - Security Architecture for the IP Protocol.
RFC 4301 - New version.
RFC 2402 - IP Authentifcation Header.
RFC 4302 - New version.
RFC 2403 - The Use of HMAC-MD5-96 within AH and ESP.
RFC 2404 - The Use of HMAC-SHA1-96 within AH and ESP.
RFC 2405 - ESP DES-CBC Cypher with Explicit IV.
RFC 2406 - IP Encapsulating Security Payload.
RFC 4303 - New version.
RFC 2407 - IPSec Domain of Interpretation for ISAKMP.
RFC 2408 - ISAKMP Protocol.
RFC 2409 - IKE Protocol.
RFC 2410 - The NULL encryption algorithm and its use with IPSec.
![Page 94: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/94.jpg)
IV.3. INTEGRATION ET VALIDATION
RFC 2411 - IPSec Document Roadmap.
RFC 2412 - The OAKLEY Key Determination Protocol.
RFC 2451 - ESP CBC-MODE Cypher.
RFC 2857 - The Use of HMAC-RIPEMD-160-96 within AH and ESP.
RFC 3706 - A traffic-based method of Detecting dead IKE peers.
RFC 3947 - Negociation of NAT-T in IKE.
RFC 3948 - UDP encapsulation of IPSec ESP packets.
RFC 4304 - Extended Sequence Number (ESN) Addendum to IPSec DOI for ISAKMP.
RFC 4305 - Cryptographic Algorithm Implementation Requirements for AH and ESP.
RFC 4306 - IKEv2 Protocol.
RFC 4308 - Cryptographic Suite for IPSec.
- 94 -
![Page 95: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/95.jpg)
Bibliographie
[1] An Illustrated Guide To Cryptographic Hashes, Unixwiz.net, Tech Tip, Introduction
sur l’utilisation de hashs cryptographiques comme MD5 ou SHA-1, utilise dans l’authentifi-
cation HMAC.
[2] IPSec Technical Reference, Microsoft, Provides informations on Microsoft’s IPSec
implementation in Windows Server 2003.
[3] A cryptographic evaluation of IPSec, http://www.schneier.com/paper-ipsec.html,
Bruce Schneier and Niels Ferguson, IPSec is far too complex to ever really be secure.
[4] Cryptography in Theory and Practice : The Case Of Encryption In IPSec
http://eprint.iacr.org/2005/416, De l’utilisation de paquets IPSec chiffres mais non
authentifies, attaques reelles et effectives sur des communications reelles (Linux IPSec
implementation).
[5] TCP/IP Illustrated Volume 1, Richad Stevens, protocole TCP/IP.
[6] Vulnerabilities in IKE XAuth, CISCO Systems, 2005.
[7] Detection d’intrusions de reseaux, S. Northcutt, J. Novak, Analyse de trafic, utilisation
des outils d’analyses, TCPDump, Snort, etc.
[8] Applied Cryptography, Bruce Schneier.
[9] IPSec VPN Design, V. Bollapragada, M. Khalid, S. Wainner, Ouvrage de reference sur le
design VPN et IPSec en particulier.
![Page 96: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/96.jpg)
BIBLIOGRAPHIE
[10] IPSec Presentation Technique, Herve Schauer Consultants,
www.hsc.fr/ressources/ipsec.
[11] The FreeBSD HandBook, http://www.freebsd.org/doc/en/books/handbook/
[12] Designing BSD Rootkits, J. Kong, 2007.
[13] Lexx $ Yacc, Levine - Mason- Brow, O’Reilly, 1992. ipsec-tools : fichiers ecrits en Lexx
et Yacc.
[15] RSA Laboratories Diffie-Hellman, www.rsa.com.
[15] Computer Networks, A. S. Tanembaum, 4eme Ed.
[16] ipsec-tools, http://ipsec-tools.sourceforge.net.
[17] TheGreenBow, http://thegreenbow.fr
[18] Faiblesses IPSec en deploiement reels, Yvan Vanhullebus,
http://www.sstic.org/SSTIC06/Faiblesses_IPSec/.
[19] Introduction to FreeSWAN, http://www.freeswan.org.
[20] Methodologie de la programmation en C, Api POSIX, A. Braquellaire, Dunod.
[21] IPv6 and IPSec - Securing The Next Generation Internet,
www.ipv6.com/articles/security/IPsec.htm.
- 96 -
![Page 97: ipsec_netasq](https://reader033.vdocuments.us/reader033/viewer/2022042522/55cf9703550346d0338f42de/html5/thumbnails/97.jpg)
BIBLIOGRAPHIE
.
- 97 -