Vous êtes sur la page 1sur 74

Security 1

Essentiel

www.supinfo.com
Copyright SUPINFO. All rights reserved

Campus Booster ID : 319


Version 1.0
Sommaire
1. ASPECTS GENERAUX DE LA SECURITE RESEAU................................................................................ 4
1.1. LA SECURITE RESEAU .................................................................................................................................... 4
1.1.1. Disponibilité.......................................................................................................................................... 4
1.1.2. Intégrité................................................................................................................................................. 6
1.1.3. Confidentialité....................................................................................................................................... 7
1.1.4. Non répudiation .................................................................................................................................... 7
1.2. LES VULNERABILITES .................................................................................................................................... 7
1.2.1. Les menaces et leurs origines................................................................................................................ 7
1.2.2. Le manque de politique efficace............................................................................................................ 8
1.2.3. La Faiblesse de configuration............................................................................................................... 8
1.2.4. Les Faiblesses technologiques .............................................................................................................. 9
1.3. LES MOTIVATIONS D’INTRUSIONS ................................................................................................................. 9
1.4. LES TYPES D’ATTAQUES .............................................................................................................................. 10
1.4.1. Reconnaissance ................................................................................................................................... 10
1.4.2. Accès ................................................................................................................................................... 11
1.4.3. Déni de service.................................................................................................................................... 11
1.5. TECHNIQUES D’ATTAQUE ............................................................................................................................ 12
2. POLITIQUE DE SECURITE......................................................................................................................... 17
2.1. LE PROCESSUS PERPETUEL DE SECURISATION (SECURITY WHEEL) ............................................................. 17
2.2. OBJECTIFS ET CONSIDERATIONS ................................................................................................................. 18
2.3. METHODES .................................................................................................................................................. 18
2.3.1. MARION.............................................................................................................................................. 18
2.3.2. MELISA............................................................................................................................................... 18
2.3.3. COBRA................................................................................................................................................ 19
2.3.4. MEHARI.............................................................................................................................................. 19
2.3.5. ISO 17799 ........................................................................................................................................... 19
3. CRYPTOGRAPHIE........................................................................................................................................ 21
3.1. CHIFFREMENT ............................................................................................................................................. 21
3.1.1. Chiffrement symétrique ....................................................................................................................... 21
3.1.2. Chiffrement asymétrique ..................................................................................................................... 23
3.2. SIGNATURE ................................................................................................................................................. 25
3.2.1. Hashage .............................................................................................................................................. 25
3.2.2. Certificats et PKI................................................................................................................................. 25
4. AUTHENTIFICATION.................................................................................................................................. 27
4.1. L’ARCHITECTURE AAA .............................................................................................................................. 27
4.2. RADIUS..................................................................................................................................................... 29
4.2.1. Principe............................................................................................................................................... 29
4.2.2. Format des paquets ............................................................................................................................. 30
4.2.3. Etablissement d’une session RADIUS................................................................................................. 31
4.3. TACACS / TACACS+ ............................................................................................................................... 31
4.3.1. TACACS .............................................................................................................................................. 31
4.3.2. TACACS +........................................................................................................................................... 33
4.4. LDAP ......................................................................................................................................................... 35
4.4.1. La notion d’annuaire........................................................................................................................... 35
4.4.2. Généralités .......................................................................................................................................... 35
4.4.3. Authentification LDAP ........................................................................................................................ 36
4.5. KERBEROS ............................................................................................................................................... 37
4.5.1. Généralités .......................................................................................................................................... 37
4.5.2. Principe............................................................................................................................................... 37
4.5.3. Faiblesses............................................................................................................................................ 38
4.6. IEEE 802.1X ............................................................................................................................................... 39
4.6.1. Généralités .......................................................................................................................................... 39
4.6.2. Concepts du standard IEEE ................................................................................................................ 39
4.6.3. Etats et interfaces................................................................................................................................ 40
Essentiel – Sécurité 3 / 74

4.6.4. Normes wifi 802.1x.............................................................................................................................. 40


4.7. METHODES EAP ......................................................................................................................................... 42
4.7.1. Généralités .......................................................................................................................................... 42
4.7.2. Rappels PPP ....................................................................................................................................... 42
4.7.3. Mécanismes d’authentification EAP ................................................................................................... 42
4.8. BIOMETRIE .................................................................................................................................................. 43
4.8.1. Généralités .......................................................................................................................................... 43
4.8.2. Empreintes digitales (finger-scan) ...................................................................................................... 43
4.8.3. Géométrie de la main / du doigt (hand-scan)...................................................................................... 45
4.8.4. L’iris (iris-scan) .................................................................................................................................. 45
4.8.5. Rétine (retina-scan)............................................................................................................................. 46
4.8.6. Visage (facial-scan) ............................................................................................................................ 47
4.8.7. Analyse des veines (vein pattern-scan) ............................................................................................... 47
4.8.8. Conclusion .......................................................................................................................................... 48
5. DESIGN D’ARCHITECTURE RESEAU SECURISEE ............................................................................. 49
5.1. EQUIPEMENTS ............................................................................................................................................. 49
5.1.1. Commutateur....................................................................................................................................... 49
5.1.2. Routeur................................................................................................................................................ 49
5.1.3. Firewall............................................................................................................................................... 49
5.1.4. Proxy ................................................................................................................................................... 50
5.1.5. IDS/IPS................................................................................................................................................ 52
5.1.6. VPN ..................................................................................................................................................... 54
5.2. ARCHITECTURES ......................................................................................................................................... 56
5.2.1. Cisco SAFE ......................................................................................................................................... 56
5.2.2. Architecture LAN ................................................................................................................................ 56
6. VPN................................................................................................................................................................... 61
6.1. EXTENSION SECURISEE D’UN RESEAU ......................................................................................................... 61
6.2. TYPES DE RESEAUX VPN ............................................................................................................................ 62
6.3. PPTP........................................................................................................................................................... 64
6.4. L2TP........................................................................................................................................................... 66
6.5. IPSEC .......................................................................................................................................................... 67
6.5.1. Concepts généraux .............................................................................................................................. 67
6.5.2. IKE Phase 1 ........................................................................................................................................ 72
6.5.3. IKE Phase 2 ........................................................................................................................................ 74
Essentiel – Sécurité 4 / 74

1. Aspects généraux de la sécurité


réseau
Les entreprises abritent des données vitales dont la confidentialité est essentielle pour la
pérennité de celle-ci. Leur compromission pourrait avoir des conséquences dramatiques telles que
l’arrêt de la production, la paralysie des communications ou le blocage d’un service. Il est donc
nécessaire de se prémunir de l’espionnage, de la perte ou la destruction de documents, ou de toute
tentative visant à rendre un système indisponible. Pourtant les entreprises ne sont pas toujours
conscientes de la véritable importance à porter à la sécurisation de son système d’information. Ainsi
les dépenses en sécurité en France représentent seulement 2.7% des dépenses informatiques pour 2005
et une entreprise sur 3 aurait aujourd’hui été victime d’une attaque extérieure.

1.1. La sécurité réseau


1.1.1. Disponibilité

Si l'entreprise dépend de données ou de services informatiques, elle doit avoir l'assurance que
ces derniers soient disponibles quand elle en a besoin. Les utilisateurs doivent être sûrs des outils
qu’ils utilisent et donc doivent avoir confiance en leur fonctionnement. L’indisponibilité d’un service
ou d’une donnée est directement répercutée sur la productivité de l’entreprise. Si un serveur de fichiers
où les utilisateurs stockent leurs travaux n’est pas disponible durant une journée, l’entreprise est gelée
durant ce même temps, et la perte d’argent est très importante.
Il est possible de prévenir ces risques en mettant en place une politique de haute disponibilité, et en
réduisant au maximum les fautes envisageables. On calcule la fiabilité d’un service en divisant le
nombre de jour de disponibilité de celui –ci sur un an.

Pourcentage Temps indisponible par an


90% 36 jours et 12 heures
98% 7 jours
99% 3 jours et 15 heures
99,9% 8 heures et 48 minutes
99,99% 53 minutes
99,999% 5 minutes

Ainsi, on se rend compte qu’un taux de disponibilité de 90% qui paraîtrait correct est inenvisageable
pour une entreprise, qui devrait se situer au minimum sur une disponibilité de 99,9%.

Les différents moyens d’augmenter le taux de disponibilités sont :

• La mise en cluster
Un Cluster est une grappe d’ordinateurs formant des nœuds. Ces nœuds sont capables de fonctionner
indépendamment les uns des autres. Il existe deux types de cluster. Les clusters de calculs permettent
d’effectuer une tâche répartie sur tous les serveurs pour bénéficier de la somme de puissance de calcul.
Le cluster de haute disponibilité permet de rediriger un traitement sur le premier nœud disponible.
Ainsi, tant qu’un nœud est disponible, ce traitement est sûr d’être réalisé.
Windows 2003 server édition entreprise intègre des fonctions de clustering. Sous linux, HeartBeat
permet de réaliser du clustering haute disponibilité.

• La disponibilité des données


Essentiel – Sécurité 5 / 74

Les technologies RAID permettent de mettre en place une disponibilité accrue des données sur un
serveur. Plusieurs types de raid existent mais le raid 1 et le raid 5 sont les principaux utilisés. Le raid 1
(mirroring) effectue une copie bit à bit des données écrites d’un disque sur un ou plusieurs autres
disques. Le raid 5 (disk array with block-interleaved distributed parity) permet d’écrire sur plusieurs
disques avec un bit de parité. Le bit de parité n’étant jamais sur le même disque, si un des trois disques
tombe en panne, il est possible de recalculer la partie manquante.
Le raid peut être géré de manière matérielle ou logicielle. Linux comme Windows 2003 gèrent
parfaitement plusieurs technologies raid.
Certains services réseaux tels que DFS pour Windows ou DRDB et GFS pour Linux permettent de
mettre en place une haute disponibilité des données en réseau.

• La redondance matérielle
Il est important de pouvoir se prémunir contre une panne matérielle sur un serveur. Pour cela, il est
nécessaire que celui-ci gère la redondance matérielle et le remplacement « à chaud », c'est-à-dire sans
éteindre le serveur (hot swapping). Cela permet d’assurer une continuité du service le temps de la
réparation. Pratiquement toutes les pièces contenues dans un ordinateur peuvent être redondante. Le
processeur, la mémoire, les ventilateurs, les disques durs, les lecteurs…

• L’équilibrage de charge (Load Balancing)


Le load balancing consiste en la répartition des tâches sur plusieurs machines de manière à ce que ce
soit celle dont la charge est la moins importante qui effectue le calcul. Ce système est utilisé
généralement pour la répartition de services utilisant des requêtes TCP/IP telles que les serveurs web,
mail, DNS etc. afin qu’ils puissent répondre dans un temps correct. Ce service est transparent pour
l’utilisateur qui ne voit qu’un seul serveur. LVS (Linux Virtual Server) permet d’effectuer cette tâche
avec linux. Windows 2003 gère également le load balancing.

• La sauvegarde
Le service d’archivage permet de garder une trace datée des données et permet de se prémunir contre
la modification ou suppression accidentelle de données, ce que le raid ne permet pas. Les sauvegardes
doivent êtres programmées pour s’effectuer périodiquement, et idéalement sur un site distant, afin de
prévenir une catastrophe naturelle ou un vol.
Les sauvegardes s’effectuent généralement sur des bandes, telles que les LTO (100 à 200 go), sur des
médias de types Syquest, Zip et Jazz, ou sur des SAN et des NAS.

Il existe 5 grandes catégories de sauvegardes :

o Copie
Tout est sauvegardé, sans distinction. Le bit d’archivage n’est pas remis à zéro, ce qui veut dire que les
fichiers ne sont pas déclarés comme sauvegardés pour le système.

o Complète
Tout est sauvegardé, sans distinction. Le bit d’archivage est remis à zéro

o Incrémentale
Toutes les données modifiées ou ajoutées depuis la dernière sauvegarde (complète ou incrémentielle)
sont prises en compte. Ainsi, dans le cas d’une planification hebdomadaire débutant un lundi par une
complète, la bande du mercredi sauve les fichiers modifiés depuis le Mardi. Une restauration
nécessitera potentiellement plusieurs bandes si les données ont été modifiées à des jours différents.

o Différentielle
Toutes les données modifiées ou ajoutées depuis la dernière sauvegarde complète sont prises en
compte. Ainsi, et à l’inverse d’une incrémentale, dans le cas d’une planification hebdomadaire
débutant un lundi par une complète, la bande du mercredi sauve les fichiers modifiés depuis la
complète du lundi sans prendre en compte celle de Mardi. Une restauration nécessitera au plus la
dernière bande et la complète.
Essentiel – Sécurité 6 / 74

o Recyclage
Les bandes sont effacées et réutilisées. Il faudra bien faire attention à avoir plusieurs jeux de
sauvegarde recyclés à des moments différents pour s’assurer que tout n’est pas effacé en même temps
et garantir un historique constant, sans même parler d’erreurs possibles de sauvegarde le jour du
recyclage général !

1.1.2. Intégrité

Le contrôle d’intégrité consiste à vérifier qu’une information reçue doit être identique à
l’information transmise. L'entreprise doit prendre toutes les mesures nécessaires pour empêcher que
les données ne soient modifiées pendant la transmission, que ce soit de façon délibérée ou
accidentelle. L’intégrité des données peut être protégée par les firewalls, les anti-virus et la sauvegarde
des données.

Le logiciel antivirus vérifie l'intégrité de l'information et des données reçues et veille à ce que les
données transmises ne soient pas contaminées. Lorsqu'il est mis à jour régulièrement, l'antivirus est un
outil de sécurité peu coûteux, mais extrêmement efficace.

La cryptographie permet également d’assurer l’intégrité des données en empêchant la lecture des
données par une personne n’en possédant pas les droits. Le checksum est une suite de chiffres et de
lettres générées en faisant la somme des octets qui le composent. Il définit de manière précise (mais
non unique) un fichier ou d'un bloc de données, afin de savoir s’il a été altéré de manière volontaire ou
non. Le checksum est par exemple utilisé dans un datagramme IP pour savoir si lors de la
transmission, il n’a pas été altéré. Certains HIDS (Host Intrusion Détection System) possèdent une
base de données gérant l’intégrité des fichiers. C’est le cas de LIDS, un IDS open source pour linux.

Les algorithmes de hachage les plus utilisés actuellement sont :

• MD5 : C’est un algorithme développé par Ron Rivest en 1991 qui crée une empreinte de 128
bits. Il nous permet de vérifier l’intégrité d’un document mais d’une manière plus sécurisée
qu’un banal contrôle de parité. Le MD5 génère sa clef lors de l’envoi d’un message et la
transmet avec le message afin que le récepteur puisse recalculer la clef du message et la
comparer à celle envoyé. MD5 se retrouve dans la plupart des langages de programmation
(famille C, Java, PHP, Python, …) ce qui fait de lui un algorithme très utilisé. Il a été
développé de sorte que les ressources nécessaires soient peu importantes. Cet algorithme est
capable de générer une clef quelque sois la taille en entré du message. Il n’est aujourd’hui plus
considéré comme sûr, car il a été cassé durant l'été 2004 par des chercheurs chinois. Leur
attaque a permis de découvrir une collision complète sans passer par une méthode de type
brute-force. Sur un système parallélisé, les calculs n'ont pris que quelques heures. Le MD5
n'est donc plus considéré comme sûr mais l'algorithme développé par les Chinois concerne des
collisions quelconques et ne permet pas de forger une collision sur une signature spécifique.
On peut désormais générer une infinité de collisions (deux chiffrements distincts qui génèrent
la même clef) avec un texte quelconque qui se verra concaténé avec les deux messages
formant la collision complète. On ne peut toutefois pas générer une signature particulière et la
falsification de documents reste un exercice difficile. Il n’est donc plus conseiller d’utiliser cet
algorithme. De plus les initiatives de créations de rainbow tables (bases de données de hash
pré-calculés) sont maintenant monnaies courantes sur internet, et il suffit donc généralement
que de quelques secondes pour déchiffrer un md5.

• SHA-1 (Secure Hash Algorithm) est une fonction de hachage cryptographique conçue par la
NSA (National Security Agency), et publiée par le gouvernement des États-Unis comme un
Essentiel – Sécurité 7 / 74

standard fédéral de traitement de l'information. Elle produit un résultat de 160 bits. Il prend
2^64 bits en entrée, soit deux millions de Téra octets. Le SHA-1 fonctionne de la même
manière que le MD5.
Le 17 Août 2005 a été présenté à la conférence CRYPTO 2005, une méthode permettant de
trouver une collision dans le SHA-1 complet (80 tours) de 128 bits avec 263 opérations. Ce qui
nécessite encore à l’heure actuelle une quantité de calcul extrêmement important. Toutefois il
est malgré tout conseiller d’utiliser une version améliorée de SHA-1 telle que SHA-256.

1.1.3. Confidentialité

La confidentialité consiste à ne rendre l'information compréhensible que par son destinataire. Le


principal outil permettant la confidentialité est la cryptographie. Suivant la confidentialité désirée, il
est possible de crypter un transfert de donnée, notamment grâce à IPSEC ou à SSL, un fichier, un
dossier, une partition et même l’espace mémoire d’échange (Swap). Il existe principalement trois
types de chiffrement.

• Les chiffrements à clef privée : la clé de chiffrement, est identique à la clé de déchiffrement.
• les chiffrements à clef public : les clés de chiffrement et de déchiffrement sont distinctes.
• les mixtes : tirer au hasard une clé secrète, chiffrer le message avec un algorithme à clé privée
en utilisant cette clé, puis chiffrer cette clé aléatoire elle-même avec la clé publique du
destinataire.

La bonne gestion du contrôle d’accès (ACL) et des authentifications permet également de limiter
l'entrée aux seuls utilisateurs désirés. Le chiffrement des données sera traité plus en détaille dans la
troisième partie de ce cours.

1.1.4. Non répudiation


L'entreprise doit s'assurer que l'autre partie engagée dans une transaction ne puisse nier qu'une
transaction a eu lieu. Cela à deux valeurs. Lors de transactions, il est important de s’assurer, pour le
récepteur que l’expéditeur est le bon (non répudiation d'origine), et vice-versa (non répudiation de
remise), cela garantie la qualité du message. Les signatures et les certificats numériques sont de plus
en plus utilisés pour assurer la non répudiation des transactions.

Le système de log permet également de garder une trace des actions effectuées sur un serveur. Leur
analyse permet de savoir ce qui s’y est passé et à quelle heure. La plupart des logiciels créent des
fichiers de logs, les différents matériels tels que les switchs, les routeurs, les firewall, … les gèrent
également. Lors d’une intrusion dans un système d’information, le pirate tentant de passer le plus
inaperçu possible, tentera de modifier ces logs pour cacher sa présence. Il est donc également
nécessaire de limiter l’accès de ces fichiers de logs. Un serveur syslog peut être un moyen de gérer la
sécurité des fichiers de logs.

1.2. Les vulnérabilités


1.2.1. Les menaces et leurs origines
• Origines physiques : elles peuvent être d'origine naturelle ou criminelle :
o Désastre naturel (inondation, séisme, incendie)
o Environnement (intempéries, taux d'humidité de l'air, température) ;
o Panne matérielle ;
o Panne du réseau ;
o Coupure électrique ;
Essentiel – Sécurité 8 / 74

• Origines humaines : elles peuvent être intentionnelles ou fortuites :


o Erreur de conception (bogue logiciel, mauvais dimensionnement du réseau) ;
o Installation de software ‘troués’ ;
o Navigation web non maîtrisée ;
o Modification d’une configuration ;
o Manque de prudence face aux mails inconnus ;
o Crédulité : Attaques fishing et Social Engineering ;

• Origines opérationnelles : elle sont lié à un état du système à un moment donné :


o Bogue logiciel : Buffer Overflow ;
o Dysfonctionnement logiciel ;
o Problèmes de configuration ;

La plupart de ces problèmes sont traduites par des failles provoquant la possibilité d’attaques telles
que les dénis de services, et laissent des portes grandes ouvertes aux pirates.

1.2.2. Le manque de politique efficace

