la securite reseau

74

Upload: tarik-merghad

Post on 01-Feb-2016

28 views

Category:

Documents


2 download

DESCRIPTION

LA SECURITE RESEAU

TRANSCRIPT

Page 1: La Securite Reseau
Adnane
Texte tapé à la machine
LA SECURITE RESEAU
Adnane
Texte tapé à la machine
Techniques des Réseaux Informatiques
Adnane
Texte tapé à la machine
www.tri.on.ma
Adnane
Texte tapé à la machine
adnaneadnane.ifrance.com
Page 2: La Securite Reseau

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

Page 3: La Securite Reseau

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

Page 4: La Securite Reseau

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.

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

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

Page 5: La Securite Reseau

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.

Page 6: La Securite Reseau

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

Page 7: La Securite Reseau

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 ;

Page 8: La Securite Reseau

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,

Page 9: La Securite Reseau

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.

Page 10: La Securite Reseau

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éceptionLinux 2.4.0 5840 MacOS 10.1 32768 OpenBSD 3.3 64240

FreeBSD 9.2 16384 Windows XP 8192 Windows 2000 server Windows 2003 server

17520

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.

Page 11: La Securite Reseau

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

Page 12: La Securite Reseau

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.

Page 13: La Securite Reseau

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.

Page 14: La Securite Reseau

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.

Page 15: La Securite Reseau

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

Page 16: La Securite Reseau

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.

Page 17: La Securite Reseau

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.

Page 18: La Securite Reseau

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

Page 19: La Securite Reseau

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,

Page 20: La Securite Reseau

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.

Page 21: La Securite Reseau

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 :

Page 22: La Securite Reseau

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.

Page 23: La Securite Reseau

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.

Page 24: La Securite Reseau

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.

Page 25: La Securite Reseau

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.

Page 26: La Securite Reseau

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.

Page 27: La Securite Reseau

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

Page 28: La Securite Reseau

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.

Page 29: La Securite Reseau

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)

Page 30: La Securite Reseau

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

Page 31: La Securite Reseau

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 ID

N° Attribut

Longueur Valeur

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

Page 32: La Securite Reseau

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:

NetworkAccessServer

(TACACS Client)

AuthenticationAuthorizationAccounting

Server

(TACACS Server)

Login

Réponse

Logout

Réponse

Séquence de login

Séquence de logout

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.

Page 33: La Securite Reseau

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.

Page 34: La Securite Reseau

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+ :

NetworkAccessServer

(TACACS Client)

AuthenticationAuthorizationAccounting

Server

(TACACS Server)

1 Authentification (start)

2 Reply (finished)

Séquence de login

3 Authentification (request)

4 Response (pass)

6 Reply (sucess)

5 Accounting (start)

7 Accounting (stop)

8 Reply (success)

Séquence de logout

Page 35: La Securite Reseau

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

Page 36: La Securite Reseau

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.

Page 37: La Securite Reseau

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 :

Page 38: La Securite Reseau

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.

Page 39: La Securite Reseau

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 à

Page 40: La Securite Reseau

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

Page 41: La Securite Reseau

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.

Page 42: La Securite Reseau

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.

Page 43: La Securite Reseau

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...

Page 44: La Securite Reseau

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...

Page 45: La Securite Reseau

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.

Page 46: La Securite Reseau

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.

Page 47: La Securite Reseau

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.

Page 48: La Securite Reseau

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.

Page 49: La Securite Reseau

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.

Page 50: La Securite Reseau

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.

Page 51: La Securite Reseau

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.

Page 52: La Securite Reseau

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.

Page 53: La Securite Reseau

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.

Page 54: La Securite Reseau

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 ?

Page 55: La Securite Reseau

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).

Page 56: La Securite Reseau

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.

Page 57: La Securite Reseau

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.

Page 58: La Securite Reseau

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

Page 59: La Securite Reseau

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.

Page 60: La Securite Reseau

Essentiel – Sécurité 60 / 74

Page 61: La Securite Reseau

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.

Page 62: La Securite Reseau

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.

Page 63: La Securite Reseau

Essentiel – Sécurité 63 / 74

VPN d’interconnexion de réseaux distants

Page 64: La Securite Reseau

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.

Page 65: La Securite Reseau

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).

Page 66: La Securite Reseau

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 :

Page 67: La Securite Reseau

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

Page 68: La Securite Reseau

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.

Page 69: La Securite Reseau

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.

Page 70: La Securite Reseau

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.

Page 71: La Securite Reseau

Essentiel – Sécurité 71 / 74

Page 72: La Securite Reseau

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.

Page 73: La Securite Reseau

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.

Page 74: La Securite Reseau

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.