50% de la sécurité a tout simplement trait au bon sens. Il peut s’agir simplement, par exemple,
de vérifier l’identité des personnes avant de les laisser entrer dans les locaux, de ne communiquer
aucune information par téléphone à un inconnu ou encore d’éviter les mots de passe trop simple.
Pourtant, de nombreuses entreprises n’ont pas de politique de sécurité efficace. Elles sont
généralement considérées comme lourdes et chères, et l’action n’est pas directement visible. Il en
découle de nombreux problèmes suite à une réflexion trop hâtive. Il faut un document écrit
compréhensible par tous et en corrélation avec le niveau de sécurité que l’on souhaite pour son
entreprise. La mise en place d'une politique de sécurité adéquate est essentielle à la bonne sécurisation
des réseaux et du système d'information. Lors de la mise en place d'une politique de sécurité, tout le
monde doit y être impliqué (utilisateurs, administrateurs, etc).

Un élément critique souvent négligé est la politique sur la réponse d'incident. Quelle est la réponse à
donner si un des points de la politique de sécurité est violé. La politique de sécurité doit prendre en
compte le niveau de risque que l’entreprise est prête à assumer et sur quelles parties. On ne peut pas
tout sécuriser à 100%, car les coûts ne seraient généralement pas envisageables, qu’est ce qui revête la
plus grande importance pour l’entreprise ?

La politique de sécurité d’une entreprise doit s'articuler autour de 5 axes :

• Sensibiliser aux risques pesant sur les systèmes d’information et aux moyens disponibles pour
s'en prémunir.
• Créer une structure chargée d'élaborer, de mettre en œuvre des règles, consignes et procédures
cohérentes pour assurer la sécurité des systèmes informatiques.
• Promouvoir la coopération entre les différents services et unités de l'établissement pour
l'élaboration et la mise en œuvre des règles consignes et procédures définies.
• Susciter la confiance dans le système d'information de l'établissement.
• Faciliter la mise au point et l'usage du système d'information pour tous les utilisateurs
autorisés de l'établissement.

1.2.3. La Faiblesse de configuration

Un des premiers problèmes de sécurité vient de la faiblesse des configurations appliquées aux
différents matériaux. Les administrateurs réseaux préfèrent souvent une configuration d’un serveur,
d’un routeur, ou d’un point d’accès wifi qui fonctionne bien et qui est faite rapidement. Inclure de la
sécurité dans un équipement peut prendre du temps, ou peut compliquer fortement le système. Ainsi,
Essentiel – Sécurité 9 / 74

pour le wifi, par exemple, il n’est pas rare de voir des bornes qui utilisent des clefs WEP, plutôt que
des clefs WPA. Pourtant, on sait parfaitement qu’il ne suffit que de quelques minutes pour cracker une
clef WEP, alors que le WPA avec une authentification radius nécessite des ressources énormes.

1.2.4. Les Faiblesses technologiques


Les équipements informatiques doivent être en concordance avec la politique de sécurité que
l’on s’est fixée. Il ne faut donc pas hésiter à renouveler un matériel qui, même s’il fonctionne encore,
n’est pas prêt à évoluer. Un matériel nouveau offrira toujours plus de sécurité mais aussi plus de
performance.
Ainsi, vous souhaitez par exemple configurer des connections VPN. Pour ce faire, le matériel que vous
possédez actuellement est déjà âgé de quelques années, et il ne permet donc pas d’implémenter
l’algorithme que vous aviez choisis pour effectuer votre tunnel. Il est donc très préférable de le
changer, même si cela est un coût supplémentaire, que de changer d’algorithme de cryptage pour une
version plus ancienne, donc moins sécurisée.

1.3. Les motivations d’intrusions


Il existe différents types de pirates informatiques. Chacun de ces types de pirates possède des
motivations différentes.

Les Hackers
Les hackers sont avant tout des passionnés d’informatique. Ils veulent comprendre le fonctionnement
des systèmes et tester à la fois les capacités des outils et leurs connaissances. La plupart des hackers
affirment s’introduire dans les systèmes par passion pour l’informatique et non dans l’objectif de
détruire ou de voler des données. Ils profitent généralement de leur passage pour indiquer à
l’administrateur réseau qu’une faille se trouve dans leur système. C’est pour eux un challenge à relever
plein de « fun et d’adrénaline » que de pénétrer dans des systèmes informatisés de plus en plus
protégés. Leur reconnaissance dans leur milieu est d’autant plus grande qu’ils effectuent un hack
difficile. D’autres y voient parfois le moyen de ‘présenter’ leurs CV aux entreprises.

Les Crackers
Ce type de pirate est plutôt un criminel informatique dont le but principal est de détruire, voler des
données, mettre hors service des systèmes informatiques ou de s’approprier un système informatique
en vue de demander une rançon. Ils ne sont toutefois pas très nombreux car cela demande
généralement de très hautes compétences. Les entreprises qui sont victimes de crackers préfèrent
généralement ne pas divulguer l’information, par souci de préserver l’image de leurs entreprises. Les
statistiques sur les entreprises piratées sont donc en dessous des valeurs réelles. Généralement appelés
les Black Hacker, ils peuvent également offrir leur service à une entreprise pour effectuer de
l’espionnage industriel ou vouloir porter atteinte à l’image de l’entreprise.

Les script-kiddies (lamers)


Ce sont de jeunes pirates qui agissent uniquement à l’aide des logiciels prêts à utiliser. Ils sont dans
une logique de destruction, de gain financier ou souhaitent juste épater leurs amis. Ils utilisent des
outils qu’ils ne maîtrisent pas, ni ne comprennent le fonctionnement tels que des rootkits, des chevaux
de Troie ou des exploits codés par de vrai hackers. De nombreux Kiddies ‘travaillent’ dans le milieu
du warez où ils recherchent des espaces de stockages. Près de 90 % des attaques leur sont imputables.
Essentiel – Sécurité 10 / 74

1.4. Les types d’attaques


1.4.1. Reconnaissance
Un pirate commence toujours par s’informer un maximum sur sa cible. Pour cela, il va chercher à
‘cartographier’ le réseau. Il existe plusieurs manières pour effectuer de la reconnaissance.

La première méthode pour s’informer sur une entreprise est d'utiliser un ensemble de techniques non
intrusives, qui ne sont donc pas détectables.
Un moyen simple est d’utiliser les ressources publiques telles que le web ou Usenet (newsgroup). Des
recherches sur ces ressources permettent de voir si par exemple un administrateur n’aurait pas eu un
problème qu’il ait posté sur un forum et donc d’en extraire un grand nombre d’informations
intéressantes pour préparer l’attaque (types de systèmes, version, …). Les outils réseau Whois et
nslookup permettent également de récupérer des informations sur la cible.

L’écoute d’une connexion réseau et la technique qui permet d’avoir le plus de résultat, puisque d’après
certaines informations récupérées, il est possible en comparant certaines valeurs de savoir par exemple
quels systèmes d’exploitations sont utilisés (en observant par exemple la taille initial de la fenêtre
TCP). Cette technique s’appelle l’OS fingerprint.

Système d’exploitation Facteur multiplicateur de la fenêtre de réception


Linux 2.4.0 5840
MacOS 10.1 32768
OpenBSD 3.3 64240
FreeBSD 9.2 16384
Windows XP 8192
Windows 2000 server 17520
Windows 2003 server

La reconnaissance semi-active est un ensemble de méthodes également non intrusives. Elle est dite
semi active car malgré le faite qu’elles ne soient pas dangereuses, elles sont détectables par des IDS.

L’outil traceroute permet de voir par où passent les paquets et ainsi savoir quels matériels réseaux
sont sur le chemin d’accès au serveur. Le scan de port est une technique très utilisée, les outils
permettant cette attaque pullulent sur le web.
Il existe deux méthodes distinctes de scan. Le scan horizontal permet de tester les réponses sur un port
pour une rangée complète d’adresses IP.

Exemple : Scanner le port 80 sur la rangée d’adresse 193.252.0.0 à 193.252.255.255. Le scan vertical
permet de tester la totalité des ports d’une adresse ip précise. Il n’est pas rare, après qu’un IDS ait
recensé un scan horizontal, qu’il soit suivi par un scan vertical. Le scan vertical est déjà une preuve
assez intéressante que quelqu’un s’intéresse à votre machine. L’OS fingerprint peut être également
utilisé à ce stade de la recherche d’informations. L’écoute de port est longue et donc il est plus rapide
d’envoyer des requêtes TCP/IP modifiées pour récupérer les réponses attendues. Tout de fois, si la pile
TCP/IP à été correctement sécurisée, les requêtes n’apporteront pas de réponses.

Les techniques de reconnaissance active sont bien plus intrusives. Elles sont clairement détectables et
reconnaissables. Elles doivent mettre en alerte l’administrateur réseau car il y a un risque potentiel
d’attaque à la suite si les résultats sont satisfaisants pour le pirate. L’exploitation de certaines
propriétés de protocoles tels que SNMP, SMB ou RPC permettent de récupérer de nombreuses
informations. Il existe également des outils de détections automatisées de vulnérabilités tels que
Nessus, qui permettent de lister les trous de sécurité existant.
Essentiel – Sécurité 11 / 74

L’utilisateur lui-même peut à son insu donner des informations qui aideraient le pirate dans sa
recherche d’information. Il est donc toujours important de rappeler que le facteur humain est la
première cause de défaillance informatique. Le social engineering (cf. 1.5) est une technique qui tire
partie de la crédulité des gens pour leur soutirer des informations confidentielles.

1.4.2. Accès

Les tentatives d’accès se déroulent une fois que le pirate a accumulé suffisamment
d’informations lui permettant de mener à bien son attaque. Il se peut tout de fois que celui-ci ait un
accès physique dans les locaux ou aux serveurs. Dans le cas d’une réelle intention de nuire, il sera
donc très simple d’interrompre le bon fonctionnement des machines en effectuant une coupure de
courant, en éteignant la machine, ou encore en volant ou cassant du matériel.

De nombreux types d’attaques ‘distantes’ sont envisageables pour obtenir un accès sur la machine :

• L’usurpation d'identité : se faire passer pour une machine « ami »


• L’hijacking (détournement de session) consiste à intercepter une session TCP initiée
entre deux machines afin de la détourner. Dans la mesure où le contrôle
d’authentification s’effectue uniquement à l’ouverture de la session, un pirate
réussissant cette attaque parvient à prendre possession de la connexion pendant toute
la durée de la session. Beaucoup d’attaques viennent de l’intérieur des entreprises.
• L’élévation de privilèges consiste à exploiter une vulnérabilité d'une application en
envoyant une requête spécifique, non prévue par son concepteur, ayant pour effet un
comportement anormal conduisant parfois à un accès au système avec les droits de
l'application.
• L’utilisation de vers ou de chevaux de Troie
• L’utilisation d’exploits après avoir détecté une faille quelconque.

1.4.3. Déni de service

Les attaques DoS (Denial of Service) visent à troubler le bon fonctionnement d'un service en
le rendant incapable de répondre aux utilisateurs. Une machine serveur offrant un service à ses clients
doit traiter plusieurs requêtes (On peut imaginer un serveur web ou plusieurs personnes consultent des
pages en même temps). Lorsque ce service est perturbé, il y a dénis de service.

Il existe plusieurs types d’attaques DOS.

• Exploitation de faiblesses des protocoles TCP/IP.


• Exploitation de vulnérabilité des logiciels serveurs
• Exploitation de vulnérabilités de scripts (php, perl, …) sur les sites web
• Arrêt du service

Plus généralement, il y a déni de service dès qu’on empêche l’accès à ce service de manière
intentionnelle.
La plus habituelle des attaques DOS consiste en la saturation de demande d’un service. Un serveur
étant capable de répondre qu’à un nombre limité de demandes, lorsque la demande est trop importante
durant une durée élevée, le serveur va saturer et ne plus accepter qu’une partie des requêtes lui
parvenant. Dans la durée, il est possible de déconnecter le serveur du réseau, de le faire redémarrer,
voir d’endommager un composant.

Une évolution de cette attaque est le DDOS (Distributed Denial of service). Elle repose sur la
multiplication d’attaques DOS. Un grand nombre de machines-zombies sont sous le contrôle du pirate
(donc préalablement hackées). En utilisant la technique de rebond, (il ne lance pas l’attaque depuis sa
machine), le serveur est assaillie par un nombre de requêtes importantes et n’est rapidement plus
Essentiel – Sécurité 12 / 74

capable de répondre. Cette attaque utilise généralement plusieurs centaines voir plusieurs milliers de
botnet et peuvent mobiliser plusieurs gigabits de bande passante.

L’une des plus grosse attaque DDos fut celle de 2002 portée sur les serveurs DNS racine. 7 des 13
serveurs sont tombés sous la charge des pirates. Récemment, (le 4 mai 2006) une attaque DDos a été
portée sur des serveurs hébergeant un très grand nombre de blogs, les rendant indisponibles durant
plusieurs heures.

1.5. Techniques d’attaque


Voici quelques techniques fréquemment utilisées par les pirates.

Le ‘social engineering’ désigne l’art de manipuler des personnes afin de récupérer des informations
confidentielles ou nécessaires à la préparation de l’attaque. Il s’agit ainsi d’une technique consistant à
obtenir des informations de la part des utilisateurs par téléphone, courrier électronique, courrier
traditionnel ou contact direct. Elle est basée sur l’utilisation de la force de persuasion et l’exploitation
de la naïveté des utilisateurs en se faisant passer pour une personne de la maison, un technicien, un
administrateur, ou même un client.
Le hacker va généralement tenter d’utiliser un mélange des quatre possibilités pour être encore plus
crédible et va d’abord tenter de soutirer les informations aux personnes les plus ‘faibles’, comme un
nouveau employé.
Le ‘jeu’ du hacker doit être parfait afin de ne pas éveiller les soupçons. Il n’hésitera pas à faire
imprimer du papier à filigrane pour une lettre, ou d’enregistrer des bruits de bureaux pour qu’un coup
de téléphone soit plus crédible.

Le « Spoofing IP » consiste à remplacer l’adresse IP de l’expéditeur d’un paquet IP par l’adresse IP


d’une autre machine. Cette technique permet ainsi à un pirate d’envoyer des paquets anonymement, de
manière plus sûre que de passer par un proxy car les logs de celui-ci gardent l’adresse ip d’origine.
L’adresse ip n’est toutefois pas modifiée dans le paquet mais masquée. Le spoofing est notamment
utilisée pour passer un firewall.

• En se faisant passer pour une machine ayant le droit de communiquer avec la machine cible
(généralement une machine interne au réseau), le firewall ne bloquera plus l’accès (dans le cas
de règles basées sur les adresses IP) [1].
• Le hacker devra encore rendre inaccessible la machine spoofée car c’est elle qui recevra les
réponses de la cible. Sinon, n’ayant pas initialisé avec elle la communication, l’ordinateur
spoofé mettra fin à la connexion [2].
• Il est ensuite nécessaire d’accuser réception du dernier paquet reçu pour finir d’établir la
connexion [4].
• Pour cela, il faut renvoyer le bon numéro de séquence (voir structure d’un segment TCP). Il
faut donc écouter la connexion pour déterminer ce numéro [3].
• Si cela s’avère impossible, il est toujours possible d’envoyer des numéros de séquences à
l’aveugle.
Essentiel – Sécurité 13 / 74

Lors d’une attaque de type « DHCP Spoofing », le pirate met en place un serveur DHCP (Dynamic
Host Configuration Protocol) au sein du réseau afin de répondre aux requêtes effectuées par les clients.

Il va ainsi pouvoir fournir de mauvaises adresses à l’ordinateur.

• Une fausse adresse de passerelle peut lui permettre de rediriger les flux des ordinateurs afin
de les écouter et d’en extraire des informations telles que des mots de passe.
• Une fausse adresse de DNS pourrait lui permettre de rediriger les requêtes web sur des
serveurs disposant d’informations corrompues et donc ensuite faire passer une demande de
www.mabanque.com pour www.pirate.com sans que l’utilisateur s’en rende compte.

Le « Source Routing » est une méthode de détournement de paquets consistant à utiliser l'option
source routing du protocole IP. Cela permet de spécifier le chemin à suivre pour les paquets IP, à
l'aide d'une série d'adresses IP indiquant les routeurs à utiliser. En exploitant cette option, le pirate peut
indiquer un chemin de retour pour les paquets vers un routeur sous son contrôle. C’est par exemple
cette méthode qui permet lors d’un spoofing de récupérer les paquets émis par la cible.

Il existe deux méthodes de source routing.

• La strict permet de définir la totalité des routeurs par lequel va passer le paquet.
• Le source routing relatif consiste à imposer seulement certains passages.
Essentiel – Sécurité 14 / 74

Le source routing est utilisé par exemple lors d’un traceroute. La plupart des équipements réseaux
désactivent maintenant cette fonctionnalité.

Dans l’attaque « Man In the Middle », l'attaquant se situe entre le client et l'application Internet réelle
et enregistre toutes les communications entre les systèmes. Ce type d'attaque est valide pour les
communications HTTP et HTTPS. Le client se connecte au serveur corrompu comme s'il s'agissait du
vrai site, pendant que ce serveur se connecte au vrai site. Dans le cas des communications sécurisées
HTTPS, une connexion SSL est établie entre le client et le proxy de l'attaquant et le proxy de
l'attaquant crée sa propre connexion SSL avec le véritable serveur. Pour que ce genre d'attaque
réussisse, il faut que l'attaquant arrive à diriger le client vers son proxy plutôt que vers le vrai serveur.

Le « SYN Flood »
Une machine A envoie à une machine Y un paquet SYN semblant venir d'une machine X non
accessible -éteinte ou inexistante-. La machine Y envoie donc le second paquet pour l'ouverture de la
connexion et attend la réponse de la machine X, qui ne viendra jamais. Ainsi, la machine Y aura une
connexion monopolisée pendant un certain laps de temps. Si la machine A envoie de nombreux
paquets SYN, la machine Y peut saturer et ne plus accepter de nouvelles connections.
Cette attaque fait donc partie des attaques du type Dénis de Service, puisque la machine cible devient
indisponible et refuse ainsi un service à d'autres utilisateurs.

Le « Smurf » ou « Attaque par réflexion »


La machine attaquante falsifie d’abord son adresse IP pour se faire passer pour la machine cible. Elle
envoie alors un ping sur un serveur de broadcast. Il le fera suivre à toutes les machines qui sont
connectées qui renverront chacune une réponse au serveur qui fera suivre à la machine cible. Celle-ci
sera alors inondée sous les paquets et finira par se déconnecter.

« L’ARP cache Poisonning » ou « ARP Spoofing » est une attaque « Man in the Middle ». Elle
repose sur le protocole ARP (Address Resolution Protocol). L'attaque consiste à s'interposer entre
deux machines du réseau et de transmettre à chacune un paquet ARP falsifié indiquant que l’adresse
MAC de l'autre machine a changé, l'adresse ARP fournie étant celle de l'attaquant. Les deux machines
cibles vont ainsi mettre à jour leur Cache ARP. De cette manière, à chaque fois qu'une des deux
machines souhaitera communiquer avec la machine distante, les paquets seront envoyés au pirate.
Essentiel – Sécurité 15 / 74

« Pharming » ou « DNS cache poisonning »


Les serveurs DNS possèdent un cache permettant de garder pendant un certain temps la
correspondance entre un nom de machine et son adresse IP. En effet, un serveur DNS n'a les
correspondances que pour les machines du domaine sur lequel il a autorité. Pour les autres machines, il
contacte le serveur DNS ayant autorité sur le domaine auquel appartiennent ces machines. Ces
réponses, pour éviter de sans cesse les redemander aux différents serveurs DNS, seront gardées dans
ce cache.

Le DNS Cache Poisoning consiste à corrompre ce cache avec de fausses informations. Pour cela le
pirate doit avoir sous son contrôle un nom de domaine (ici pirate.fr) et le serveur DNS ayant autorité
sur celui-ci (ns.pirate.fr).

L'attaque se déroule en plusieurs étapes :

• Le pirate envoie une requête vers le serveur DNS cible demandant la résolution du nom d'une
machine du domaine pirate.fr (www. pirate.fr)
• Le serveur DNS cible relaie cette requête à ns. pirate.fr puisque c'est lui qui a autorité sur le
domaine pirate.fr
• Le serveur DNS du pirate (modifié pour l'occasion) enverra alors, en plus de la réponse, des
enregistrements additionnels (dans lesquels se trouvent les informations falsifiées à savoir un
nom de machine publique associé à une adresse IP du pirate)
• Les enregistrements additionnels sont alors mis dans le cache du serveur DNS cible
Essentiel – Sécurité 16 / 74

Une machine faisant une requête sur le serveur DNS cible demandant la résolution d'un des noms
corrompus aura pour réponse une adresse IP autre que l'adresse IP réelle associée à cette machine.
Essentiel – Sécurité 17 / 74

2. Politique de sécurité
Une politique de sécurité décrit les différentes règles et procédures élémentaires de protection et
d’utilisation d’un système d’information. On compare souvent la politique de sécurité à une chaîne,
chaque maillon représentant un élément de l’entreprise. La chaîne est alors aussi solide que son
maillon le plus faible.

2.1. Le processus perpétuel de sécurisation (Security


Wheel)

La sécurité est un processus en perpétuelle évolution. Il fait toujours faire évoluer son système et ses
techniques car si à un moment donné, le niveau de sécurité est estimé satisfaisant, il baisse au fur et à
mesure que le temps passe.

Le « Security Wheel » se découpe en quatre parties cycliques auquel s’ajoute une cinquième qui n’est
a réalisée qu’une seule fois :

• Créer une politique de sécurité performante et adaptée aux besoins.


• Sécuriser le réseau
• Surveiller et répondre aux attaques
• Tester l’état de la sécurité en place
• Analyser et améliorer la sécurité

Sécuriser le réseau :
Il faut mettre en place la politique de sécurité définie en tenant compte des utilisateurs, du budget
alloué et des points clefs. Il faut être capable de mesurer le niveau de sécurité du réseau. Il est
nécessaire de pouvoir évaluer la complexité du réseau en connaissant sa topologie et l’emplacement
des ressources critiques.

Surveiller et répondre aux attaques :


Une fois le réseau sécurisé, il est nécessaire de constamment le surveiller afin d’intercepter le plus
rapidement possible toutes les menaces potentielles. Si un problème apparaît, il faut rapidement
prendre les bonnes décisions pour le stopper. Les procédures de réponses spécifiques doivent ensuite
être intégrées dans la politique de sécurité.

Tester l’état de la sécurité en place :


Afin de détecter de nouvelles vulnérabilités, on peut utiliser le scan pour examiner régulièrement les
configurations de tous les composants du réseau. L’évolution du réseau et des services/technologies
peuvent créer de nouveaux trous de sécurité. Il faut ainsi pouvoir déterminer quels composants du
réseau sont les plus vulnérables et recommander des méthodes d'améliorations.
Essentiel – Sécurité 18 / 74

Analyser et améliorer la sécurité :


Il faut ensuite analyser toutes les mesures effectuées dans les autres parties du cycle de sécurité afin
d’identifier les ressources qui nécessitent des modifications. Il faut bien entendu suivre attentivement
l’évolution des nouvelles menaces et en tenir compte dans la politique de sécurité.

2.2. Objectifs et Considérations


Les objectifs des politiques de sécurité sont :

• Savoir quelles ressources protégées


• Evaluer les risques ainsi que leurs conséquences
• Mettre en place différentes solutions face à ces risques
• Sensibiliser le personnel aux problèmes de sécurité informatique
• Surveiller et détecter vulnérabilités/intrusions

Chaque entreprise présente un diagramme organisationnel qui lui est propre ce qui entraîne une
politique de sécurité différente pour chacune d’entre elles.

2.3. Méthodes
2.3.1. MARION

Méthodologie d'Analyse de Risques Informatiques Orientée


par Niveaux

C’est une méthode d’audit de sécurité (ou analyse de


risques) élaborée par le CLUSIF (Club de la sécurité des
systèmes d’information français) et utilisée surtout dans les
années 80 – 90. Elle permet par le biais de questionnaires
d’évaluer la sécurité d’une entreprise et de déterminer des
solutions aux problèmes présents. Chacun d’eux débouchent
sur une note de 0 à 4 (27 indicateurs répartis en 6 catégories)
évaluant l’entreprise par rapport à un standard jugé
satisfaisant, mais aussi par rapport aux autres entreprises ayant
auparavant utilisées cette méthode. Les résultats permettent
de plus de déterminer le coût d’impact maximum.

Elle se présente en quatre phases :

• phase 0 : initialisation de l'étude


• phase 1 : identification des points faibles de la politique de sécurité
• phase 2 : mise en avant des différentes menaces potentielles
• phase 3 : plan d'action

Principal défaut : La plupart des entreprises s’en tiennent au niveau standard défini par l’application de
cette méthode aux autres entreprises. De plus elle ne permet d’évaluer qu’un seul système/site.

2.3.2. MELISA

MELISA est une méthode d’audit de vulnérabilités mise au point par la DGA (Direction
Générale des Armements). Il s’agit d’une méthode lourde à appliquer car composée d’un thesaurus
Essentiel – Sécurité 19 / 74

imposant de questions. Elle est donc destinée soit à de très grosses entreprises, soit à des institutions
militaires. Elle fut reprise par la société CF6 qui en fit son cheval de bataille puis la délaissa par la
suite.

2.3.3. COBRA

Développée depuis 2001 par C & A Systems Security Limited, cette méthode est compatible
ISO 17799, et principalement destinée aux administrations et grandes entreprises. Elle est vendue sous
forme d’un logiciel, permettant à l’entreprise de procéder à l’audit elle-même sans passer par des
consultants externes onéreux. Un autre avantage de cette méthode est la génération automatique du
questionnaire permettant l’audit pour chaque entreprise selon ses propres critères.

2.3.4. MEHARI

MEthode Harmonisée d'Analyse de RIsques

Le CLUSIF, observant une évolution nécessaire de la méthode MARION (développement des


réseaux, travail coopératif entre partenaires), a élaboré la méthode MEHARI. Cette dernière permet
d’évaluer les risques au regard d’objectifs fixés, et non plus par un niveau standard. Ensuite elle prend
en compte l’évaluation de plusieurs sites, de plusieurs systèmes liés. Le coût d’impact calculé pour
cette méthode correspond au minimum, contrairement à MARION. Enfin, les mesures de sécurité sont
choisies en fonction de leur efficacité aux vues des différents scénarios de sinistres pour l’entreprise.

2.3.5. ISO 17799

L’ISO 17799 est la dernière version de la norme BS7799-1, un code de règles détaillé et
commenté pour la sécurité des systèmes d’information créé par le BSI (British Standard Institute).

D’après ces normes, la démarche de sécurisation d’un système d’information doit être composée de
quatre étapes :
• 1. périmètre à protéger (liste des biens sensibles),
• 2. nature des menaces,
Essentiel – Sécurité 20 / 74

• 3. impact sur le système d'information,


• 4. mesures de protection à mettre en place.

Les pratiques à implémenter sont décrites à travers 11 thèmes :

• Politique de sécurité
• Organisation de la sécurité
• Classification des informations
• Sécurité et les ressources humaines
• Sécurité physique
• Gestion des opérations et communications
• Contrôle d'accès
• Développement et maintenance des systèmes
• Gestion des incidents
• Plan de continuité d’activité
• Conformité légale

Défaut : Alors que pour les étapes 1 à 3 des indications précises sont fournies, l’étape 4 n’est que très
peu détaillée. Ce problème est pallié dans la norme BS7799-2 qui indique les exigences d’un ISMS
(Information Security Management System) qui est chargé de gérer la sécurité d’un système
d’information.
Essentiel – Sécurité 21 / 74

3. Cryptographie

3.1. Chiffrement
Un chiffrement fiable repose sur trois éléments principaux :

• La qualité de l'algorithme mathématique : l'algorithme peut être public, cela n'empêchera pas
qu'il soit robuste.
• La qualité de l'implémentation de l'algorithme : On s'attaque de plus en plus à
l'implémentation du chiffrement (son utilisation) qu'à l'algorithme lui même (utilisation de
buffer overflow par exemple).
• La bonne gestion des clefs de chiffrements. Si les clefs sont connues, il n'y a plus de sécurité.

Deux types de chiffrements sont couramment utilisés.

3.1.1. Chiffrement symétrique

Le chiffrement symétrique également appelé à clef secrète, est basé sur un algorithme qui
utilise une seule clef pour chiffrer ou déchiffrer un message. Cela implique que la personne qui crypte
le message ait envoyé par un moyen sécurisé cette même clef au destinataire afin qu'il puisse
déchiffrer le message. Ce type de système possède donc un inconvénient important puisque l'on doit
pouvoir mettre en place une méthode de distribution des clefs sécurisée.

Cette méthode utilise peu de ressources et peu de bande passante. Deux méthodes sont utilisées pour le
cryptage. L’encodage bits à bits, ou le découpage en plusieurs mots de taille identique.
En 1949, Claude Shannon a pu démontrer qu’un système de chiffrement à clef privé doit utilisée une
clef dont la longueur est au moins aussi grande que celle du message à chiffrer.

Le téléphone rouge (téléphone reliant directement Washington au kremlin) est un des appareils qui
utilisait le chiffrement symétrique. La méthode du masque jetable (génération aléatoire d'une clef, puis
destruction de celle-ci, afin de ne l'utiliser qu'une seule fois) était utilisée afin de sécuriser aux mieux
les transactions. La clef était quant à elle, échangée avec la valise diplomatique.

Il existe de nombreux algorithmes de chiffrement symétrique, voici les plus utilisés :


Essentiel – Sécurité 22 / 74

• DES (Data Encryption Standard) : Ce dérivé de Lucifer (IBM, 1970) utilise des clefs de 56
bits Il devait en compter à
l'origine 112, mais la NSA
a demandée de le ramener
à sa taille actuelle. Cet
algorithme datant de 1977
est obsolète et ne permet
plus un chiffrement des
données sécurisé. Il est
également réputé pour être
plutôt lent en comparaison
de la sécurité qu'il offre.
De nombreuses attaques
permettent de réduire le
nombre de combinaison à
tester. La cryptanalyse
linéaire inventée par
Mitsuru Matsui en 1993 à
permis de réduire une
attaque exhaustive à 243
couples. D'une manière
général, en utilisant le
calcul distribué, moins de
24h sont nécessaires pour
casser un cryptage DES.

Les données sont découpées en


mots de 64 bits.
Une permutation initiale est
effectuée avec un découpage en
deux parties de 32 bits.
La Fonction F est la fonction de
cryptage.
La seconde partie est cryptée par la
fonction de cryptage et un XOR est
effectué avec la première partie.
Puis une nouvelle permutation est
effectuée.
Cela est réalisé 16 fois de suite
avec une permutation finale sur le
même principe que la première.
Essentiel – Sécurité 23 / 74

• 3DES (Triple Data Encryption Standard) : Cet algorithme est un dérivé de DES qui permet de
crypter sur 168 bits en appliquant trois clefs distinctes (A B C) sur le message, ou 112 bits en
n'utilisant que deux clefs (A B A). Cette utilisation de trois chiffrements DES a été développée
par Walter Tuchman (chef du projet DES chez IBM). Ce mode permet une compatibilité avec
DES dans le cas où l'on utilise des clefs identiques. Même quand trois clés de 56 bits
différentes sont utilisées, la force effective de l'algorithme n'est que de 112 bits et non 168
bits, à cause de l'attaque rencontre au milieu. Cette attaque reste toutefois assez hypothétique
pour le moment puisque elle nécessite une quantité de stockage de 264 mots de 64 bits
(134217728 To), le tout ayant un temps de réponse très petit.

• AES (Advanced Encryption Standard) : Le Advanced Encryption Standard process est un


processus de standardisation lancé par le NIST sous forme de concours en 1997 pour
demander de concevoir un nouvel algorithme de chiffrement par bloc destiné au gouvernement
des USA, le but était de remplacer le Triple DES.
Les exigences sur le nouveau standard étaient plutôt élevées car les USA souhaitent l'utiliser
jusqu'en 2050. Les blocs devaient faire 128 bits, les clefs entre 128 et 256 bits, et le
chiffrement devait bien évidemment supporter la totalité des attaques connues actuellement.
L'utilisation d'AES n'étant pas limitée aux logiciels mais aussi au matériel, le
chiffrement/déchiffrement devait consommer très peu de ressources.
15 candidats ont effectués le concours, mais seulement 5 finalistes : MARS, RC6, Rijndeal,
Serpent et Twofish. C'est en Octobre 2000 que Rijndeal à été déclaré vainqueur. Un an plus
tard, AES est approuvé en tant que standard.

• RC6 (Ron's Code ou Rivest's Cipher 6) : C’est un algorithme créé par Ronald Rivest en 1998
pour la RSA Security, basé sur RC5. Cet algorithme offre de nombreux avantages car il est
hautement paramétrable. Il est en effet possible de choisir une longueur de blocs variable, un
nombre de ronds variable, et une longueur de clef variable également. Cela permet à
l'utilisateur de choisir le rapport qui lui convient entre performance et sécurité. Ayant
concourut pour l'AES, il est imperméable à toutes les attaques connues. Cet algorithme est
également apprécié pour son implémentation assez simple et son analyse aisée. Le principal
inconvénient de RC6, comme des versions précédentes, est qu'il est la propriété de RSA
Security. La différence principale entre RC5 et RC6 est qu'il utilise la multiplication au lieu de
l'addition entre chaque rond. La taille des blocs par défaut est passée également de 64 à 128
bits.

3.1.2. Chiffrement asymétrique

Principe de fonctionnement
Le chiffrement asymétrique aussi appelé chiffrement à clés publiques est un principe issu du travail de
Whitflied Diffie et Martin Hellman en 1976.

Le fonctionnement de ce type de chiffrement repose sur l’emploi de 2 types de clef fonctionnant par
paire :
• Une clé publique pour le chiffrement
• Une clé privée (secrète) pour le déchiffrement

Chiffrement d’un message


Retrouvons Alice & Bob qui souhaitent s’envoyer un email.
Bob a préalablement distribué sa clef publique, par exemple sur un serveur de clef ou un annuaire
LDAP. Alice possède donc la clef publique de Bob qu’elle va utiliser pour chiffrer son email.
Lorsqu’il reçoit le message d’Alice Bob va donc employer sa clef privée, qu’il est le seul à connaître,
pour déchiffrer le message de son expéditrice. Les deux clefs fonctionnent par paire, la clef privée
servant à déchiffrer les contenus générés à partir de la clef publique.
Essentiel – Sécurité 24 / 74

Le principal avantage de cette méthode par rapport à un système à clefs symétriques réside dans le fait
que les deux parties n’ont pas besoin de connaître la clef secrète. De plus le nombre d’expéditeurs
n’est pas limité puisque que tout le monde peut crypter le message grâce à la clef publique disponible
pour tous.

Mécanisme d’identification
Le fait que la clef publique soit disponible librement est aussi le principal inconvénient du cryptage
asymétrique puisque qu’il ne permet pas d’authentifier avec certitude l’expéditeur du message. En
effet si Bob distribue sa clef publique il n’a aucun moyen de vérifier avec certitude que c’est bien
Alice qui le lui a envoyé.
Afin de résoudre ce problème des mécanismes d’authentification peuvent être mis en œuvre pour
garantir la provenance des informations chiffrées.

En effet, si Alice souhaite transmettre à Bob des données chiffrées tout en lui garantissant la
provenance de ces dernières alors :

Etape 1 : Bob crée une paire de clefs asymétriques composée d’une clef publique et d’une privée
Etape 2 : Bob transmet sa clef publique à Alice ou la publique
Etape 3 : Alice possède maintenant la clef publique de Bob
Etape 4 : Alice va signer numériquement les données qu’elle va transmettre à Bob, pour ce faire Alice
va :
• Créer une paire de clefs asymétriques
• Transmettre sa clef publique à Bob, son destinataire
• Chiffrer son message avec sa propre clef privée (signature numérique par chiffrement) avant
de le chiffrer à nouveau grâce à la clef publique de Bob (chiffrement réel du message)
Etape 5 : Bob reçoit le message d’Alice et va donc le déchiffrer avec sa propre clef privée. Mais le
message n’est pas encore lisible puisqu’il a été chiffré 2 fois de suite.
Etape 6 : Bob applique la clef publique d’Alice sur le message afin de le déchiffrer, cet étape lui
garanti que le message provient bien d’Alice.
Etape 7 : Le message est en clair, Bob peut alors le lire en étant sûr qu’il provient de la bonne
personne et qu’il a transité de façon chiffrée.
Essentiel – Sécurité 25 / 74

3.2. Signature
3.2.1. Hashage

Généralités sur le hachage


Avant toute chose il faut bien faire la distinction entre un texte haché et un texte crypté. En effet dans
le premier cas le résultat est produit avec perte d’informations, comme avec l’algorithme MD5 dont
nous reparlerons ci-après. Un texte crypté est un texte chiffré que l’on peut afficher en clair après
application de la clef de décryptage.

Une fonction de hachage permet donc d’obtenir un condensat (ou haché) composé d’un nombre réduit
de caractères à partir duquel on ne peut retrouver le texte d’origine.
Le condensat représente le texte qui a été haché.
Il n’existe qu’un et un seul haché correspondant au texte en clair d’origine ce qui implique que toute
modification du document d’origine entraîne la modification de son condensat.

Il existe deux principaux algorithmes employés pour les fonctions de hachage :

• MD5 (MD signifiant Message Digest). Développé par Rivest en 1991, MD5 crée une
empreinte digitale de 128 bits à partir d'un texte de taille arbitraire en le traitant par blocs de
512 bits.
• SHA (pour Secure Hash Algorithm) crée des empreintes d'une longueur de 160 bits. SHA-1
est une version améliorée de SHA datant de 1994 et produisant une empreinte de 160 bits à
partir d'un message d'une longueur maximale de 264 bits en le traitant par blocs de 512 bits.

Aujourd’hui MD5 n’est plus considéré comme sûr depuis que des chercheurs ont réussis à produire le
même condensat à partir de 2 messages générés aléatoirement. Bien qu’il soit techniquement très
difficile de reproduire cet exploit on préfèrera l’emploi de SHA-1.

Signature par hachage

On voit souvent des documents en téléchargement sur Internet accompagnés d'un fichier MD5
permettant de vérifier l'intégrité de ce dernier. Cette technique est très fréquente dans le monde Open
Source.Le condensat représente dans ce cas là une empreinte numérique du document. Si le document
n’a subit aucune altération alors le condensat sera identique à celui fournit.Cette méthode de signature
numérique par hachage peut être substituée par des méthodes plus évoluées comme l’utilisation de
certificats.

3.2.2. Certificats et PKI

Une architecture basée sur une PKI (Private key Infrastructure) est un ensemble de matériels
et de logiciels qui délivrent un service assurant l'intégrité, la confidentialité et la non-répudiation des
transactions effectuées. Un PKI, ou IGC (Infrastructure de Gestion de Clefs) utilise des certificats
numériques qui gèrent leurs distributions et leurs cycles de vie. L'intérêt de mettre en place un tel
système, par exemple face à Kerberos, est sa simplicité de réalisation et sa flexibilité. Une architecture
PKI peut donc certifier des utilisateurs, comme une connexion à un serveur WEB (HTTPS), ou bien
l'envoie d'un mail.

Un PKI est composé de 5 parties distinctes :

• L'autorité de certification (CA) : C'est elle qui gère la vie des certificats en signant les
demandes et les listes de révocation.
Essentiel – Sécurité 26 / 74

• L'autorité d'enregistrement (RA) : Elle permet de créer les demandes de certificats et gère les
vérifications à effectuer (s'assurer que la personne qui fait la demande est bien la personne du
sujet de la demande. C'est cette autorité qui soumet les demandes de certifications au CA.
• L'autorité de dépôt (Repository) : Elle stock et distribue les certificats et les listes de
révocation. Un annuaire LDAP est une très bonne autorité de dépôt. Un dispositif physique
peut également être cette autorité (carte à puce, ...).
• L'autorité de séquestre (KE) : Cette autorité gère le stockage des clefs qui ont permis de
générer les certificats. Ce service est présent car il est obligatoire (d'un point de vue légal) de
pouvoir déchiffrer des données chiffrées.
• L'entité finale (EE) : Elle enregistre les utilisateurs. Cette entité reste toutefois optionnelle.

Les certificats :

Un certificat est un fichier public qui contient des informations sur son propriétaire, comme une carte
d'identité ou un passeport. On peut par exemple y retrouver son nom (son URI dans le cas d'un
service), son prénom et son adresse e-mail. On y trouve également sa durée de validité, et l'organisme
émetteur. Il y contient également la clef publique de son propriétaire, mais également la signature de
l'autorité de certification. Un certificat utilise un mécanisme de chiffrement asymétrique.
Ces certificats respectent des standards, dont les plus connus, sont X.509 (SSL) et OpenPGP.

La création des certificats comprend 5 étapes :

• création d'une bi-clef de l'AC


• Signature du certificat de l'AC
• Création des bi-clefs des utilisateurs et des services
• Création des demandes de certificats des utilisateurs et des services
• Signature des certificats par l'AC.

On voit donc ici que le CA génère un premier certificat qu'il s'auto signe. La durée de vie de ce
certificat est généralement assez longue car les certificats générés à partir de celui-ci ne peuvent
dépasser sa durée de vie.

Cycle de vie du certificat :

• Création :

Un certificat numérique naît lorsqu'une demande de certificat a abouti. Pour cela, une demande est
effectuée auprès du RA. Cette demande est un fichier contenant les informations nécessaires à la
création du certificat (CSR). Si le RA est assuré que la demande est conforme et sûr, il la transmet au
CA qui la signe.

• Utilisation :

Une durée de vie à été spécifiée lors de la création du certificat. Cette durée ne peut dépasser celle du
certificat root (le certificat à la base de tous les autres).Elle peut être de durée plus ou moins longue
mais dépend principalement de l'utilité de ce certificat.

• Fin de vie :

Deux possibilités sont envisageables pour la fin de vie d'un certificat. Le certificat peut soit avoir sa
durée de validité terminée, soit être révoqué. Dans ce cas, l'identifiant du certificat est ajouté à la liste
des certificats révoqués. Cela permet d'annuler la validité des applications.
Essentiel – Sécurité 27 / 74

4. Authentification
La majorité des systèmes informatiques actuels fournissent aux utilisateurs d’un réseau des
services, lesquels doivent pouvoir s'assurer de leur identité. Ce processus d'identification est appelé
authentification, possible uniquement si le service et l'utilisateur souhaitant accéder au service
partagent un secret commun et qu'ils sont les deux seuls à connaître. Ce secret peut prendre diverses
formes. Il peut s'agir d'un couple de login/mot de passe, d’un badge magnétique, d'une clé, d'une
empreinte digitale...

Le développement des réseaux est venu perturber ce processus simple. Les services étant distant des
utilisateurs, le secret nécessaire à l'authentification doit en effet transiter sur le réseau et peut donc être
à tout moment intercepté par une tierce personne. De plus, même en supposant que le mot de passe ne
transite pas en clair, mais sous forme d'une empreinte irréversible, cette solution reste problématique
pour deux raisons :

• plus l'empreinte transite, plus elle est susceptible d'être interceptée, puis cassée. Ces multiples
authentifications fragilisent donc le mot de passe.

• l'utilisateur est paresseux de nature. Devoir enter son mot de passe plusieurs fois l'agace
inévitablement. Il aura donc une tendance naturelle à choisir un mot de passe court et simple,
typiquement un mot du dictionnaire.

Mais une fois l'identité d'un utilisateur prouvée, il reste encore à résoudre de nombreux problèmes liés
à un échange de données sur un réseau. D’abord il est essentiel de s'assurer de l'intégrité des données.
Il faut pour cela mettre en place des mécanismes évolués de vérification, afin de s'assurer que les
données reçues par le service n'ont pas été altérées lors de leur transfert. Le second problème réside
dans la confidentialité des données échangées. Certains mécanismes d'authentification proposent des
moyens plus ou moins efficaces de garantir la confidentialité des données échangées. C'est le cas des
systèmes à cryptographie asymétrique. Enfin, la non-répudiation peut se révéler être un problème
complexe. Le principe de non-répudiation est simple : l'expéditeur du message d'origine ne doit pas
pouvoir nier qu'il en est le créateur. Il faut donc détenir un moyen permettant de contrôler la signature
électronique des paquets.

Tous ces problèmes nous ont amenés à réfléchir sur l’élaboration d’un nouveau concept, l’architecture
AAA.

4.1. L’architecture AAA


L’architecture AAA, construit autour de 3 notions (Authentification, Authorization, Accouting),
fournit des services de contrôle d‘accès à travers de multiples technologies de réseaux et de
plateformes.

Authentication
La notion d’authentification correspond à l’identification de l’utilisateur, que ce soit une personne
physique ou un service. Le contrôle de cette information consiste à vérifier un secret partagé entre
l’utilisateur et le serveur d’authentification. Elle peut être de plusieurs types :

Statique : information connue du seul individu, dont l'exemple classique et omniprésent est le mot de
passe.

Dynamique : on passe alors par un challenge (demandes d’informations d’identifications diverses)


entre le serveur et l’utilisateur, ce qui permet d’avoir une information différente à chaque nouvelle
Essentiel – Sécurité 28 / 74

authentification : un certificat, une technique intégrée dans les PKI (Public Key Infrastructure), une
carte à puce, …
Physique : par une caractéristique physique unique de l'individu, telle que définie par les techniques de
la biométrie : reconnaissance vocale, empreintes, iris...

Mais cette authentification peut ne pas se limiter qu’à un seul type d’authentification. Plusieurs
méthodes peuvent être ainsi combinées afin de garantir une forte confidentialité du système
d’information.

Authorization
La notion d’autorisation est le fait de déterminer quels sont les droits de l’utilisateur. Dans certaines
implémentations, l’identification et l’autorisation sont regroupées en une seule étape.

Accounting
Cette notion peut être rapprochée à celle du monitoring, elle regroupe l’ensemble des mesures de la
consommation d’un utilisateur, en termes d’échange réseau, de ressources système,... le but étant de
récolter un certain nombre d’informations sur l’utilisateur. Cela permet de connaître à la fois les
services demandés par l’utilisateur et la quantité de ressources requises.
Les trois points définis ci-dessus sont importants pour une bonne gestion et une bonne sécurité d’un
réseau. Ils devraient être disponibles au point d’entrée d’un réseau.
L’image ci-dessous illustre une implémentation de l’architecture AAA :

CISCO AIRONET 1100 SERIES


WIRELESS ACCESS POINT

Tous les utilisateurs distants accèdent au réseau au travers d’un NAS (Network Access Server), aussi
appelé Remote Access Server ou client AAA. Un NAS est une interface qui gère les accès distants à
travers une ligne téléphonique ou RNIS (Exemples de protocoles : PPP, SLIP, …). Il transmet les
informations au serveur AAA qui valide ou non les connexions distantes.
Essentiel – Sécurité 29 / 74

4.2. RADIUS
RADIUS (Remote Authentication Dial In User Service) est un protocole basé sur un système
client/serveur chargé de définir les accès d'utilisateurs distants à un réseau. Il a été conçu par Steve
Willens pour la société Livingston dans le but de répondre principalement aux besoins des prestataires
réseaux tels que les fournisseurs d’accès. Il fût normalisé par l’IETF (Internet Engineering Task
Force) sous la forme de RFC (Request For Comments), dont la version la plus récente date de
2000(RFC 2865).

4.2.1. Principe

Le principe de fonctionnement du protocole réside dans l’utilisation d’un secret qui permet
d’authentifier les transactions et d’effectuer le cryptage du mot de passe, ceci à travers de nombreux
mécanismes, les plus courants étant PAP, CHAP, LDAP et KERBEROS. Contrairement au protocole
TACACS +, il n’est possible de chiffrer que le mot de passe au sein de la trame.
RADIUS est un protocole AAA, c’est un protocole d’authentification, d’accounting mais pourtant pas
d’autorisation puisqu’elle est liée à l’authentification, ceci étant du à sa grande extensibilité. En effet
le protocole repose sur la transmission d’attribut Clef/Valeur. Ces attributs permettent d’échanger un
nombre illimité d’informations entre le client et le serveur (password, Adresse MAC, …), et
permettent donc aux principaux équipementiers de développer leurs propres attributs (AvP = Attribut
Value pairs).
La mise en place de RADIUS repose principalement sur l’utilisation d’un annuaire/base de données,
d’un serveur maître et d’un serveur client. Le schéma ci-dessous montre un exemple courant de
l’implémentation de RADIUS.

Le serveur maître (RADIUS) fait office d’interface entre connecté d’une part à un serveur centralisant
les informations d’authentification des utilisateurs (base de données, annuaire LDAP, etc.) et, d’autre
part, à un NAS, faisant office d'intermédiaire entre l'utilisateur distant et le serveur.
Le client RADIUS peut être soit un serveur de communication NAS, soit un routeur ou un firewall.
Les mécanismes d’authentification de l’utilisateur au client RADIUS sont variés à savoir PPP/PAP,
PPP/CHAP et Kerberos.
Enfin, le protocole RADIUS exploite UDP au port 1812 (anciennement 1645)
Essentiel – Sécurité 30 / 74

4.2.2. Format des paquets

La trame RADIUS contient cinq champs, à savoir Code, Identifier, Length, Authentificator et
Attributs/valeurs, dont la structure vous est présenté et décrite ci-dessous :

Code(1) Identifier(1) Length(2) Authentificator(16)


Attributs et valeurs (variable)
Structure de trames Radius : Nom du champ (longueur en octets)

Code : ce champ permet de spécifier le type du message contenu dans la trame. Neuf valeurs sont
possibles pour ce champ, chacune correspondant à un type de message spécifique, présentées dans le
tableau ci-dessous.

Valeur Description
1 Access-Request
2 Access-Accept
3 Access-Reject
4 Accounting-Request
5 Accounting-Response
11 Access-Challenge
12 Status-Server
13 Status-Client(experimental)
255 Reservé

Identifier : ce champ sert à corréler les trames de requête et les trames de réponse entre le client et le
serveur.
Lenght : Ce champ sert à spécifier la longueur globale de la trame.
Authentificator : Ce champ permet d’authentifier les réponses du serveur RADIUS le plus souvent il
consiste en un hachage MD5 du secret. Il permet aussi de préciser le mécanisme d’authentification à
utiliser.
Attributs et valeurs : Ce champ contient tout les couples d’attributs/valeurs de la requête ou de la
réponse. La valeur d’un attribut peut être le plus souvent de type entier, chaîne de caractères, date ou
binaire, mais peut aussi contenir une adresse IP voir d’autres informations spécifiques à
l’équipementier.
Au sein du champ, chaque attribut est caractérisé par un numéro, une longueur et une valeur, comme
le montre le schéma ci-dessous :

Code(1) Identifier(1) Length(2) Authentificator(16)


N° Attribut Longueur Valeur

Il existe un nombre important d’attributs standard, Ainsi, par soucis d’optimisation, seul le numéro du
paquet est transmis dans les paquets. La correspondance entre le nom de l'attribut, son numéro et son
type est réalisée grâce un dictionnaire.
Un exemple d’attribut standard :

N° Attribut Nom Description


30 Called-Station-Id Contient l'adresse MAC de l'équipement
NAS
4 NAS-IP-Address Contient l'adresse MAC de la machine
de l'utilisateur.
2 User-Password Contient le mot de passe de l’utilisateur
Essentiel – Sécurité 31 / 74

Pourtant nous avons précisé qu’il est possible d’ajouter un nombre illimité d’attributs spécifiques pour
chaque équipementier. Ces attributs sont encapsulés dans l'attribut standard vendor-specific qui a pour
numéro 26. Ils sont appelés VSA = Vendor Specific Attribut.

Code(1) Identifier(1) Length(2) Authentificator(16)


26 Longueur Vendor N° Longueur Valeur
ID Attribut

Le champ Vendor ID recense le numéro d’immatriculation du fabriquant selon la norme NMPECS


(Network Management Private Enterprise Codes - RFC1700).

4.2.3. Etablissement d’une session RADIUS


Le protocole RADIUS est basé sur un échange de 4 différents types de paquets utilisant le protocole
UDP.

Méthode d’authentification :

1. Le poste utilisateur transmet les informations nécessaires à l’authentification (login, mot de


passe, adresse MAC,…) au client RADIUS via une liaison PPP ou SLIP.

2. Le client RADIUS envoi un paquet « Access-Request » au serveur RADIUS. Il contient


l’ensemble des informations de l’utilisateur (ID du client, mot de passe, numéro du port,…).
Si un mot de passe est présent, il sera haché en utilisant le mécanisme MD5.

3. Le serveur RADIUS reçoit la requête, vérifie l’authenticité du paquet en vérifiant le secret


qu’il partage avec le client RADIUS, puis vérifie l’identité de l’utilisateur en extrayant et en
comparant les informations contenues au sein d’une base de données ou d’un annuaire. Le
serveur radius RADIUS peut demander soit de ré-emettre un access-request, soit pour
demander des informations complémentaires.

4. Le client RADIUS génère ensuite une requête Access-Request contenant les informations
d'authentifications demandées par le challenge.

5. Enfin, le serveur RADIUS valide ou refuse la requête en transmettant un paquet de type


« Access-Accept » ou « Access-Reject ». Ce paquet peut contenir une liste de services qui
sont autorisés (par exemple le vlan).

4.3. TACACS / TACACS+


4.3.1. TACACS
Essentiel – Sécurité 32 / 74

TACACS (Terminal Access Controller Access Control System, respectivement système de


contrôle d'accès de Terminal Access Controller) est un protocole d’authentification mis au point par
Cisco. Il permet à un serveur d’accès à distance de transmettre les données d’authentification à un
serveur d’authentification via TCP.

Ce protocole est généralement déployé dans des réseaux UNIX.


Les données échangées entre le serveur d’accès et le client sont contenues dans des paquets TACACS,
eux-mêmes encapsulés dans les champs de données TCP, comme vous le montre l’image ci-après :

Version(1) Type(1) Nonce(2)


Username length(1) Password length(1) Data(n)

• Version : précise la version de TACACS.


• Type : type de paquet (encoded request ou response type).
• Nonce : indice permettant de faire le lien entre une réponse et une requête.
• Username length : Longueur du nom d’utilisateur.
• Password length : Longueur du mot de passe.
• Data : Contient les informations d’authentification de l’utilisateur.

La session de connexion et de déconnection est simple:

Séquence de login

Login

Réponse

Authentication
Network Authorization
Access Accounting
Server Server

(TACACS Client) (TACACS Server)

Séquence de logout
Logout

Réponse

1. Le NAS reçoit le couple nom d’utilisateur/mot de passe d’un utilisateur et renvoie ces
informations vers le serveur TACACS. (Phase d’authentification).

2. Lorsque les informations sont validées, le serveur TACACS renvoie une réponse positive.

3. Le NAS envoi une demande de déconnexion.

4. Le serveur TACACS renvoie une réponse positive et déconnecte l’utilisateur.


Essentiel – Sécurité 33 / 74

TACACS n’offre pas la possibilité de chiffrer les données d'identification. C’est donc pourquoi une
version postérieure de TACACS à vu le jour sous le nom de XTACACS (eXtended TACACS),
permettant également la gestion de rapports (monitoring). Ces deux versions ont à présent été
remplacées par TACACS+.

4.3.2. TACACS +

TACACS+ a été développé à l’origine par BBN, puis repris par Cisco. Il n’est pas compatible
avec ses précédentes versions. Il utilise également la couche de transport TCP. Il met en œuvre la
notion de session pour ses communications entre le client et le serveur. Ce dernier peut être un
échange d’authentification, d’autorisation, ou de rapports, éventuellement chiffrés (l’identifiant des
sessions est alors utilisé pour chiffrer l’intégralité des paquets). Voici ci-dessous un exemple
d’implémentation de TACACS+ :

TACACS+ implémente les trois fonctions AAA séparément :

Authentication : Mécanismes d’authentification TACACS+


Ce protocole peut aussi bien utiliser des techniques d’authentification classiques (login/mot de passe)
ou bien des procédés plus évolués à base de challenge avec authentification réciproque, par exemple.

Le service d'authentification TACACS+ est par ailleurs assez flexible pour pouvoir envoyer des
messages sur l'écran de l'utilisateur (changement de mot de passe à cause de la politique de gestion de
leur durée de vie par exemple).

Authorization : Mécanismes d’autorisation TACACS+


Lors d’un accès à un service particulier, le client ouvre une session d’autorisation. Cette session
consiste juste en l’échange d’une paire de messages (Requête / Réponse). La requête décrit
l’authentification pour l’utilisateur ou le processus qui demande l’accès au service.

La réponse du serveur contient un ensemble d’attributs pouvant restreindre ou modifier les actions du
client, plutôt qu’une simple réponse affirmative de type oui/non.

Accounting : Mécanismes de rapport TACACS+


Les échanges utilisés lors de la gestion de rapports sont similaires à ceux employés lors de
l’autorisation (Requête / Réponse). Le protocole TACACS+ propose de plus l’émission de paquets
UPDATE servant à confirmer qu’un service est en cours d’utilisation.
Essentiel – Sécurité 34 / 74

Les attributs
Les serveurs d'authentification TACACS+ supportent, de la même manière que RADIUS, des AvP qui
permettent de définir tous les paramètres d'autorisation que l'on désire mettre en œuvre.
Les points d’accès distants permettent aux terminaux, aux stations de travail, aux PCs et aux routeurs,
de communiquer en utilisant des protocoles sur les lignes séries comme le PPP (Point-to-Point
Protocol), le SLIP (Serial Line Internet Protocol), le CSLIP (Compressed SLIP) ou l'ARAP
(AppleTalk Remote Access Protocol).

Formats des paquets


L’image ci-dessous illustre le format des paquets TACACS+ :
Version(1) Type(1) Seq_no(1) Flags(1)
Session_id(4)
Length(4)
Data(n)
• Version : Version du protocole TACACS.
• Type : Type du paquet (encoded request ou response type).
• Flags : permet l’utilisation de fanions pour indiquer par exemple que les données dans le
champ Data sont chiffrées ou non.
• Seq_no : Indice permettant d’ordonner les paquets TACACS.
• Session_id : un nombre aléatoire généré pour la session en cours.
• Length : La longueur totale du paquet
• Data : Dépend du type de message, soit les données contiennent une demande
d’authentification, soit une réponse du serveur à cette requête.

Etablissement d’une connexion

Ci-après vous est présenté le processus de connexion dans une implémentation TACACS+ :

Séquence de login

1 Authentification (start)
2 Reply (finished)
Authentication
3 Authentification (request)
Network Authorization
Access 4 Response (pass) Accounting
Server Server
5 Accounting (start)

(TACACS Client) 6 Reply (sucess) (TACACS Server)

Séquence de logout

7 Accounting (stop)
8 Reply (success)
Essentiel – Sécurité 35 / 74

1. Le serveur d’accès distant reçoit un paquet « Authentication (start) » contenant le couple nom
d’utilisateur/mot de passe, puis le renvoie vers le serveur TACACS (Phase
d’Authentification).

2. Lorsque les informations sont validées et que le serveur n’en nécessite pas d’avantage, il
répond avec un « Reply (finnished) ».

3. Au contraire, si le serveur désire avoir d’avantage d’informations sur l’utilisateur distant, Le


NAS envoi un « Authorization (request) ».

4. Le serveur répond avec un « Response (Pass) » incluant les informations d’authentification


demandées (temps autorisé à répondre, etc).

5. Le NAS envoi un « Accounting (start) » pour indiquer que l’utilisateur est bien identifié sur le
réseau. (Phase Accounting phase).

6. Le serveur TACACS+ envoi un « Reply (Success) » pour indiquer que le message


« accounting » est bien enregistré.

7. Lors de la déconnexion de l’utilisateur distant, le NAS envoi un « Accounting (Stop) »


incluant des informations telles que le temps de la connexion, la date et l’heure, le nombre
d’octets transférés, raisons de la déconnexion...

8. Le serveur TACACS+ envoi un « Reply (Success) » pour indiquer que le message


« accounting » est une nouvelle fois bien enregistré.

4.4. LDAP
4.4.1. La notion d’annuaire

Un annuaire est une base de donnée spécialisée, dont la fonction première est de retourner un
ou plusieurs attributs d'un objet grâce à des fonctions de recherche multicritères. Contrairement à un
SGBD, un annuaire est très performant en lecture mais l'est beaucoup moins en écriture. Sa fonction
peut être de servir d'entrepôt pour centraliser des informations et les rendre disponibles, via le réseau à
des applications, des systèmes d'exploitation ou des utilisateurs.
Les annuaires électroniques possèdent un grand nombre d'avantages, plus particulièrement:
• ils sont dynamiques : la mise à jour d'un annuaire électronique très simple et très rapide.
• ils sont sûrs : les annuaires en ligne disposent de mécanismes d'authentification des utilisateurs
ainsi que des règles d'accès permettant de définir les branches de l'annuaire auxquelles
l'utilisateur peut accéder.
• ils sont souples : ils permettent ainsi de classer l'information selon des critères multiples.

4.4.2. Généralités

Les premiers annuaires sont apparus dans les années 70, peu après les premiers ordinateurs.
Ces différents annuaires n’étaient ni standardisés ni unifiés. Chaque système possédait son format
propriétaire pour gérer ses ressources. Toutefois le développement des réseaux ont amenés ces
annuaires à se normaliser. Plusieurs standards ont vu le jour, dont la norme X500 en 1988, basée sur le
protocole TCP/IP, dont l’accès est géré par le protocole DAP (Directory Access Protocol). Il a été
conçu par les opérateurs télécoms pour interconnecter leurs annuaires téléphoniques.

Ce protocole, trop complexe à implémenter, fut remplacé en 1994 par le protocole LDAP (Lightweight
Directory Access Protocol), développé par l’Université du Michigan, qui en est une version simplifiée
Essentiel – Sécurité 36 / 74

et plus performante. Par la suite, l’ITEF (The Internet Engineering Task Force), qui avait contribué à
la version 1 du protocole, conçu la version 2 en 1995, et, enfin la version 3 en 1997.

• RFC 1487 pour LDAP v.1 standard


• RFC 1777 pour LDAP v.2 standard
• RFC 2251 pour LDAP v.3 standard

LDAP définit un modèle de sécurité à travers de nombreux mécanismes dans le but d’assurer la
confidentialité des données sensibles et la fiabilité du serveur hébergeant le service. Les risques
qu’encours ces serveurs sont multiples, plus particulièrement les accès non autorisés, les modifications
de données ou de configurations altérées, l’interception de données ou de mots de passes sur le réseau,
ou encore l’utilisation de faux annuaires afin de tromper le client (attaque Man in the middle).
Ces risques et leurs solutions ont été étudiés dans la RFC 2829, où il à été convenu de définir les
moyens de protéger les données de l’annuaire des accès non autorisés, ceci sous trois aspects :
• Authentification pour se connecter au service
• Modèle de contrôle d’accès aux données
• Chiffrement des transactions entre clients et serveurs ou entre serveurs

4.4.3. Authentification LDAP

LDAP définit trois différentes méthodes permettant l’authentification d’un utilisateur.

Authentification anonyme
Accès sans authentification permettant d’atteindre les données sans restrictions d’accès (acceptable en
partageant des données publiques).

Authentification de base
L'authentification de base est semblable à celle sous HTTP. L'authentification est accomplie par
l'utilisation d'un DN (nom distingué) et d'un mot de passe. Ces données sont envoyées soit en clair ou
soit chiffrées en utilisant le codage Base64.

Couche simple d'authentification et de sécurité (SASL)


Couche supplémentaire permettant à LDAP d’utiliser des méthodes d’authentification externes. Cette
méthode est la plus sûre et la plus flexible puisqu’elle supporte divers protocole d’authentification tel
que Kerberos, GSSAP, …

LDAP est un protocole orienté connexion : A cet effet, l’ouverture de session (bind) s’accompagne
d’une identification et, éventuellement, d’un mot de passe, puis d’une fin de session (Unbind ou
Abandon).

bind = connexion et authentification selon une des méthodes décrites ci-dessus.


Unbind = Purge toutes les informations d’authentification, termine toute opération en cours et ferme
la connexion TCP.
Abandon = le client indique au serveur qu’il abandonne la requête envoyé. La connexion est terminée.

SASL
Simple Authentification and Security Layer (SASL) est définie par le RFC 2222 et permet d’ajouter
des mécanismes d’authentification à des protocoles orientés connexion (~ plug-in). SASL est implanté
dans LDAPv3.
Essentiel – Sécurité 37 / 74

Les mécanismes supportés par SASL sont :


• Version 4 de Kerberos
• S/Key
• GSSAPI
• DIGEST-MD5
• TLS

4.5. KERBEROS
4.5.1. Généralités

Le protocole Kerberos est issu du projet « Athena » du MIT, mené par Miller et Neuman. Le
nom « Kerberos » provient de la mythologie grecque et correspond au nom du chien à trois têtes (en
français « Cerbère ») protégeant l'accès aux portes d’Hadès. La version 5 du protocole Kerberos a été
normalisée par l'IETF dans les RFC 1510 (septembre 1993) et 1964 (juin 1996).
Kerberos permet de vérifier l'identité respective de plusieurs « entités » (un utilisateur, une application,
un serveur d’application…), sur un réseau quelconque, n'offrant aucune sécurité particulière. Il ne tient
compte ni du système d'exploitation, ni de l'adresse des machines sur le réseau et part d'un principe
simple : le mot de passe ne doit jamais circuler sur le réseau, que ce soit en clair ou sous une forme
chiffrée quelconque.

De même, l'authentification Kerberos est unique. Une seule authentification donne accès à tous les
services Kerberos tout en étant transparente pour l'utilisateur final. C'est le principe du SSO, Single
Sign On, ou authentification unique. Enfin, Kerberos permet de garantir l'intégrité des données, leur
confidentialité, et assurer la non-répudiation.

4.5.2. Principe

Kerberos repose sur un principe original. Il est architecturé autour de deux éléments essentiels
: l'AS (Authorization Service) et le TGS (Ticket Granting Service), respectivement le serveur
d'authentification et le service de distribution de ticket. Ces deux éléments sont deux entités logiques
distinctes, mais sont très souvent modélisés par la même entité physique, appelée KDC (Key
Distribution Center). C'est le cas dans Windows 2000.

L’illustration ci-dessous présente l’implémentation de Kerberos au sein d’un réseau :


Essentiel – Sécurité 38 / 74

Lors d’une tentative d’authentification d’un utilisateur, ce dernier envoie une demande au KDC (AS-
REQ) durant laquelle, l'utilisateur va saisir son mot de passe, qui sera transformé, puis utilisé comme
clé de chiffrement pour chiffrer la demande d'authentification. A aucun moment, donc, le mot de passe
ou une représentation de ce mot de passe ne transitera sur le réseau. Le KDC reçoit cette demande. Il
est le seul à connaître le mot de passe de l'utilisateur. Grâce à ce mot de passe, il va pouvoir déchiffrer
la demande d'authentification. Si le déchiffrement réussi, c'est que l'utilisateur a chiffré sa demande
avec le bon mot de passe ; il vient donc de prouver son identité.

Le KDC renvoie alors une réponse positive (AS-REP, appelé également TGT), comprenant une clé de
session, qui servira à valider tous les échanges entre l'utilisateur et le KDC. Si le déchiffrement
échoue, le KDC renvoie une erreur (KRB-ERROR). Une fois authentifié, l'utilisateur utilisera sa clé de
session pour communiquer avec le KDC et demander des tickets qui serviront de preuve auprès des
services sur lesquels l'utilisateur souhaite s'authentifier (FTP, Telnet…).
La validité des tickets Kerberos est en partie basée sur un horodatage, typiquement valide pendant 5
minutes.

4.5.3. Faiblesses

Bien que Kerberos soit une solution particulièrement élégante et efficace aux différentes
problématiques sécurité posées par l’authentification et le Single Sign On, il présente quelques
inconvénients qu’il faut souligner.
• Chaque service réseau doit être adapté à Kerberos. Si certains services courant, tels que ssh,
ftp, et rlogin, sont déjà capables d’utiliser le protocole, c’est loin d’être le cas de tous les
services habituellement disponibles sur un réseau. Il faut donc, pour pouvoir bénéficier
pleinement de Kerberos sur un réseau, ceci en modifiant son code pour adapter le mécanisme
d’authentification (technique de «kerbérisation» d’un service).
• Kerberos nécessite que toutes les machines utilisant le protocole soient synchronisées au
niveau horaire. Si l’heure de la machine cliente diffère de plus de 5 minutes de l’heure de la
machine hébergeant le service, aucune authentification ne sera possible.
• spoofing login : on peut envisager une attaque où tous les logiciels Kerberos clients sont
remplacés par une version qui non seulement réalise le protocole Kerberos mais enregistre
également les mots de passe.
Essentiel – Sécurité 39 / 74

Point de faille unique

• Kerberos part d’une hypothèse forte: le KDC doit être une machine complètement sûre.
L’avantage qui consiste à n’avoir qu’une seule base de mot de passe à maintenir est donc
sévèrement contre balancé par l’apparition, en contre partie, d’un unique point de faille.
• Kerberos requiert un serveur continuellement disponible. Le KDC étant unique, il est le seul à
pouvoir authentifier un utilisateur ou un service. Sans lui, c’est tout le système
d’authentification qui tombe, et le réseau devient inutilisable.
• Kerberos sauvegarde tous les mots de passe sur le KDC, et chiffre ces mots de passe avec sa
propre clé. Le chiffrement est, de par la conception même de Kerberos, symétrique. Si le KDC
est compromis, il est donc possible d’obtenir la liste complète des mots de passe.
• Kerberos peut mener à une série de compromissions en cascade. Si le mot de passe d’un
service ou d’un utilisateur se trouve compromis, il sera possible à un attaquant disposant de ce
mot de passe de déchiffrer d’autres tickets, et se faire passer successivement pour plusieurs
entités.

4.6. IEEE 802.1x


4.6.1. Généralités
Le 802 .1x est un standard mis en place en juin 2001 par l’IEEE, afin de pouvoir contrôler un
droit d’accès physique au réseau (soit filaire, soit sans-fil), indépendamment du support de
transmission utilisé.

802.1x propose des méthodes d’authentification s’intégrant dans les profils de configuration de
VLAN, DHCP ou encore d’ACL. Ils permettent de protéger le réseau d’intrusion en amont (Carences
des protections par défaut du type filtrage d’adresse MAC, sécurisation WEP,…), de faciliter la
gestion du réseau avec une centralisation des profils de sécurité, et d’offrir un service mobile et
transparent pour les utilisateurs.

4.6.2. Concepts du standard IEEE


Dans le fonctionnement du protocole, trois entités interagissent, comme illustré dans l’image ci-
dessous :

Le système à authentifier (supplicant)


Ordinateur client ou équipement nécessitant une authentification sur le réseau. Il doit disposer du
service 802.1x activé.

Le système authentificateur (authenticator system ou pass-through authenticator)


Equipement de niveaux 2 ou 3 du modèle OSI assurant d’une part l’accès au réseau et, d’autre part, la
sécurisation 802.1x sur l’interface filaire ou wifi. Il fait la transition des informations du Supplicant à
Essentiel – Sécurité 40 / 74

l'Authentication Server, puis en fonction des réponses de l'Authentication Server, il bloque ou donne
l'accès à la ressource, contrôlée par le système authentificateur, disponible via le point d’accès
physique au réseau, nommé PAE (Port Access Entity).

Le serveur d’authentification (authentication server)


Equipement qui valide ou non les informations fournies par l'Authenticator. Il Contient l’ensemble des
profils de configuration de sécurité attribués aux utilisateurs du réseau (VLAN, ACL, DHCP). Il peut
être lui-même en relation avec un annuaire LDAP.

Dans cette phase d’authentification 802.1X, le système authentificateur se comporte comme un


mandataire (proxy) entre le système à authentifier et le serveur d’authentification ; si l’authentification
réussit, le système authentificateur donne l’accès à la ressource qu’il contrôle.

Le dialogue entre le système authentificateur et le système à authentifier se fait en utilisant le


protocole EAP (PPP Extensible Authentication Protocol), étudié dans le chapitre suivant.

4.6.3. Etats et interfaces


IEEE 802.1X définit deux états possibles pour une interface :

• Authorized
Dans ce cas le port est passant pour tout le traffic réseau.
• Unauthorized
Dans ce cas le port est bloquant pour tout le traffic réseau.

Mais aussi plusieurs comportements :

• force-authorized
Soit le client supporte la norme 802.1x, dans ce cas l’authentification est réussie, soit il ne le supporte
pas et, dans ce cas le client est associé à un accès restreint au réseau (Guest –vlan).

• force-unauthorized
Correspond à un blocage définitif des ports, même si l’authentification est réussie.

• auto
L’interface est par défaut en état bloqué. Le client authentifié avec succès est autorisé à accéder au
réseau, dans le cas contraire le port reste en état bloqué.

4.6.4. Normes wifi 802.1x

Le standard IEEE 802.1x à entraîné l’apparition de normes permettant d’assurer la


confidentialité des données transitant sur un réseau sans-fil.

WEP
Le Wired Equivalent Privacy (IEEE 802.11) fut conçue en Septembre 1999 afin de répondre au
problème de confidentialité des transactions, ceci grâce à un chiffrement des communications à partir
de clés de longueur de 64 ou 128 bits. L’algorithme de chiffrement utilisé est le RC4, inventé par Ron
Rivest en 1987, qui est l’algorithme de chiffrement le plus utilisé par les logiciels.

Le principe du WEP consiste à définir, dans un premier temps, une clé secrète de 40 ou 128 bits. Cette
clé secrète doit être déclarée au niveau du point d'accès et des clients. La clé de session partagée par
toutes les stations est statique, c'est-à-dire que pour déployer un grand nombre de stations Wi-Fi, il est
Essentiel – Sécurité 41 / 74

nécessaire de les configurer en utilisant la même clé de session. Ainsi la connaissance de la clé est
suffisante pour déchiffrer les communications.

Le WEP n'est donc pas suffisant pour garantir une réelle confidentialité des données

WPA
Le WPA a été conçu comme une étape intermédiaire sur le chemin vers une meilleure sécurité de la
norme 802.11. Ceci pour deux raisons. Premièrement, le travail sur la norme 802.11i a duré beaucoup
plus longtemps que prévu, s'étalant sur quatre ans pendant lesquels l'inquiétude au sujet de la sécurité
des réseaux sans fil allait grandissante. Deuxièmement, il rassemble, dans un sous-ensemble de la
norme 802.11i, les éléments qui sont compatibles avec le WEP des tous premiers adaptateurs 802.11b.
Des mises à jour WPA ont été fournies pour la très grande majorité des cartes Wi-Fi déjà existantes.
Les points d'accès vendus avant 2003 ont généralement besoin d'être remplacés.
WPA a été créé par la Wi-Fi Alliance, une association d'entreprises, qui possède les droits sur le sigle
Wi-Fi et qui certifie le matériel portant ce sigle. Les certifications des implantations du WPA ont
commencé en avril 2003 et sont devenues obligatoires en novembre 2003. La norme 802.11i complète
a été ratifiée en juin 2004.

WPA a été conçu pour être utilisé en collaboration avec un serveur d'authentification 802.1X chargé
de distribuer les différentes clés à chaque utilisateur. Cependant, il peut aussi être utilisé dans un mode
moins sécurisé, appelé pre-shared key (PSK), dans lequel tous les utilisateurs partagent une même
phrase secrète.

Les données sont chiffrées en utilisant l'algorithme de chiffrement par flot RC4, avec une clé de 128
bits et un vecteur d'initialisation (initialization vector ou IV en anglais) de 48 bits. Une des
améliorations majeures du WPA par rapport au WEP est le protocole Temporal Key Integrity Protocol
(TKIP), qui échange de manière dynamique les clés lors de l'utilisation du système. Ce protocole,
associé au vecteur d'initialisation beaucoup plus grand que dans le WEP, empêche certaines attaques
sur WEP aujourd'hui bien connues.

Le protocole TKIP s'avère en fin de compte possible à contourner. Cela nécessite beaucoup de temps :
quelques minutes de capture de paquets et de l'ordre de 30 000 jours de calcul sur un Pentium IV.
Cependant il est possible d'accélérer la recherche en utilisant le calcul distribué, grâce à des clusters ou
des machines zombies. Le protocole CCMP, utilisé dans WPA2, est donc à préférer.

WPA2
WPA2 est la version de la norme IEEE 802.11i certifiée par la Wi-Fi Alliance. WPA2 inclut tous les
éléments obligatoires de la norme 802.11i. En particulier, l’algorithme RC4 est remplacé
respectivement par un algorithme d'authentification de message, CCMP, qui est considéré comme
complètement sécurisé.

Le support officiel du WPA2 dans Microsoft Windows XP a été annoncé le 1er mai 2005. Une mise à
jour des pilotes pour cartes réseaux peut s'avérer nécessaire. Apple Computer supporte le WPA2 sur
tous les Macintoshs comportant une carte AirPort Extreme, sur l' AirPort Extreme Base Station, et l'
AirPort Express.

Les modes WPA-Enterprise et WPA2-Enterprise sont également dotés de mécanismes EAP


(Extensible Authentication Protocol), que nous allons étudier ci-après.
Essentiel – Sécurité 42 / 74

4.7. Méthodes EAP


4.7.1. Généralités

EAP (Extensible Authentication Protocol) est une norme IETF (Internet Engineering Task
Force) décrite dans la RFC 3748, qui vise à authentifier une entité (un utilisateur ou un équipement)
avant de lui donner accès à des ressources réseau, ceci à travers un mécanisme d’authentification
propre à EAP. Ce protocole, créé à l'origine comme extension du protocole PPP, à l’avantage de
proposer différents mécanismes d’authentification, mais aussi la distribution dynamique des clés de
chiffrement (WEP).

4.7.2. Rappels PPP

PPP (Point to Point Protocol - RFC 1661 et RFC 2153) fournit une méthode standard pour
transporter les datagrammes multi protocole (Ip, Ipx et Netbeui ) sur des liens point à point synchrones
ou asynchrones. Il est employé pour créer une connexion à la demande entre un client et un serveur
d'accès réseau.
Il permet de gérer ces 3 fonctions :
• Etablir et maintenir une connexion physique. Le protocole PPP utilise une séquence défini
dans le RFC 1661 pour établir et maintenir les connexions entre les postes distants.
• Authentifier les utilisateurs. Les clients PPTP sont authentifiés à l'aide du protocole PPP.
• Créer un datagramme PPP contenant des trames TCP/IP, IPX ou NetBEUI cryptées.

4.7.3. Mécanismes d’authentification EAP

Le protocole 802.1X ne propose pas une seule méthode d'authentification mais un canevas sur
lequel sont basés une douzaine de différents scénarios d'authentification, basés sur plusieurs éléments
d’identification (login / mot de passe, certificat électronique, biométrie, puce SIM) qui peuvent, selon
les scénarios, être combinés. Dans ce cours, nous étudierons les mécanismes d’authentification EAP
les plus répandus :

• EAP-MD5:
Cette méthode, simpliste mais la moins sécurisée, ne propose pas d'authentification mutuelle, il
s'appuie uniquement sur l’utilisation d’un couple login/mot de passe. Le problème majeur de cette
méthode réside dans le fait que les échanges ne sont pas chiffrés et que la distribution dynamique des
clés WEP n’est pas supportée, même s’il est relativement facile de mettre en place une structure
d'authentification basée sur cette méthode. EAP-MD5 est d'ailleurs beaucoup utilisé pour des réseaux
filaires où la contrainte liée au chiffrage des échanges est moins forte que pour les réseaux Wifi.

• LEAP (Lightweight EAP):


LEAP à été développé par Cisco en décembre 2000, un produit doté de son "standard" LEAP
(Lightweight EAP). Il s'agit d'une solution propriétaire reposant sur l'utilisation de secrets partagés
pour authentifier mutuellement le serveur et le client. Elle n'utilise aucun certificat et est basé sur
l'échange de défi et réponse.
Initialement LEAP ne fonctionnait qu'avec les cartes Cisco clients 802.11, les serveurs RADIUS et les
points d'accès Cisco. L'équipementier s'est récemment associé à d'autres fournisseurs pour assurer la
compatibilité avec LEAP des équipements et logiciels. L’inconvénient de cette méthode est la
nécessité d’avoir des règles de mot de passe rigides, car LEAP est vulnérable à des attaques de
dictionnaire par interception.
Essentiel – Sécurité 43 / 74

• PEAP (Protected EAP):


PEAP est une méthode très semblable dans ses objectifs et voisine dans la réalisation à EAP-TLS. Elle
est développée par Microsoft. Elle se sert d’un tunnel TLS pour faire circuler de l’EAP. On peut alors
utiliser toutes les méthodes d’authentification supportées par EAP.

• EAP-TLS (Extensible Authentication Protocol-Transport Layer Security):


C’est la plus sûre. Le serveur et le client possèdent chacun leur certificat qui va servir à les authentifier
mutuellement. Cela reste relativement contraignant du fait de la nécessité de déployer une
infrastructure de gestion de clés. Rappelons que TLS, la version normalisée de SSL (Secure Socket
Layer), est un transport sécurisé (chiffrement, authentification mutuelle, contrôle d’intégrité). C’est lui
qui est utilisé de façon sous-jacente par HTTPS, la version sécurisée de HTTP, pour sécuriser le Web.
EAP-TLS (Transport Layer Security) est un standard ouvert pris en charge par la quasi-totalité des
fournisseurs. Basé sur EAP, sa puissance tient au fait qu'il exige l'utilisation de l'infrastructure à clé
publique PKI. PKI fait d'EAP-TLS un standard extrêmement sûr puisque des clés privées et publiques
asymétriques sont utilisées sur les clients et RADIUS. Seul inconvénient, l'implémentation d'une PKI
peut sembler, à tort, assez délicate.

4.8. Biométrie
4.8.1. Généralités
Les techniques basées sur la biométrie jouissent à l'heure actuelle d'un engouement général
favorisé par un accroissement des volontés de sécurisation d’accès des parcs informatiques.
Ces techniques peuvent être associées à l'anthropométrie (technique mesurant les particularités
dimensionnelles d'un individu) afin d'identifier et authentifier des personnes sur la base de
caractéristiques physiques individuelles.
Il est possible de recenser plus d'une dizaine de technologies biométriques, plus ou moins intrusives.
Les technologies les plus répandues sont les empreintes digitales (48% du marché), la morphologie
faciale (12% du marché), la géométrie de la main (11%), l'iris (9%), la reconnaissance vocale (6%), de
la rétine, des veines et des oreilles, ainsi que la radiographie dentaire. D’autres, plus
comportementales, ont du mal à s'imposer (la démarche, la signature, l’analyse de frappe de touche, le
mouvement des yeux…).

Si certaines sont presque infaillibles (reconnaissance de l'iris), d'autres sont sujettes à une marge
d'erreur plus importante. Les usages de la biométrie sont de deux ordres ; la première étant liée aux
enjeux sécuritaires (aéroports, passeports informatisés…) tandis que l'autre s'apparente à une biométrie
de confort (lecteurs empreintes digitales dans les véhicules personnels).

Nous aborderons dans ce cours des techniques les plus employées, à savoir les empreintes digitales, la
géométrie de la main, la morphologie faciale, l’analyse de l’iris, de la rétine et des veines.

4.8.2. Empreintes digitales (finger-scan)

La technique des empreintes digitales est la plus répandue dans le monde à l’heure actuelle. La
donnée de base est le dessin représenté par les crêtes et sillons de l'épiderme, mais peut être ajoutée à
la température, la force de pression…. Ce dessin est unique et différent pour chaque individu.
L’utilisation de l’empreinte digitale comme moyen d’identification d’une personne n’est pas nouvelle.
En fait, les corps policiers utilisent cette technique depuis plus de 100 ans. La force de ce procédé tient
au fait que l’utilisation de l’empreinte digitale est généralement plus facile d’acceptation par la
communauté et qu’elle est une des plus efficaces et des moins coûteuses.
En pratique, il est quasiment impossible d'utiliser toutes les informations fournies par ce dessin (car
trop nombreuses pour chaque individu), on préférera donc en extraire les caractéristiques principales
telles que les bifurcations de crêtes, les lignes qui disparaissent, etc...
Essentiel – Sécurité 44 / 74

Technique de scan de l’empreinte digitale


Détecte une centaine de points (différence entre les
crêtes (en contact avec le capteur) et les vallées
(creux)).

Les techniques utilisées pour la mesure sont diverses, principalement :

Capteurs optiques : Le doigt est apposé sur une platine en plastique dur ou en quartz, qui est en vis-à-
vis avec une mini caméra. Cette technique représente un coût assez intéressant mais la technologie
employée est jugée ancienne.

Capteurs en silicium : Il utilise l’un des quatre effets observables sur les semi-conducteurs : l’effet
piezo-électrique, l’effet capacitif, l’effet thermo-électrique et l’effet photo-électrique. La taille de
l’équipement est plus réduite et représente un coût moins important que les lecteurs optiques.

Capteurs ultrasoniques : capteurs de champ électrique, de capacité, de température... Cette


technique utilise une onde ultra sonore qu’il envoie vers le doigt, puis calcule le temps mis par l’onde
pour faire un aller-retour et, point par point, fournit l’image de l’empreinte. Elle est très précise et
hérite des propriétés des ultrasons qui permettent de traverser certains matériaux (gants en latex,
saletés, etc.). L’équipement est toutefois volumineux et très coûteux.

Tous ces capteurs sont souvent doublés d'une mesure visant à établir la validité de l'échantillon soumis
(autrement dit, qu'il s'agit bien d'un doigt) : mesure de la constante diélectrique relative du
l'échantillon, sa conductivité, les battements de cœur, la pression sanguine, voir une mesure de
l'empreinte sous l'épiderme...
Essentiel – Sécurité 45 / 74

4.8.3. Géométrie de la main / du doigt (hand-scan)

La biométrie par la forme de la main est une technologie populaire employée pour le contrôle
d’accès physique ou le pointage horaire. Elle est très simple et bon marché. L’exactitude d’un système
biométrique basé sur la forme de la main est tout à fait raisonnable (mesure de 90 caractéristiques
géométriques de la main tel que la forme de la main, longueur et largeur des doigts, formes des
articulations, longueurs inter-articulations, etc...)

On compte de nombreuses applications à travers le monde, notamment aux Etats-Unis, par exemple
sur l’aéroport de San Francisco.

4.8.4. L’iris (iris-scan)

L'utilisation de l'iris pour l'identification d'une personne a été proposée à l’origine en 1936 par
l’ophtalmologue Frank Burch. Dans les années 1980, l’idée réapparut avec les films sur James Bond,
mais cela restait toujours de la science-fiction. En 1987 les ophtalmologues Aran Safir et Léonard
Flom ont fait breveter cette idée et, en 1989, ont demandé à John Daugman (alors enseignant à
l’université de Harvard), d’essayer de créer des algorithmes pour l’identification par l’iris. Ces
algorithmes (méthode basée sur les ondes de Gabo), que Daugman a fait breveter en 1994, sont la base
de tous les systèmes d’identification par l’iris.

Il est essentiel de différencier l’iris de la rétine. L'iris est la zone colorée visible entre le blanc de l'oeil
et la pupille.

C’est un réseau de tubes fins vus du dessus et dont le diamètre est inférieur à celui d'un cheveu.
L'enchevêtrement des tubes est fixe (forme de l'iris) et ne varie que très peu durant la vie de l'individu.
Par contre, la couleur (des tubes) varie un peu avec le temps (5 à 10 ans) et lors de certaines maladies.
Essentiel – Sécurité 46 / 74

Les deux iris d'un individu ont à peu près la même couleur mais leur forme (enchevêtrement des tubes)
est aussi différente que celle de l'iris d'une autre personne. L'iris n'occupe qu'une surface très faible.
L'observation pratique à travers un système optique ne permet de déceler que des contours
macroscopiques et pas de descendre au niveau des tubes élémentaires. Toutefois, ceci évolue avec la
précision des capteurs. Il n'est pas non plus indispensable de recueillir toute l'information contenue
dans l'iris pour authentifier un individu.

La probabilité de trouver 2 iris suffisamment identiques est 1/ 10^72 (selon les estimations de
Daugmann).
La prise de vue est effectuée par une caméra (capteur classique doté d’un objectif macro). Les
contraintes sur l'éclairage demandent souvent que le capteur soit proche de l'œil. En effet, le nombre
de problèmes à résoudre augmente presque proportionnellement avec la distance. Il faut tenir compte
des reflets ponctuels, de la non uniformité de l'éclairage, des reflets uniformes et non ponctuels et, des
images de l'environnement qui se reflètent sur l'iris.

D'autres problèmes se posent à cause des reflets (nécessité d'avoir un éclairage restreint et maitrisé), et
lors de la détection de faux yeux (photos) et autres fraudes. Pour ces dernières, on peut faire appel à
certaines caractéristiques dynamiques de l'œil qui prouveront son authenticité : réactivité de la pupille
(dilatation/rétraction) par rapport à la quantité de lumière, étude de l'iris dans l'infrarouge et
l'ultraviolet, etc.

4.8.5. Rétine (retina-scan)

La rétine est la « pellicule photographique » de l’œil. Elle est constituée de 4 couches de


cellules et est située au fond de l’œil.
Cette mesure biométrique est plus ancienne que celle utilisant l'iris, mais elle a été moins bien
acceptée par le public et les utilisateurs. Pour obtenir une image d’une rétine, il est nécessaire
d’éclairer le fond de l’œil à l’aide d’un faisceau lumineux ; à travers la pupille et le corps vitreux. Ce
faisceau est de très faible intensité pour ne pas gêner l’utilisateur ; il est sans danger et de plus faible
intensité que sur les dispositifs ophtalmologiques. Un système de caméra très précis vient ensuite
récupérer l’image de la rétine.

La mesure peut ainsi fournir jusqu'à 400 points caractéristique du sujet, que l'on peut comparer à la
centaine de points fournis par une empreinte digitale. La mesure rétinienne est la plus difficile à
utiliser mais également la plus dure à contrefaire.
Essentiel – Sécurité 47 / 74

4.8.6. Visage (facial-scan)

Il s'agit ici de faire une photographie plus ou moins évoluée pour en extraire un ensemble de
facteurs qui se veulent propres à chaque individu. Ces facteurs sont choisis pour leur forte invariabilité
et concernent des zones du visage tel que le haut des joues, les coins de la bouche, etc... On évitera
d'autre part les types de coiffures, les zones occupées par des cheveux en général ou toutes zones
sujettes à modification durant la vie de la personne.

Il existe plusieurs variantes de la technologie de reconnaissance du visage. La première est développée


et supportée par le MIT et se nomme « Eigenface ». Elle consiste à décomposer le visage en plusieurs
images faites de nuances de gris, chacune mettant en évidence une caractéristique particulière :

Une autre technique appelée « feature analysis » se base sur la précédente en y rajoutant des
informations sur les distances inter-éléments, leurs positions, etc. Elle se dit plus souple quant aux
éventuelles modifications pouvant survenir : angle de prise de vue, inclinaison de la tête, etc.

Viennent ensuite des techniques moins utilisées à l'heure actuelle, basée sur des réseaux neuronaux,
sur des méthodes plus techniques et moins souples.

4.8.7. Analyse des veines (vein pattern-scan)

Cette technique est habituellement combinée à une autre, comme l'étude de la géométrie de la
main. Il s'agit ici d'analyser le dessin formé par le réseau des veines sur une partie du corps d'un
individu pour en garder quelques points caractéristiques.
Essentiel – Sécurité 48 / 74

4.8.8. Conclusion

Il existe bien d’autres moyens d’identifier un individu en utilisant les techniques de la


biométrie. Par exemple la dynamique des frappes au clavier (keystroke-scan), la reconnaissance
vocale, la dynamique des signatures (signature-scan), la reconnaissance de la peau (skin pattern
recognition), thermogramme du visage (Facial thermogram), reconnaissance du sourire (Smile
recognition)…. A l’heure actuelle, de nouvelles techniques sont en cours d’expérimentation ; parmi
celles-ci la géométrie de l'oreille, les odeurs, les pores de la peau et les tests ADN.

Toutes ces techniques ont toutefois chacune leurs limites. D’une manière générale, les faiblesses de
ces systèmes ne se situent pas au niveau de la particularité physique sur laquelle ils reposent, mais sur
la façon avec laquelle ils la mesurent, et la marge d'erreur qu'ils autorisent puisque l’homme évolue
sans cesse.

Le choix d’une technique d’identification biométrique dépend donc du contexte dans lequel il doit être
implémenté. Ce choix se fera selon le niveau d’efficacité du système requis, le coût de la technologie à
mettre en place et l’effort requis par l’utilisateur lors de la mesure.

On peut donc conclure en précisant que les techniques de biométrie permettent l’identification grâce à
un élément du corps humain ou grâce à un comportement. Néanmoins, on constate que l’utilisation de
ces technologies est de plus en plus couplée avec d’autres procédés (Mots de passe, cartes à puce…)
puisque aucune technique n’est à l’heure actuelle complètement fiable.
Essentiel – Sécurité 49 / 74

5. Design d’architecture réseau


sécurisée
5.1. Equipements
5.1.1. Commutateur

Le commutateur, ou switch, est un matériel d’interconnexion agissant au niveau de la couche 2


(liaison) du modèle OSI. Il sert à segmenter un réseau en domaines de collisions ainsi qu’à renouveler
le signal.

À l’inverse d’un concentrateur (hub), un commutateur « distribue » les données qu’il reçoit sur ses
ports en entrée en les filtrant et en ne les envoyant que sur les ports adéquats. L’usage d’un
commutateur permet ainsi de ne pas surcharger le réseau en envoyant des données inutiles. Cela
accroît la disponibilité du réseau et permet d’éviter des pannes qui pourraient perturber le bon
fonctionnement de l’architecture réseau de l’entreprise.

5.1.2. Routeur

Le routeur est un équipement de couche 3 permettant l’interconnexion de réseaux en


n’envoyant les données qu’aux hôtes destinataires de ces dernières.

Un routeur possède au minimum 2 interfaces et établit des règles de communication précises entre
celles-ci. Ainsi un réseau peut être segmenté en plusieurs sous réseaux tout en permettant le dialogue
entre eux par le biais des routeurs.

L’utilisation de routeurs permet de mieux sécuriser un réseau en permettant d’établir des règles de
communication précises entre les différents réseaux du LAN. Ainsi l’administrateur pourra définir que
les utilisateurs du réseau A ne pourront pas accéder aux ressources du réseau B alors que les hôtes
présents dans le réseau B pourront avoir accès à l’intégralité des ressources du LAN.
Ce principe peut être appliqué de façon plus approfondi grâce à l’utilisation des ACL (Access List
Control) ou listes de contrôles d’accès.

L’utilisation de routeurs permet de segmenter le réseau en différents domaines de broadcast isolant


ainsi les dysfonctionnements possibles et augmentant la performance du réseau. La sécurité s’en
trouve renforcée puisque cette technique permet de mieux organiser le réseau tout en le « divisant » en
sous-réseaux thématiques.

5.1.3. Firewall

Un firewall, aussi appelé pare-feu ou coupe-feu en français, est un système permettant de


protéger un réseau ou un ordinateur contre des intrusions provenant d’un tiers (personne mal
intentionnée, vers etc.).

Les firewalls existent sous forme logicielle (par exemple IPTables sous linux, ou Zone Alarm sous
Windows) ou matérielle (par exemple Cisco PIX). Nous nous pencherons plus particulièrement sur les
firewalls matériels.

Un firewall sécurise un réseau en analysant les paquets de donnée transmis à partir d’une de ses
interfaces vers une autre.
Essentiel – Sécurité 50 / 74

Un paquet de donnée contient toujours les entêtes suivants, analysés par le pare-feu afin de définir les
communications autorisées ou non :
• Ip de l’émetteur
• Ip du destinataire
• Type de paquet (TCP, ICMP…)
• Numéro du port utilisé

Un pare-feu filtre les accès grâce aux règles qui lui sont établies de type allow, deny ou drop.
Généralement la règle par défaut d’un pare-feu est de tout refuser excepté ce qui a été explicitement
autorisé (accès FTP sur le port 21 par exemple).

Le filtrage dynamique, ou stateful inspection, permet de suivre l’état des échanges se faisant entre les
2 interfaces du pare-feu afin d’adapter les règles existantes au trafic. Par exemple, pour le protocole
FTP (ou tout autre protocole fonctionnant de la même façon), le pare-feu va falloir gérer l'état de deux
connexions : un canal établi par le client et un par le serveur.
Le Firewall devra donc laisser passer le flux de données établi par le serveur ce qui implique qu’il
connaisse le principe de fonctionnement de ce genre de protocole.

Cette technique inventée par Checkpoint est désormais implémentée par d'autres fabricants.

5.1.4. Proxy

Description
Un proxy, ou serveur mandataire, est un système créé par le CERN (Centre Européen de Recherche
Nucléaire) en 1994.
Il existe différents types de proxies comme les serveurs proxy web, proxy ftp, proxy socks etc. bien
que l’utilisation la plus courante soit le proxy web.

Un serveur proxy possède plusieurs fonctions permettant d’accroître la sécurité d’un réseau comme
nous le verrons ci-après.

Authentification
Un serveur mandataire joue le rôle d’intermédiaire nécessaire à toute requête transitant du réseau
interne vers des ressources externes, il est parfois possible et utile de l’utiliser à des fins
d’authentification. Les utilisateurs devront ainsi s’identifier par un couple classique de login / mot de
passe afin d’accéder à un contenu extérieur ou à Internet.

Relais
Le rôle premier d’un serveur proxy est de servir de relais entre 2 réseaux. Ainsi son utilisation la plus
courante, sous forme de proxy web, permet à un ordinateur d’établir des connexions sur le port 80 en
passant par un tiers.
Pour avoir un aperçu d’une utilisation de proxy rendez-vous dans les options de connexion de votre
navigateur Internet favori et spécifiez l’adresse d’un proxy avec le port de connexion. De nombreuses
listes de serveurs proxy publiques sont disponibles sur Internet, leur utilisation est gratuite bien que
certains soient un peu lent du fait de leur « popularité ».
Une fois votre serveur proxy spécifié toute requête web sera transmise au serveur proxy qui fera la
demande au serveur de votre part et vous renverra le résultat.

Cette forme d’utilisation apporte un anonymat relatif à l’utilisateur.


Essentiel – Sécurité 51 / 74

Filtrage
Un proxy peut également être utilisé pour son rôle de filtrage (ou tracking en anglais). Dans ce cas là,
il sert à assurer un suivi des requêtes vers Internet effectuées par les utilisateurs en les consignant dans
des journaux d’activité (ou logs).

Cette fonction de tracking permet également d’établir des contrôles sur les contenus autorisés ou non
en établissant des listes de requêtes interdites (liste noire ou black list). Ainsi le filtrage est appliqué en
comparant la requête de l’utilisateur avec la liste des requêtes autorisées (liste blanche). Cette fonction
permet d’interdire l’accès à certains sites jugés inadaptés à l’environnement de travail par
l’administrateur réseau.
Exemple : Etablir une liste interdisant l’accès à « www.xxx.com » .

Un autre type de filtrage reposant sur l’analyse de la réponse (résultat de la requête) en se basant sur
des critères comme des mots-clefs est appelé filtrage de contenu.

Exemple : Etablir une liste interdisant l’accès à tous les sites contenant le mot « toto » sur la page
demandée.

Cache
Un autre rôle d’un proxy est de servir de cache. De façon plus explicite une mémoire cache sert à
conserver localement des informations qui ont une certaine probabilité de servir à nouveau.

Si un internaute requiert une information qui se trouve déjà dans le cache, il sera servi presque
immédiatement. Dans le cas contraire, il sera servi plus lentement, car la traversée du serveur proxy
représente une étape supplémentaire dans le transport de l'information.
Il ne serait pas logique de se servir d'un proxy pour les services dont l'information peut être mise à jour
à tout instant (les news par exemple), à moins que le logiciel ne détecte ces mises à jour, ce qui reste
une fonction rare. L'information stockée dans le cache du proxy est conservée pendant un temps limité
(durée au choix).
Si le cache déborde, l'information la plus ancienne est supprimée au profit de la plus récente.
Essentiel – Sécurité 52 / 74

5.1.5. IDS/IPS

Généralités concernant les IDS


Un IDS est un système permettant d’analyser les activités d’un réseau et de détecter les risques
d’intrusions ou trafic suspect.

On distingue 2 types distincts d’IDS :


• N-IDS (Network Intrusion Detection System) ou IDS basé sur le réseau : assure la sécurité au
niveau du réseau.
• H-IDS (Host Intrusion Detection System) ou IDS basé sur l’hôte: assure la sécurité au niveau
des hôtes.

Un N-IDS est un équipement réseau qui analyse (sniffing) les communications sur le réseau afin de
fournir des journaux d’activités (logs) et des comptes-rendus concernant ce qui a été analysé comme
intrusion, ou non. Un IDS basé sur le réseau peut être un équipement matériel (exemple : Cisco IDS
4250) ou une machine dédiée dont la carte réseau est configurée en mode promiscuité (promiscuous
mode).

Un H-IDS est un démon (ou daemon) qui s’exécute en permanence sur un hôte analysant les accès
fichiers, les journaux système, les paquets échangés avec le reste du réseau…
Un IDS basé sur l’hôte s’intéresse plus particulièrement à qui a la permission de faire quoi et quand il
peut le faire.
Essentiel – Sécurité 53 / 74

À l’inverse des IDS qui restent des systèmes passifs, ne permettant que de journaliser les évènements
et donc d’agir a posteriori, les IPS jouent un rôle préventif (comme leur nom l’indique) en empêchant
les intrusions au sein du système d’information.
De nos jours la tendance semble être à la production d’IDS très fortement orientés IPS ce qui rend
désormais la différence entre les deux quasi inexistante.

Dans la suite de ce cours nous utiliserons le terme IDS au sens large du terme, c’est à dire IDS + IPS.

Techniques de détection
Chaque constructeur recourt généralement à des techniques de détection qui lui sont propres. Les IDS
s’appuient sur deux méthodes principales d’analyse que sont la reconnaissance de motifs et la
détection d’anomalies.

La reconnaissance de motifs fonctionne sur le même principe que les signatures des logiciels antivirus.
Une base de données recensant les différents motifs d’attaque connus est consultée par l’IDS qui peut
alors comparer au motif en cours d’analyse.
Si le motif détecté est identique au motif renseigné dans sa base l’IDS détecte et notifie l’attaque.
Bien entendu, tout comme les signatures antivirus la base de données de l’IDS doit être régulièrement
mise à jour sans quoi les dernières méthodes d’attaque ne pourront être reconnues. Les méthodes
d’attaque n’évoluant pas aussi vite que la prolifération de vers et virus, les mises à jours sont toutefois
moins fréquentes que pour les antivirus.

La détection d’anomalies peut s’apparenter à un type de recherche heuristique et existe pour palier à la
reconnaissance de motifs qui peut être mise en défaut par une attaque non recensée (motif inconnu de
l’IDS). La détection d’anomalies s’appuie sur des algorithmes permettant à l’IDS d’interpréter ce qui
est en train de se passer.
A la mise en place de l’IDS ce dernier va donc analyser le trafic circulant sur le réseau afin d’en
détacher un profil type contenant de nombreuses informations sur le réseau (connexions, utilisateurs,
protocoles utilisés, heures de connexion…). Ce profil type servira par la suite de comportement de
référence et permettra à l’IDS d’analyser plus précisément les comportements en déviant. Si le
système détecte un comportement suspect déviant totalement de celui de référence alors une alerte est
déclenchée.
Le seuil d’alerte doit, bien entendu, être configuré précisément par l’administrateur réseau sous peine
d’être inondé de fausses alertes engendrées par une utilisation « normale » du système d’information.
Essentiel – Sécurité 54 / 74

Limites d’un IDS


Bien que très perfectionnés, les IDS (comme tout système) présentent quelques limites et peuvent
facilement être mis à défaut.
Nous allons décrire rapidement quelques méthodes connues pour faire « tomber » un IDS. Ces
remarques sont donc à prendre en compte en ce qui concerne la mise en place d’un IDS car elles
montrent bien combien un IDS à lui seul n’est pas une solution suffisante en termes de sécurité.
• Le bombardement (flood) : l’IDS est surchargé de travail, il ne peut gérer tout le trafic qu’il
doit traiter si bien qu’une partie des communications ne peut être analysée.
• L’encodage d’URL : cette méthode consiste à encoder les caractères de l’URL sous forme
hexadécimal permettant à l’agresseur d’adresser la requête qu’il souhaite.
• Formatage de la chaîne : tous les systèmes n’interprétant pas les espaces de la même façon, on
les remplace par des tabulations
• Modification du motif d’attaque : si un type d’attaque connu (motif) consiste à exécuter
« Etape 1, Etape 2, Etape 3 » et que l’ordre peut-être intervertit alors l’attaque peut ne pas être
détectée (motif ne concordant pas avec celui de référence utilisé par l’IDS).
• Multiplication des sessions : comme précédemment il s’agit de tromper l’IDS en modifiant la
méthode d’attaque. Ainsi en exécutant chaque étape de l’attaque sous une nouvelle session
l’IDS peut ne pas faire le lien entre elles.
Cette liste n’est pas exhaustive (ce n’est pas le but du cours), de nombreuses autres méthodes existent
que vous ne manquerez pas de trouvez sur Internet en cherchant un peu.

Actions d’un IDS


Nous avons vu précédemment les différentes techniques utilisés par un IDS pour détecter une
anomalie, voyons maintenant quelles sont les méthodes pouvant être utilisées pour signaler et bloquer
les intrusions.
• Reconfiguration d’équipements tiers (firewall, ACL sur les routeurs) : un ordre est envoyé à
l’équipement concerné pour une reconfiguration immédiate dans le but de bloquer une
intrusion.
• Envoi d’une trappe SNMP : envoi d’une alerte à une console tierce.
• Envoi d’un e-mail : Envoi d’un e-mail à une ou plusieurs boîtes aux lettres pour notifier d’une
intrusion détectée.
• Journalisation (log) de l’attaque : sauvegarde des détails de l’alerte.
• Sauvegarde des paquets suspicieux : Sauvegarde de l’ensemble des paquets réseaux capturés
qui ont déclenchés l’alerte.
• Démarrage d’une application : lancement d'un programme pour exécuter une tâche spécifique
(par exemple : envoi d’un message sms).
Envoi d’un "ResetKill" : Construction d'un paquet TCP FIN pour forcer la fin d’une connexion
(uniquement valable sur des techniques d’intrusions utilisant le protocole de transport TCP).

5.1.6. VPN

Qu’est ce qu’un VPN ?


Pour comprendre ce qu’est un VPN il faut tout d’abord comprendre leur utilité.
Avant l’arrivée des VPN seul deux moyens s’offraient à une entreprise pour interconnecter deux sites
distants entre eux.

La première solution consistait à employer une liaison louée dédiée entre les 2 sites. Ainsi il fallait
disposer d’un accès physique à la ligne téléphonique pour pouvoir communiquer avec le site distant.
Bien que sécuritaire cette solution s’avérait très onéreuse surtout si l’entreprise possédait de nombreux
sites distants. Et quid des connexions itinérantes (commerciaux, administrateurs) vers le LAN de
l’entreprise ?
Essentiel – Sécurité 55 / 74

La seconde solution était donc d’utiliser le plus grand réseau public : Internet. Pour des raisons
évidentes de sécurité, cette méthode ne pouvait être utilisé : faire transiter des données confidentielles,
en clair, sur un réseau accessible par tout un chacun ne semble en effet pas très judicieux.

Tout l’intérêt des VPN repose sur cette seconde solution en proposant une solution intermédiaire
permettant d’utiliser Internet (réseau public donc peu onéreux) tout en « dissimulant » le trafic aux
curieux.

Un VPN (Virtual Private Network) est donc un réseau privé virtuel (RPV) reposant sur un protocole
d’encapsulation (tunneling) permettant de chiffrer les informations y transitant.
De façon imagée, on crée alors un tunnel privé au travers d’un réseau non sûr (Internet par exemple)
dans lequel les informations sont cryptées. Le flux est toujours visible mais sous forme codée et donc
inexploitable.

On parle de réseau virtuel car il relie deux réseaux "physiques" (réseaux locaux ou LAN) par une
liaison non fiable (Internet), et privé car seuls les ordinateurs des réseaux locaux de part et d'autre du
VPN peuvent "voir" les données transmises.

Un VPN peut donc être établit entre un utilisateur distant et son entreprise (cas de commerciaux en
déplacement par exemple), entre deux sites distants, à l’intérieur d’un réseau local…

Comment fonctionne un VPN ?


Comme nous venons de le voir, un VPN utilise un protocole particulier pour établir une connexion
sûre entre deux points d’un réseau.

Une session VPN se déroule suivant différentes étapes :


• Le client demande une connexion VPN
• Le serveur qui reçoit la requête établit alors un tunnel temporaire
• Les deux parties s’échangent leurs clefs et le serveur définit alors comment va être encapsulé
le trafic (nous reviendrons là-dessus plus tard)
• Le client s’authentifie auprès du serveur grâce à son couple login/pass ou tout autre système
d’authentification
• Le serveur vérifie l’identité du client et lui distribue une adresse IP temporaire
• Le réseau privé virtuel est établi, les données peuvent maintenant être transmises via le VPN

Il existe différents protocoles d’encapsulation dont les plus courants :


• PPTP (Point-to-Point Tunneling Protocol) est un protocole de niveau 2 développé par
Microsoft, 3Com, Ascend, US Robotics et ECI Telematics. Ce protocole tend à être de moins
en moins utilisé au profit de L2TP.
• L2TP (Layer Two Tunneling Protocol) est l'aboutissement des travaux de l'IETF (RFC 2661)
pour faire converger les fonctionnalités de PPTP et L2F (protocole obsolète). Il s'agit ainsi
d'un protocole de niveau 2 s'appuyant sur PPP (Point to Point Protocol).
• IPSec est un protocole de niveau 3, issu des travaux de l'IETF, permettant de transporter des
données chiffrées pour les réseaux IP.
• SSH remplaçant de Telnet et Rlogin est un protocole de communication sécurisé
• SSL (Socket Secure Layer)

La plupart des réseaux utilisent désormais L2TP et IPSec.

L2TP est un protocole standard de couche 2 (RFC 2661) utilisant par définition des trames pour
transmettre les données. Or les trames, de par leur structure, ne peuvent contenir autant d’informations
que les paquets. Par exemple il n’y aura pas de contrôle d’erreur. Ce protocole encapsule donc des
trames encapsulant elles-mêmes d'autres protocoles (tels que IP, IPX ou encore NetBIOS).
Essentiel – Sécurité 56 / 74

IPSec est un protocole de couche 3 faisant donc transiter des paquets de données. Il s'agit en fait d'un
protocole apportant des améliorations de sécurité au protocole IP afin de garantir la confidentialité,
l'intégrité et l'authentification des échanges. IPSec ne peut pas traiter les protocoles réseau AppleTalk
ou NetBEUI.

5.2. Architectures
5.2.1. Cisco SAFE

Cisco SAFE est un ensemble de recommandations produit par Cisco afin de désigner de façon
sécurisée un réseau.

SAFE est un guide pour la mise en œuvre d'une sécurité sur les réseaux (téléchargeable sur le site de
Cisco www.cisco.fr ou www.cisco.com pour la version originale du document). SAFE n'est pas
destiné à servir de politique de sécurité pour les réseaux, pas plus qu'il ne constitue un moyen
exhaustif pour doter les réseaux existants d'un système complet de sécurité. En revanche, c’est un
modèle qui permet aux concepteurs de réseaux d'envisager la manière dont ils vont concevoir et mettre
en œuvre le réseau d'une entreprise afin de satisfaire ses besoins en matière de sécurité.

Les objectifs définis par Cisco SAFE sont les suivants :


• Sécurité et atténuation des attaques basées sur une politique
• Mise en œuvre de la sécurité sur l'ensemble de l'infrastructure (et pas seulement sur des
périphériques de sécurité spécialisées)
• Déploiement rentable
• Gestion et reporting sécurisés
• Accès des utilisateurs et des administrateurs aux ressources critiques du réseau soumis à
authentification et à autorisation
• Détection des intrusions pour les ressources critiques et les sous-réseaux

SAFE décrit donc une architecture de sécurité qui a pour objectif d’empêcher la plupart des attaques
de porter atteinte à l’intégrité du réseau.

SAFE tente également de sensibiliser les responsables d’infrastructures informatiques à l’importance


de sécuriser un réseau bien qu’aucune protection ne soit inviolable.

5.2.2. Architecture LAN

Architecture sécurisée
Il existe divers types d’architectures LAN mais certains sont plus sécuritaires que d’autres. Dans cette
partie nous verrons quels sont les déploiements réseau à privilégier et à contrario celles ne présentant
pas la meilleure sécurité.

Le B-A BA d’une architecture réseau est de distinguer clairement les différentes zones qui le
composent. Ainsi on peut trouver trois grands types de zones : la zone de confiance, la zone
intermédiaire et la zone de danger.

La zone de confiance correspond au réseau interne (LAN), normalement à l’abri et où le trafic est sûr.
La zone intermédiaire correspond à la zone démilitarisée (DMZ), où le danger est absolu bien que la
DMZ soit fortement surveillée et contrôlée.
La zone de danger représente Internet, réseau public ce qui signifie : aucune surveillance et aucune
confiance.

Il faut considérer chaque zone et les fonctionnalités nécessaires au système d’information afin de créer
une architecture réseau fiable et sécuritaire.
Essentiel – Sécurité 57 / 74

Les accès depuis l’extérieur vers le réseau interne seront donc limités voir inexistants. Un routeur
pourra servir à séparer les zones entre elles, un firewall pourra filtrer les accès entre le routeur et le
LAN. Des IDS peuvent être placés en amont et en aval du routeur afin de mieux détecter les
possibilités d’intrusion. Un IDS pourra aussi être placé dans la DMZ afin de mieux en surveiller les
activités.

Bien souvent la méthode paranoïaque est la plus efficace : il ne faut pas hésiter à sécuriser et contrôler
chaque partie du réseau afin de détecter au plus tôt (et de la façon la plus précise) une attaque ou un
dysfonctionnement.
L’emploi de protocoles de monitoring comme SNMP (Simple Network Management Protocol) permet
également de contrôler de façon simple et centralisée ce qui se passe sur le réseau.

Bien que la sécurité soit un point important, il ne faut jamais oublier qu’un réseau se doit d’être
fonctionnel, évolutif, adaptable et aisément gérable.
Il convient donc d’établir le juste équilibre entre une sécurité efficace et suffisante et les
fonctionnalités nécessaires aux utilisateurs.

Les honeypots
Un honeypot (ou pot à miel) est un programme ou un ordinateur présentant de nombreuses
vulnérabilités de façon volontaire afin de tromper un pirate. Il s’agit en fait d’un leurre permettant de
faire croire à l’intrus qu’il a trouvé une faille à exploiter.

Un honeypot est utilisé à différentes fins. En effet on peut observer la façon d’agir du pirate, les
méthodes employées, les ressources ciblées etc. Cette surveillance et analyse des attaques permet
également de mieux renforcer la sécurité de l’architecture en fonction des méthodes utilisées.

Pour être fonctionnel et « rentable », un honeypot est un système qui doit être compromis afin d’attirer
l’attention des pirates mais surtout pour accroître la sécurité du réseau : si le système vulnérable n’est
cible d’aucune attaque alors la mise en place d’un honeypot sera inutile. Un bon équilibre doit être fait
afin de rendre crédible la présence d’un honeypot comme un système de production actif.

Utilisation de SNMP
Comme nous l’avons sommairement décrit, SNMP est un protocole permettant aux administrateurs de
gérer les équipements réseaux et de diagnostiquer les problèmes réseaux.

Le système de gestion repose sur deux éléments principaux : un superviseur et ses agents. Les agents
transmettent les informations (traps) à la station de gestion qui centralise les alertes.
Ces dernières sont classées dans une base de donnée appelée MIB ("Management Information Base").
SNMP permet le dialogue entre le superviseur et les agents afin de recueillir les objets souhaités dans
la MIB.

Chaque alerte peut donc être clairement identifiée et notifiée à l’administrateur en fonction de son
importance ce qui évite de ne pas remarquer une alerte importante qui pourrait être « noyée » dans un
flot de notifications mineures.

L’importance de la DMZ
Une DMZ permet l’accès à certaines ressources sans toutefois autoriser les accès sur le réseau interne.
Une utilisation très courante d’une DMZ consiste à y positionner un serveur web, ou un serveur
SMTP.

Le contenu proposé par le serveur web doit être accessible depuis l’extérieur sans toutefois altérer la
sécurité du réseau interne. Bien qu’il s’agisse, dans ce cas précis, d’un contenu public il n’est pas
superflu de surveiller la zone démilitarisée afin d’en prévenir toute attaque.
Essentiel – Sécurité 58 / 74

Une DMZ ne doit rien contenir de confidentiel et les serveurs qui y sont placés doivent être facilement
remis en état de fonctionnement. Il ne faut pas négliger l’intérêt des sauvegardes.

Voici un exemple de DMZ placée derrière le pare-feu mais distincte du réseau interne (LAN).

Microsoft NAP
NAP (Network Access Protection) est une technologie permettant de vérifier si les ordinateurs se
connectant au réseau correspondent aux conditions définies par l’administrateur réseau. Cela permet
de placer un ordinateur ne satisfaisant pas aux critères dans une zone de quarantaine dans laquelle il
lui sera possible de se mettre à niveau pour rejoindre le réseau.

Exemple : Un ordinateur portable qui rejoint le réseau interne n’a pas appliqué les dernières mises à
jour de sécurité. Une règle de l’administrateur spécifie que chaque hôte non à jour ne peut pas se
connecter au LAN et doit passer par une zone de quarantaine dans laquelle lui seront proposées les
mises à jour le concernant.

L’architecture d’un réseau utilisant les technologies NAP doit être particulière. Ainsi on retrouvera de
nombreux éléments semblables à beaucoup de réseaux, et quelques uns spécifiques, comme :
• un serveur DHCP : adressage automatique des hôtes du réseau
• un serveur Active Directory : identification des utilisateurs
• un serveur VPN : accès distants
• un serveur IAS (Internet Authentification Service) : gestion de la stratégie d’accès réseau des
clients DHCP ou VPN
Essentiel – Sécurité 59 / 74

• un serveur de certificat
• un réseau restreint
• un serveur NAP (bien entendu)

Parmi ces différents éléments on remarque que NAP nécessite un réseau restreint pour permettre aux
ordinateurs devant se mettre en conformité avec la politique de sécurité du réseau de se mettre à jour.
Ce réseau restreint doit donc contenir les ressources nécessaires à ces mises à jour.

NAP fonctionne dans le cas d’une connexion directe via DHCP ou dans le cas d’une connexion
distante via VPN.
La technologie NAP, qui sera intégrée nativement à Microsoft Windows Vista, est utilisable grâce au
couple Microsoft Windows Server 2003 et un serveur IAS et permet donc d’accroître la sécurité d’un
réseau en garantissant de façon automatique la sûreté des hôtes qui y sont connectés.

Dernièrement Microsoft et Cisco se sont mutuellement engagés à partager des informations sur leur
technologie afin de permettre de faire communiquer les technologies NAP du géant du logiciel avec la
technologie NAC de Cisco.

Cisco NAC
NAC (Network Access Control) permet de contrôler l’accès aux ressources informatiques d’un réseau
en se basant sur les équipements réseau pour garantir l’intégrité de la globalité du réseau.
NAC est donc, de la même façon que NAP, une technologie permettant d’éviter la propagation de vers
et virus à l’intérieur d’un réseau en y autorisant que les hôtes jugés conformes à la politique de sécurité
mise en place.

Le système NAC se compose des éléments suivants :


• CTA (Cisco Trust Agent) : composant logiciel permettant de collecter des informations sur
l’ordinateur souhaitant disposer des ressources du réseau. Associé au CSA (Cisco Security
Agent) placé sur l’hôte, le CTA peut déterminer si l’hôte peut avoir un accès restreint au
réseau ou bien en être totalement exclu.
• Unités d’accès réseau : les routeurs, commutateurs, les points d’accès sans fil et les serveurs
de sécurité dédiés appliquent la politique de contrôle d’admission au réseau. Selon la politique
définie, le réseau applique la décision de contrôle d’admission : autorisation, refus,
quarantaine ou accès restreint.
• Serveur de politiques : il permet d’évaluer les informations de sécurité transmises par le CTA
et le CSA afin de déterminer l’accès qu’il convient de lui donner.
• Système d’administration : Cisco Works VPN/Security Management Solution (VMS)
dimensionne les éléments Cisco NAC tandis que Cisco Works Security Information Manager
Solution (SIMS) fournit des outils de contrôle.

Le système NAC agit donc directement au niveau des équipements réseau et est une étape clef du
projet Cisco Self-Defending Network permettant aux réseaux d’identifier les menaces et de s’y adapter
afin d’obtenir un réseau « capable de se défendre lui-même »… ou du moins plus réactif face aux
menaces.
Essentiel – Sécurité 60 / 74
Essentiel – Sécurité 61 / 74

6. VPN
Avec le phénomène de mondialisation, il est aujourd’hui de plus en plus fréquent qu’une
entreprise dispose de plusieurs succursales ou que celle-ci favorise le télétravail. Cependant, la
communication inter-sites se doit d’être garantie par une sécurité optimale. En effet, les ressources de
l’entreprise sont de plus en plus mutualisées et tendent vers une centralisation des informations
(Annuaires, serveurs mail, serveurs CVS, etc.). Plusieurs technologies permettent d’étendre un réseau
local sur plusieurs sites distants.

6.1. Extension sécurisée d’un réseau


Il existe plusieurs solutions permettant à une entreprise d’étendre son réseau et qui existaient
avant l’apparition des premiers VPN (Virtual Private Network) en 1997. Les connexions sécurisées
dites traditionnelles sont les suivantes :

Les lignes louées


Ces lignes sont des liaisons point-à-point louées par un opérateur de télécommunication à une
entreprise. Les performances sont optimales et offrant une sécurité maximale vu que cette ligne est
alors dédiée mais implique un coût trop grand pour une majorité d’entreprises.

De plus les délais d’installation d’une telle ligne sont longs et l’entreprise ne dispose que d’une liaison
« statique » vers une destination unique. Cela peut nuire à la flexibilité et l’extension future du réseau.

Les circuits virtuels permanents (PVC)


Dans le cadre des PVC, l’opérateur de télécommunication utilise son infrastructure existante pour
acheminer les données entre les sites distants. Le coût est donc moins élevé que dans le cas des lignes
louées. Les performances restent relativement élevées du fait de l’utilisation du réseau de l’opérateur,
mais la sécurité amoindrie avec la mutualisation.
Des exemples concrets de PVC sont les connexions ATM, Frame Relay. La technologie MultiProtocol
Label Switching(MPLS) entre également dans cette catégorie.

Les Switched Virtual Circuit (SVC)


Le principe général de cette technologie est identique au PVC. Cependant la connexion n’est pas
permanente, mais « à la demande ». Une connexion est donc initiée dès que des données doivent être
transférées, et terminée dès la fin du transfert.

Les performances en sont forcément amoindries par rapport à un PVC dû à la latence d’établissement
de la connexion pour chaque transfert. Les lignes RNIS, par exemple, est une utilisation de SVC.

Toutefois ces technologies ont deux inconvénients communs : elles sont coûteuses et nécessite
l’intervention d’un opérateur de télécommunication.

Les VPN ont donc pour objectif de sécuriser les échanges de données privées et sensibles sur une
infrastructure publique. Le plus grand réseau public permettant de communiquer en tout point du
monde est Internet et l’accès à ce dernier est de plus en plus facile et accessible à tous. En utilisant
celui-ci, on s’émancipe alors des opérateurs et la seule contrainte devient alors de déployer des
mécanismes de sécurisation.

Par conséquent, les coûts d’installation d’une telle solution sont bien moindres. Du fait qu’un VPN
soit une infrastructure logique sur Internet, les réseaux virtuels ont une meilleure disponibilité (une
infinité de chemin possible entre deux destinations) et offrent des possibilités d’extension du réseau
très facile.
Essentiel – Sécurité 62 / 74

Un VPN repose sur un protocole appelé "protocole de tunneling". Ce protocole permet de faire
circuler les données sous forme chiffrée. Le principe de tunneling consiste à construire un chemin
virtuel après avoir identifié l'émetteur et le destinataire : on passe alors à une phase d’authentification.
Par la suite, la source chiffre les données et les achemine en empruntant ce chemin virtuel. Les
informations sont ainsi transportées de façon sécuritaire et transparente sur un réseau publique.

6.2. Types de réseaux VPN


Il existe 2 types de réseaux VPN :

ƒ Les VPN d’accès distant


ƒ Les VPN d’interconnexion de réseau

Dans le cas des VPN d’accès distant, un client VPN (un utilisateur nomade) initialise une connexion
avec un réseau distant afin de pouvoir accéder aux ressources locales. L'utilisateur se sert d'une simple
connexion Internet pour établir la connexion VPN.
L'authentification la plus générale se fait via une vérification du login / mot de passe ou des méthodes
d'authentification forte comme l’utilisation de « tokens sécurisés » ou encore via certificats
numériques.

VPN d’accès distant


Pour les VPN d’interconnexion de réseaux distants, il s'agit créer un tunnel entre plusieurs sites
géographiquement éloignés. Ce type de réseau est particulièrement utile au sein d'une entreprise
possédant plusieurs sites distants. Par conséquent, des données sensibles sont susceptibles de transiter
via ce tunnel, ce qui implique que des technologies de cryptage doivent être implémentées afin de
s’assurer que les données ne sont pas altérées.

Il s'agit d'une authentification au niveau paquet pour assurer la validité des données, de l'identification
de leur source ainsi que leur non-répudiation. La plupart des algorithmes utilisés font appel à des
signatures numériques qui sont ajoutées aux paquets. La confidentialité des données est, elle aussi,
basée sur des algorithmes de cryptographie.
Essentiel – Sécurité 63 / 74

VPN d’interconnexion de réseaux distants


Essentiel – Sécurité 64 / 74

6.3. PPTP
Terminologie utilisée :

PPP
PPP (Point to Point Protocol) est un protocole qui permet de transférer des données sur un lien
synchrone ou asynchrone. Il est full duplex et garantit l'ordre d'arrivée des paquets. Il encapsule les
paquets IP, IPX et NetBEUI dans des trames PPP, puis transmet ces paquets encapsulés au travers de
la liaison point à point.

Network Access Server (NAS)


Dans le cas particulier du protocole PPTP, un NAS est une ressource réseau acceptant les connexions
PPP. Un fournisseur d’accès Internet possède un NAS sur lequel les clients se connectent à travers une
ligne analogique.

PPTP Access Concentrator (PAC)


Le PAC est définis comme étant tout élément du réseau connecté à une ligne téléphonique et en
mesure de gérer les protocoles PPP et PPTP. Plus simplement, c’est le client.

PPTP Network Server (PNS)


Le PNS est tout élément réseau qui implémente la partie Serveur du protocole PPTP. Le PNS est
communément appelé le serveur PPTP.

PPTP (Point to Point Tunneling Protocol) est un protocole de niveau 2 développé par Microsoft qui
permet l'encryptage des données ainsi que leur compression en utilisant une connexion PPP.

Le principe du protocole PPTP est de créer des paquets sous le protocole PPP et de les encapsuler dans
des datagrammes IP. PPTP crée ainsi un tunnel de niveau 3 défini par le protocole GRE (Generic
Routing Encapsulation).

Le tunnel PPTP se caractérise par une initialisation du client, une connexion de contrôle entre le client
et le serveur ainsi que par la clôture du tunnel par le serveur.
Lors de l'établissement de la connexion, le PAC effectue d'abord une connexion avec le NAS de son
fournisseur d'accès Internet. C’est une connexion PPP classique qui permet de transiter sur Internet.

Par la suite, une deuxième connexion de contrôle est établie entre le PAC et le PNS. Elle permet
d'encapsuler les paquets PPP dans des datagrammes IP. C'est cette deuxième connexion qui forme le
tunnel PPTP. Tout trafic client conçu pour Internet emprunte la connexion physique normale, alors
que le trafic conçu pour le réseau privé distant, passe par la connexion virtuelle de PPTP.
Essentiel – Sécurité 65 / 74

Plusieurs protocoles sont utilisés avec PPTP afin de sécuriser les données ou de les compresser. Pour
le processus d'identification, il est possible d'utiliser les protocoles PAP (Password Authentification
Protocol) ou MS-CHAPv2.

Le protocole PAP n’est pas recommandé car l’échange de mot de passe se fait en clair !

Pour l'encryptage des données, il est possible d'utiliser les fonctions de MPPE (Microsoft Point to
Point Encryption). Enfin, une compression de bout en bout peut être réalisée par MPPC (Microsoft
Point to Point Compression).
Essentiel – Sécurité 66 / 74

6.4. L2TP
Brève description du protocole L2F (Layer 2 Forwarding) :

Développé par Cisco System, ce protocole de couche 2 permet à l'utilisateur d’éviter d’installer un
client VPN. En effet, c’est le NAS du fournisseur d’accès qui va créer le tunnel L2F entre lui et le
PNS/NAS de l’entreprise. L’entreprise n’a donc pas la main sur la sécurité des transactions, s’en
remettant à son FAI.

Ce protocole propriétaire nécessite de plus du matériel compatible L2F. Il est donc très largement
remplacé par le protocole L2TP.

L2TP (Layer Two Tunneling Protocol) est un protocole qui rassemble les idées des deux protocoles
précédents : PPTP et L2F. Développé par Microsoft et Cisco notamment, il ressemble beaucoup au
protocole PPTP.

L2TP permet l'encapsulation des paquets PPP au niveau des couches 2 (Frame Relay, ATM,…) et 3
(IP). En utilisant donc IP comme protocole d’encapsulation, L2TP peut ainsi être utilisé comme
protocole de tunneling à travers Internet. Cependant, L2TP n'intègre pas directement de protocole pour
le chiffrement des données. C'est pourquoi L'IETF préconise l'utilisation conjointe d'IPSec et L2TP.

L2TP implique deux sessions PPP : une avec le NAS du fournisseur d’accès Internet et l’autre avec le
NAS du réseau sur lequel on se connecte. Nous avons ainsi un paquet L2TP comme suit :
Essentiel – Sécurité 67 / 74

Comme il est visible sur ce schéma, L2TP repose sur le protocole UDP qui ne permet pas de contrôle
de la transmission. Ainsi, L2TP est composé de 2 couches :

• Une couche de contrôle qui gère des accusés-réceptions


• Une couche de transport des données

6.5. IPSec
IPSec est un protocole de couche 3 très souvent mise en œuvre pour des VPN, notamment en
complément du protocole L2TP. IPSec vient combler les manques du protocole IP en termes de
sécurité. Ces services sont :
• l’authentification mutuelle
• la confidentialité
• l’intégrité
• le contrôle d'accès
• l’anti-rejeu

6.5.1. Concepts généraux


IPSec est basé sur deux protocoles pour la sécurisation des flux : AH (Authentication Header) et ESP
(Encapsulating Security Payload). Ces deux protocoles utilisent des mécanismes de chiffrement dont
Essentiel – Sécurité 68 / 74

les caractéristiques et les clefs sont négociées par le protocole IKE (Internet Key Exchange) et stockés
sous forme d’associations de sécurité.

Il est possible d’implémenter ces deux protocoles de deux façons :


• Le mode transport : utilisé pour relier deux hôtes.
• Le mode tunnel : utilisé pour relier deux passerelles (des routeurs par exemple).

IKE (Internet Key Exchange)

IKE est un protocole de gestion automatique des paramètres de sécurité. Celui-ci hérite d’autres
protocoles, à savoir ISAKMP, Oakley et SKEME. C’est aujourd’hui le standard pour la négociation de
clefs.

Son fonctionnement se découpe en 2 phases distinctes décrites plus loin.


Protocole AH (Authentication Header)

Ce protocole a pour objectif de garantir l’origine des trames, ainsi que leur intégrité. Il fait appel pour
cela à des mécanismes de hachage qui peuvent être associés aux algorithmes asymétriques pour créer
une signature numérique ou à HMAC en utilisant des algorithmes de hachage. Il est toutefois précisé
dans la RFC de ce protocole que les mécanismes à implémenter doivent être HMAC-MD5 ou HMAC-
SHA1.

Cependant, la confidentialité des trames n’est pas assurée par le protocole AH (aucun chiffrement
n’est réalisé).

Son principe est d'adjoindre au datagramme IP classique un champ supplémentaire devant le bloc de
donnée alors appelé ICV (Intégrity Check Value).

Voici la structure d’un en-tête AH :

• En-tête suivant : numéro du protocole IP protégé. Par exemple 6 pour TCP et 17 pour UDP.
En mode tunnel on trouvera aussi le numéro 4 pour IP. Ces numéros de protocole sont définis
sur le site Internet de l’IANA.

• Taille du bloc AH : taille de l’en-tête d’authentification AH qui permet de déterminer le début


du bloc de données.

• Réservé : ce bloc doit contenir 0 pour l’instant car il est réservé à une utilisation future.
Essentiel – Sécurité 69 / 74

• SPI : index des paramètres de sécurité permettant de trouver dans la base de données des
associations de sécurité à appliquer à chaque trame.

• Numéro de séquence : numéro permettant de fournir, si le récepteur en tient compte, une


protection contre le rejeu des trames.

• Données d’authentification : les données de ce champ sont le résultat de l’application de


l’algorithme d’authentification négocié lors des échanges de paramètres de sécurité.
L’authentification couvre toute la trame IP sauf les paramètres changeants tels que le TTL et
l’en-tête d’authentification (AH)

Protocole ESP (Encapsulating Security Payload)

Ce protocole permet de garantir l’intégrité et l’authentification de chaque trame. Il permet également


d’assurer la confidentialité des données échangées.

Contrairement à AH, le protocole ESP fonctionne suivant le principe de l'encapsulation : les données
originales sont chiffrées puis encapsulées. Les champs de la trame sont les suivants :

• SPI : index des paramètres de sécurité permettant de trouver dans la base de données des
associations de sécurité, celle à appliquer à chaque trame.

• Numéro de séquence : numéro permettant de fournir, si le récepteur en tient compte, une


protection contre le rejeu des trames.

• Bloc de données : emplacement pour les données à protéger, qui peuvent être soit les données
de la trame originelle, soit toute la trame originelle en fonction du mode choisi (transport ou
tunnel).

• Bourrage : champ utilisé pour compléter le champ Bloc de données. Deux cas de figure
nécessitent l’utilisation de ce champ.

™ l’algorithme de chiffrement utilisé est un « block cipher » qui requiert que le message
à chiffrer ait une taille multiple de la taille de bloc supportée par l’algorithme.
Essentiel – Sécurité 70 / 74

™ pour s’assurer que les deux champs suivants (taille du bourrage et en-tête suivant)
utilisent les 4 derniers octets d’un mot de 8 octets.

• Taille du bourrage : taille en octet du champ précédent.

• En-tête suivant : numéro du protocole IP encapsulé, par exemple 6 pour TCP, 17 pour UDP….

• Données d’authentification : Résultat de l’algorithme d’authentification négocié lors de


l’établissement des associations de sécurité. L’authentification ne couvre pas la totalité de la
trame comme AH, mais tout ce qui suit l’en-tête ESP à l’exception des données
d’authentification. Ce champ est seulement présent si l’option est sélectionnée dans la SA en
cours.
SA
La SA (Security Association) d'IPSec a pour rôle de définir les paramètres de sécurité d’une
connexion donnée. Une SA est unidirectionnelle ce qui signifie qu’un minimum de deux SA est requis
pour une communication entre deux entités. Une SA doit consigner, pour chaque adresse IP avec
laquelle l'implémentation IPSec peut communiquer, les informations suivantes :
• l'index de la SA appelé SPI (Security Parameter Index) : choix par le récepteur d’un numéro
de séquence, indicateur utilisé pour le service d'anti-rejeu
• dépassement du compteur de séquence : détermine l’action en cas de dépassement du
compteur de numéros de séquence (journalisé ou arrêt de la transmission)
• une fenêtre d'anti-rejeu : compteur 32 bits
• paramètres d'authentification (algorithmes et clefs)
• paramètres de chiffrement (algorithmes et clefs, valable que pour ESP)
• durée de vie de la SA
• mode et protocole utilisés (tunnel ou transport et AH ou ESP)
• MTU : taille maximale des trames pouvant transiter sans devoir les fragmenter.

Chaque SA est identifiée de façon unique à l'aide des informations suivantes :


• l'adresse de destination des paquets
• l'identifiant du protocole de sécurité (AH ou ESP)
• le SPI

SAD
La SAD (Security Association Database) : est une base de données des associations de sécurité qui
gère celle active. Elle contient tous les paramètres relatifs à chacune des SA et sera consultée pour
savoir comment traiter chaque paquet reçu ou à émettre.

SPD
La SPD (Security Policy Database) permet de déterminer quels mécanismes doivent être appliqués ou
non sur le trafic.
Elle permet de décider, pour chaque paquet (entrant, sortant, utilisant IPSec ou non), s’il se verra
apporter des services de sécurité, s’il sera autorisé à passer outre ou sera rejeté. Si IPSec doit être
appliqué à la trame, la SPD se référera à la SA correspondant dans la SAD.
Les règles présentes dans une SPD ressemblent à des règles de firewalling.

Le schéma suivant représente les interactions entre les différents éléments décrits ci-dessus.
Essentiel – Sécurité 71 / 74
Essentiel – Sécurité 72 / 74

6.5.2. IKE Phase 1


La phase 1 d’IKE a pour but de paramétrer un canal d'authentification sécurisé entre les deux parties.
Les premiers messages sont en clair. Ils servent à déterminer les paramètres qui sécuriseront les
échanges futurs et à établir la clef mère initiale SKEYID.

Voyons en schéma cette phase avec Frédéric (bleu) et Delphine (rose) :

1. Frédéric envoie à Delphine sa clef publique et une valeur aléatoire avec ses propositions en
matière de paramètres cryptographiques pour la SA IKE.

2. Delphine génère sa valeur aléatoire et l’utilise avec sa clef privée, la clef publique et la valeur
aléatoire de Frédéric pour calculer la clef secrète mère (SKEYID).

3. Delphine créé un hash signé par la SKEYID calculée et l’envoie à Frédéric en plus de sa clef
publique et de sa valeur aléatoire.
Essentiel – Sécurité 73 / 74

4. Frédéric calcule à son tour la SKEYID à partir des informations émises par Delphine et peut
ainsi vérifier la preuve signée de Delphine.

5. Frédéric envoie à son tour un hash signé avec la SKEYID qu’il a calculé. Cela permet à
Delphine de s’assurer que Frédéric à bien la même SKEYID.

Une fois que cette clef secrète partagée est créée, 3 nouvelles clefs en sont dérivées :
• une clef de chiffrement
• une clef d'authentification
• un autre secret partagé dont on tirera le second jeu de clefs secrètes

Ces clefs servent à chiffrer et à authentifier les échanges de la phase 2.


Essentiel – Sécurité 74 / 74

6.5.3. IKE Phase 2

La phase 2 de IKE est également appelée « Quick Mode ». Cela vient du fait qu'elle utilise la
cryptographie à clefs secrètes et non celle à clefs publiques qui est beaucoup plus lente et coûteuse.

« Quick Mode » est utilisé pour la négociation de SA et la génération d’un nouveau jeu de clefs
secrètes partagées. Chaque négociation aboutit en fait à deux SA, une dans chaque sens de la
communication et permet la création des tunnels utilisés pour le transport des données. Les messages
échangés durant cette phase sont protégés en authenticité et en confidentialité grâce aux éléments
négociés durant la phase précédente.

La phase 2 d’IKE s’effectue en 3 étapes.

1. Frédéric, qui initie la connexion, envoie à Delphine une série de propositions pour les
paramètres des SA IPSec. Il envoie les données d'authentification qu'il a créées avec la clef
d'authentification de la phase 1 (dérivée de la SKEYID) et un nouveau nombre aléatoire.

2. Delphine répond son choix pour les paramètres (AH, ESP, AES,…) définies dans les SA et
envoie son nouveau nombre aléatoire. Elle prouve aussi qu'elle a bien reçu le précédent
message de Frédéric grâce au nombre aléatoire de Frédéric et d'autres paramètres.

3. Frédéric accuse réception du message de Delphine comme Delphine vient de le faire à l'étape
précédente.

Afin d’accroitre encore plus la sécurité au niveau des transactions, il est possible d’avoir recours au
PFS (Perfect Forward Secrecy). Cette méthode signifie que les clefs secrètes de la phase 2 ne
dépendent plus du secret calculé lors de la phase 1 mais d'un nouveau secret généré lors de la phase 2.
Cependant, ce second échange de secrets reste coûteux.

Vous aimerez peut-être aussi