Cours Sécurité des réseaux
Sécurité des réseaux
Ikram Smaoui Trigui
� Donner un aperçu sur les attaques et les risquesqui menacent les réseaux informatiques.
� Donner une idée sur quelques technologies,
algorithmes, et mécanismesqui permettentde
Objectifs
Cours Sécurité des réseaux
algorithmes, et mécanismesqui permettentde
sécuriser les réseaux informatiques.
2
Chapitre 1 : Généralités
• Besoin de sécurité pour les réseaux
Informatiques
Cours Sécurité des réseaux
• Objectifs de la sécurité informatique
• Définitions: Menaces, Attaques, Risque..
• Exemples d’attaques de sécurité
• Mécanismes cryptographiques de sécurité
3
� Une intrusion est un ensemble d’actions entraînant la
compromission de la sécurité de l’information possédée
par une organisation.
� Une intrusion à un réseau Informatique (RI) peut causer
desdégâtsdivers:
Besoin de sécurité pour les RI
Cours Sécurité des réseaux
desdégâtsdivers:
• perte de confiance des clients,
• vol des données confidentielles,
• pertes financières suite à des transactions erronées
� Assurer la sécurité de l’information implique d’assurer la
sécurité des réseaux informatiques.4
� Services de la sécurité informatique• Authentification
• Confidentialité
• Intégrité
Objectifs de la sécurité informatique
Cours Sécurité des réseaux
• Non-répudiation
• Disponibilité
• Contrôle d’accès
• Autorisation
5
� Confidentialité: Protection des données transmisescontre les attaques, et protection des flux de donnéescontre l’analyse.
• Préservation du secret des données transmises. Seulement lesentités communicantes sont autorisées à lire les données.
•
Objectifs de la sécurité informatique
Cours Sécurité des réseaux
• Protection des adresses source et destination, longueur desmessages, etc.
� Mécanismes utilisés: Cryptage, contrôle d’accès.
6
� Authentification: S’assurer que l’utilisateur du réseausoit correctement identifié ainsi que la source dumessage :• Assurer le receveur que le message provient de la source réelle du
message.
• Assurer l’authenticité des entités communicantes
•
Objectifs de la sécurité informatique
Cours Sécurité des réseaux
• Empêcher la perturbation de la connexion par une tierce partie qui sefait passer pour une entité légitime (émission ou réceptionnonautorisée).
� Techniques utilisées:• Some Thing you Know : mot de passe
• Some Thing you Have : carte à puce
• Some Thing you Are : empreinte digitale
• Signature numérique
7
� Intégrité:• Vérifier si les données ont été altérées depuis la source
vers la destination
• Techniques utilisées: cryptage, signature numérique,contrôled’accès,contrôled’intégrité
Objectifs de la sécurité informatique
Cours Sécurité des réseaux
contrôled’accès,contrôled’intégrité
� Non répudiation:
• Empêche l’émetteur ou le receveur de nier avoirtransmis ou reçu un message.
• Techniques utilisées: signature électronique
8
� Contrôle d’accès:Empêcher l’utilisation non autorisée des ressourcesréseau
• Définir les personnes autorisées d’accéder aux ressourcesréseauainsi que leurs privilèges.
� Disponibilité : Concept permettant de s’assurer que l’information et lesservicessontaccessibleslorsqu’ilssontdemandés.
Objectifs de la sécurité informatique
Cours Sécurité des réseaux
servicessontaccessibleslorsqu’ilssontdemandés.
• Mécanismes utilisés :
• Sauvegardes
• Partage de charge
� Autorisation
• La permission de faire ou d'accéder à quelque chose
9
Définitions
� Menace : Une personne, un objet, ou un évènement pouvant
provoquer des dommages sur un système et ayant un impact surses fonctionnalités, son intégrité ou sa disponibilité.
� Vulnérabilité : Faiblesse pouvant être exploitée par une ou
plusieurs menaces
Cours Sécurité des réseaux
� Attaque : Action compromettant la sécurité de l’information
d’une organisation.
� Risque: quantité ou qualificatif exprimant la possibilité qu’une
attaque soit réalisée sur une ressource en exploitant lesvulnérabilités qu’elle présente.
10
� Les attaques sont des actions qui entraînent la compromissionde la sécurité de l’information possédée par une organisation.
� Deux types d’attaques
• Attaques passives
• Pas de modification de l’information
Attaques de sécurité
Cours Sécurité des réseaux
•• Difficile à détecter
• Attaques actives
• Entraînent généralement la modification de l’information, la non-disponibilité des services, etc.
� Les attaques peuvent être aussi bien internes qu’externes (la majorité desattaques viennent de l’intérieur et elles sont plus difficiles à détecter)
11
Exemples d’attaques de sécurité
• Falsification (Tampering)• Spoofing• Ecoute (Eavesdropping and Packet Sniffing)• Password Guessing• Déni de service (DoS/DDoS)• Ping flooding, Smurf• TCP SYN Flooding
Cours Sécurité des réseaux
• TCP SYN Flooding• UDP Flooding • Web spoofing• Cheval de Troie• Ver
12
Falsification (Tampering)
� Description :Modification ou la destruction des données.
� Moyens : mauvaise utilisation des privilèges par les utilisateurs
internes, ou accès non autorisé par des agents externes.
� Menaces :
• Introduction des modifications sur des enregistrements(statut,
Cours Sécurité des réseaux
• Introduction des modifications sur des enregistrements(statut,salaire, inscription, etc.)
• Effacement des logs par un intrus pour empêcher la réparationdes pannes et la résolution des conflits.
• Installer des chevaux de Troie pour la collecte des mots de passe,ou pour d’autres intrusions.
13
usurpation d'identité (Spoofing)
� Description : technique consistant à prendre l'identité d'une autre
personne ou d'une autre machine. Elle est généralement utilisée pour
récupérer des informations sensibles.
� Moyens :
• Vol de comptes, deviner des mots de passe (password guessing),
socialengeneering.
Cours Sécurité des réseaux
socialengeneering.
� Menaces :
• Des messages erronés.
• Déni de service (IP attacks, SYN attacks, Ping-of-Death)
14
� Technique utilisée en informatique pour attaquer tout réseau local utilisant leprotocole de résolution d'adresse ARP, les cas les plus répandus étant lesréseaux Ethernet et Wifi.
� Pollution des cachesarp avec de fausses associations adresse mac/adresse IP.
� Permet à l'attaquant de détourner des flux de communications transitant entreune machine cible et une passerelle : routeur, serveur, etc.
arp spoofing ou arp poisoning
Cours Sécurité des réseaux
� L'attaquant peut ensuite écouter, modifier ou encore bloquer les paquetsréseaux.
� Permet des attaques de type "man in the middle", Déni de service.
15
� Réseau local : � 192.168.1.1 : passerelle.� 192.168.1.10 : machine cible. � 192.168.1.17 : attaquant.
arp spoofing ou arp poisoning
L'attaquant va envoyer un paquet ARP qu'il aura lui-même forgé à l'aide d'outils comme Scapy.
Cours Sécurité des réseaux16
d'outils comme Scapy.
� Paquet ARP :� ip_source= 192.168.1.1� mac_source= <adresse_mac attaquant>� ip_destination= 192.168.1.10� type= is-at
l'adresse ip 192.168.1.1 correspond à l'adresse MAC <adresse_mac attaquant>
arp spoofing
Gratuitous ARP
Cours Sécurité des réseaux
� Surveiller les changements d'association:• arpwatch (unix)• WinARP Watch (Windows)
17
Cours Sécurité des réseaux18
Cours Sécurité des réseaux19
Web spoofing
Cours Sécurité des réseaux20
Ecoute (Eavesdropping and Packet Sniffing)
� Description : analyser le trafic réseau pour collecter desinformations sans introduire des modifications.
� Moyens : Sniffers, analyseur de trafic, les routeurs, lespasserelles, capture et filtrage des paquets.
� Menaces: L’écoute peut être utilisé pour collecter un ensemble
Cours Sécurité des réseaux
� Menaces: L’écoute peut être utilisé pour collecter un ensembled’informations envoyés à travers le réseau.
• Login + mot de passe.
• Numéros des cartes de crédit.
• E-mails et d’autres messages
• Analyse du trafic du réseau (estimation de la bande passante,divulgation des adresses IP utilisées…).
21
Password Guessing
� Une recherche exhaustive (Brute force)
• Essai de toutes les combinaisons possibles.
• Peut aboutir à un résultat rapidement si la longueur du mot de
passe est faible.
� Une recherche intelligente
Cours Sécurité des réseaux
• Recherche des mots de passe possibles dans un espace restreint.
• A partir d’informations relatives à l’utilisateur : son nom, son
numéro de téléphone, sa date de naissance, etc.
• Générique : des mots ou des phrases significatives, attaque selon un
dictionnaire.
22
Déni de service (DoS/DDoS)
� Attaques les plus populaires.
� L’objectif de ces attaques est de créer une situation où lavictime est incapable de fournir un service à ses clients.
� Réalisé généralement suite à l’épuisement physique ou logiquedes ressources au niveau des serveurs ou des réseaux de lavictime ou à traversle lien de communicationliant la victime
Cours Sécurité des réseaux
victime ou à traversle lien de communicationliant la victimeau FSI.
� Attaques de Déni de Service Distribué
• Utilisation des esclaves: machines disposant des vulnérabilités quiseront exploitées par un intrus.
• Utilisation des réflecteurs: envoient des réponses à des paquetsspoofés (destination : victime)
23
� DDOS
• Plusieurs machines sont impliquées dans ce type d’attaque
• L’attaquant prend le contrôle d’un certain nombre de machinesafin qu’elles attaquent toutes la même cible
� DOS local (épuisement des ressources)
• Saturationdel'espacedisque
Déni de service (DoS/DDoS)
Cours Sécurité des réseaux
• Saturationdel'espacedisque
• répertoires récursifs
� DOS par le réseau (consommation de la bande passante)
• ping of the death; SYN flood
24
Déni de service (DoS/DDoS)
Cours Sécurité des réseaux25
Ping flooding, Smurf
� Principe : Inonder la cible avec un flux maximal de ping
� Ping (echo request, echo reply)
� Le smurf est une variante du ping flooding
Tous les hôtesdu réseau répondent à l’adresse réelle
Principe du Smurf:
Cours Sécurité des réseaux
L’attaquant envoie une requête ICMP echo:adresse source : celle de l’hôte victimeadresse destination : broadcast
à l’adresse réelle
Victime
26
� Empêche l’établissement de connexions TCP
� L’attaquant envoie un grand nombre de paquets TCP-SYNmais ne termine pas l’établissement de la connexion
� Attaque par inondation de SYNavec une adresse sourceusurpée (spoofée) et inaccessible.
TCP SYN Flooding
Cours Sécurité des réseaux
Fonctionnement normal
27
Les programmes malveillants
� Un logiciel malveillant (malware en anglais) est un logiciel développédans le but de nuire à un système informatique. La propagation de cesprogrammes peut causer des dégâts pour le réseau informatique.
� Exemples:
• virus
• ver (worm)
• chevaldeTroie (trojan)
Cours Sécurité des réseaux
• chevaldeTroie (trojan)
• porte dérobée (backdoor)
• logiciel espion (spyware)
• enregistreur de frappe (keylogger)
• exploit
• hameçonnage (phishing)
28
Les virus
� C’est un programme qui s’installe dans un autre programme etqui seduplique grâce à celui-ci
� La propagation se fait en trois phases :
• Infection
• Activation
• Duplication
Cours Sécurité des réseaux
• Duplication
� Lorsque le programme infecté est exécuté, le virus se reproduit etinfecte, à nouveau, un ou plusieurs autres programmes.
� La particularité des virus informatiques est qu'ils ne peuvent sereproduire sans l'aide d'un programme cible existant.
29
Les virus
� Quelques types de virus:
• Virus parasite : Le virus s’attaque aux fichiers exécutables commepartie de leurs code. Il se réplique lorsque le fichier infecté estexécuté, et cherche s’il y a d’autres fichiers à infecter.
• Virus résident en mémoire : hébergé en mémoire comme partiedes programmes principaux du système. Il infecte tout programme
Cours Sécurité des réseaux
qui s’exécute.
• Virus sur secteur de Boot (Boot Sector Virus): Infecte le secteurde boot du disque, et se propage lorsque le système d’exploitationdémarre (premiers virus sur DOS).
30
� C’est un programme qui, contrairement à un virus, est doté del’autonomie et se duplique à travers un réseau
� La propagation se fait en trois phases :
• Recherche d’un système réceptif
• Établissement d’une connexion avec ce système
• Transport du programme
Les Vers
Cours Sécurité des réseaux
•� Un moyen courant de propagation: le carnet d'adresses d'outlook
� Quelques exemples:
• Code Red
• Blaster
31
Cheval de Troie (Trojan Horse)� Un "Cheval de Troie est un logiciel malveillant qui se présente comme
un programme utile ou une application intéressante.
� Un programme apparemment « innocent » qui contient des instructionscachées.
• Fonctionnement normal/attendu
• Les actions cachées violent la politique de sécurité.
•
Cours Sécurité des réseaux
• Les actions sont exécutées avec le privilège de l’utilisateur.
� Exemple : login modifié
• Le programme login d’ouverture de session est modifié afin qu’ilouvre une session mais il enregistre au niveau d’un fichier le nomutilisateur et le mot de passe entré.
• Possibilité d’envoi par email des informations collectéesà unintrus.
32
� Les spywares (ou espiogiciels)
• Comme leur nom l'indique, les spywares sont des logicielsd'espionnage.
• Le spyware est un logiciel ou un composant d'un logiciel quicollecte des informations sur l'utilisateur d'un ordinateur et lesenvoie vers son concepteur .
• Un spyware n'est en principe pas destiné à endommagerune
Les spywares
Cours Sécurité des réseaux
• Un spyware n'est en principe pas destiné à endommagerunemachine mais plutôt la récupération de certaines informations.
• Détection de spyware: Comportement anormal de lamachine:
• Page d'accueil du navigateur modifiée.• Apparitions d'icônes sur le bureau.• Trafic réseau anormal.• Désactivation des outils de sécurité locaux
33
� Les adwares (ou pubgiciel)• Les " adwares " sont des logiciels du même type que les spywares. Ils
s'installent généralement sans que l'utilisateur connaîtqu'il installe untel logiciel.
� Les Keyloggers (ou enregistreurs de frappes)
• Programmegénéralementinvisible installésur le posted'unutilisateur
Autres types de logiciels
Cours Sécurité des réseaux
• Programmegénéralementinvisible installésur le posted'unutilisateuret chargé d'enregistrer à son insu ses frappes clavier pour intercepterdes mots de passe par exemple.
� exploit :• Programme permettant d'exploiter une faille de sécurité d'un logiciel ;
34
Mécanismes de sécurité
Cours Sécurité des réseaux35
Mécanismes de sécurité
� Cryptage • Repose sur des algorithmes mathématiques pour
transformer les messages en une forme intelligible.• La transformation dépend d’un algorithme et de zéro à
plusieurs clés.
� Signature numérique
Cours Sécurité des réseaux
� Signature numérique• Modification de données, ou transformation
cryptographique irréversible à un message d’origine afinde prouver la source et l’intégrité de ce message.
� Échange d’authentification• Mécanisme assurant l’identité d’une entité à travers un
échange d’informations.
36
� Notarization:• Utilisation d’une tierce partie afin d’assurer
certaines propriétés liées à un échange dedonnées.
� Horodatage (Timestamping)• Inclusion d’une date et d’un temps correct dans
Mécanismes de sécurité
Cours Sécurité des réseaux
• Inclusion d’une date et d’un temps correct dansun message pour empêcher l’attaque de rejeu(replay attack).
� Mécanismes non cryptographiques:• Implémentation de Firewalls• Détection d’intrusions• Traçabilité (garder un historique des
événements)37
Mécanismes cryptographiques
Cours Sécurité des réseaux
Mécanismes cryptographiques
38
� Exigences:• Un algorithme de cryptage solide.• Une clé secrète partagée k est connue entre l’émetteur et le receveur.
C = EK(M)M = DK(C)
� Suppose que l’algorithme de cryptage est connu à l’avance.
� Nécessité de canaux sécurisés pour la distribution des clés.
Cryptage symétrique
Cours Sécurité des réseaux
� Nécessité de canaux sécurisés pour la distribution des clés.
� Exemples: Algorithmes: DES, IDEA, AES• Taille des clés: 56-128-192-256-… bits
39
� Limitation: Pas d'intégrité et d'identification de l'auteur
� Si Alice, Bob et Cédric partage le même lien de communication alors ils partagent la même clé de chiffrement symétrique.
� Cédric peut intercepter le message envoyé par BOB à Alice, le modifier et le recrypter par la clé partagée avant de l’envoyer à Alice. (Attaque du l’homme du milieu).
Cryptage symétrique
Cours Sécurité des réseaux40
� Utilisation d’une paire de clés:• Publique: Connue par tout le monde, utilisée généralement pour
crypter ou vérifier la signature des messages.• Privée: Connue uniquement par le détenteur, utilisée pour décrypter
et signer des messages.� Impossible de trouver la clé privée à partir de la clé publique.� Exemples: RAS, Diffie-Hellman, El Gamal.� Généralement dix fois plus lent que le cryptage symétrique.� Utilisé généralement pour
•
Cryptage asymétrique
Cours Sécurité des réseaux
� Utilisé généralement pour• Cryptage / décryptage: assurer la confidentialité.• Signature numérique: assurer l’authentification et la non
répudiation.• Distribution de clés: se mettre d’accord sur une clé de session.
� Clés à grande taille (ex: RSA: 1024-2048-…).
• Kpr: clé privée, Kpu: clé publique• Y=fKpr(X) facile à calculer si Kpr et X sont connus.• X=fKpu
-1(Y) facile si Kpu et Y sont connus.
41
Cryptage asymétrique
Texte clairCryptage
Clé publique
Texte chiffréDécryptage
Clé privée
Texte clair
Cours Sécurité des réseaux
Cryptage
Clé privée
Texte chiffréDécryptage
Clé publique
Texte clair Texte clair
42
� Entrée: message M avec contenu et taille arbitraire.� Sortie: message de taille fixe y=H(M).
� Irréversible: • Étant donnée y, il est difficile de trouver x tel que: y = H(x)
� Résistance forte à la collision:• Étant donné x, il est impossible de trouver zavec H(x) = H(z)
Fonction de hachage
Cours Sécurité des réseaux
• Étant donné x, il est impossible de trouver zavec H(x) = H(z)
• Il est impossible de trouver une paire x, z tel que H(x) = H(z)
� Calcul facile et rapide (plus rapide que le cryptage symétrique).� Exemples:
• MD5, SHA, …• Taille du digest: 128-160-… bits
43
� Idée clé:• Le Hash appelé aussi Digest (résultat de la fonction
de hachage) d’un message est crypté avec la cléprivée de l’émetteur.
• La clé publique est utilisée pour la vérification de lasignature
Soit:
Signature numérique
Cours Sécurité des réseaux
� Soit:• M: message à signer, H: fonction de hachage• Kpr, Kpu: paire de clés privée / publique de l’émetteur.• E / D: fonction de cryptage / Décryptage en utilisant
Kpu / Kpr.
� En recevant (M, EKpr(H(M))), le récepteurvérifie si: H(M)=DKpu(EKpr(H(M)))
44
Signature numérique
DonnéesHash
DigestCrypter En utilisantClé privée
Signature numérique
Cours Sécurité des réseaux
Données
Signature numérique
45
Signature numérique
� Vérification
Données DigestHash
Cours Sécurité des réseaux
• La signature numérique permet d’assurer l’intégrité, l’authentificationet la non-répudiation.
Signature numérique Digest
Décrypter En utilisantClé publique
Égalité?
46
Chapitre 2 : Firewall
Cours Sécurité des réseaux
Chapitre 2 : Firewall
47
Motivations
� Évolution des systèmes d’information• Des réseaux d’entreprise assez larges• Nécessité de connecter certains de ces réseaux à Internet.
� La connectivité d’un réseau local à Internet, permet aumonde externe d’atteindre et d’interagir avec les ressourcesde ce réseau.
� Difficulté de sécuriser chaque ressource à part:
Cours Sécurité des réseaux
� Difficulté de sécuriser chaque ressource à part:• Nombre important de machines.• Différents types d’applications, services, systèmes
d’exploitation, et protocoles utilisés, tous contenant des bugs.
� Besoin de minimiser les risques.� Utilisation des Firewalls
48
• Dénommé garde barrière, coupe-feu, pare-feu• Représente une barrière entre un réseau privé et un
réseau publique.• Fait passer uniquement le trafic permis par la politique de
sécurité.• Hypothèse: Le Firewall est exempt de vulnérabilité. Lui et
Firewall
Cours Sécurité des réseaux
• Hypothèse: Le Firewall est exempt de vulnérabilité. Lui etle système sur lequel il est installé sont de confiance.
49
Firewall
� Interconnecte des réseaux de différent niveaux de confiance.� Définit un point de passage obligé pour le contrôle et le suivi
de trafic.� Implémente des mécanismes d’application de la politique de
sécurité• Impose des restrictions sur le trafic entrant et sortant (ex: seul le
trafic http est autorisé, seule l’adresse IP 1.2.3.4 est autorisée).
Cours Sécurité des réseaux
trafic http est autorisé, seule l’adresse IP 1.2.3.4 est autorisée).• Fournit une protection contre les attaques (ex: IP spoofing).
� Permet d’auditer et de contrôler l’accès.• Génération d’alertes pour les utilisations malveillantes.
� Fournit un périmètre de sécurité.� Représente un endroit commode pour l’implémentation des
fonctionnalités réseau (ex: translation d’adresses)
50
Réseau avec niveau de confiance X
Réseau denon-confiance
Firewall
InternetRéseau local
ALERT!!
Firewall
Cours Sécurité des réseaux
Routeur
DMZ
Serveurs accessibles depuis le réseau Internet
Réseau avec Niveau de confiance Y51
Firewall
Cours Sécurité des réseaux52
Limitation d’un Firewall
� Ne protège pas contre les attaques qui ne le traversent pas:
• Ex: un utilisateur interne utilise un modem pour se connecter à
Internet.
� Ne protège pas contre les menaces internes.
• Ex: un employé malhonnête attaque une machine interne.
� Ne protègepascontrele transfertdeprogrammeset de fichiers
Cours Sécurité des réseaux
� Ne protègepascontrele transfertdeprogrammeset de fichiers
malveillants (virus, backdoor, etc.).
• Les systèmes et les applications supportés dans un périmètre de
sécurité, sont nombreux et différents.
• Difficulté de scanner tous les messages en direction de ces
systèmes et applications.
53
Type de Firewalls
� Il existe 3 Types de Firewall :• Packet-Filtering router (stateless, stateful)• Application-Level Gateway.• Circuit-Level Gateway.
Cours Sécurité des réseaux
•
54
Packet-Filtering router
� Le plus simple des Firewalls.
� Pour chaque paquet IP rencontré, il décide de le faire passer (forward) ou de
l’éliminer (deny), selon des règles de filtrages.
� Le filtrage se fait depuis et vers toutes les directions (ex: depuis et vers
Internet).
� Règles de filtrage, basées sur l’analyse des champs dans l’entête IP et TCP:
•
Cours Sécurité des réseaux
• Adresse IP source et destination.
• Protocole (TCP, UDP, ICMP, etc).
• Port (TCP ou UDP) source et destination.
• TCP Flags (SYN, ACK, FIN, RST, PSH, etc)
• Type de Message ICMP
• Taille du paquet
55
Politique de sécurité par défaut
� Ce qui n’est pas explicitement permis est interdit. (default = Drop)
• La plus prudente.
• Initialement tous les services sont bloqués, puis ils sont ajoutés un par
un selon les besoins.
� Ce qui n’est pas explicitement interdit est permis. (default = Accept)
•
Cours Sécurité des réseaux
• Introduit une commodité dans l’utilisation des services réseau par les
utilisateurs.
• Fournit un niveau de sécurité réduit.
• Un administrateur doit réagir pour chaque nouvelle menace de sécurité
identifiée (un nouveau service devient vulnérable).
56
Exemple de règles (Packet-Filtering router)
Action Protocole source port destination Port flag
Deny IP 193.1.1.0 * 10.1.1.1 *
Allow TCP 193.1.1.0 * * 80
Internet
Packet-filtering router
193.1.1.0
Cours Sécurité des réseaux
� Règle1: Toute connexion depuis le réseau interne (193.1.1.0) vers la machine suspecte 10.1.1.1 est bloquée.
� Règle2: Seulement les connexions HTTP (TCP, port 80) depuis le réseaux interne (193.1.1.0), sont permises.
� Règle3: Seulement le trafic web en réponse à une connexion déjà initiée du réseau interne sera accepté de l’extérieur.
� Règle4: La politique de sécurité par défaut.
Allow TCP 193.1.1.0 * * 80
Allow TCP * 80 193.1.1.0 * ACK
Drop IP * * * *
57
Packet filtering� Avantages
• Simplicité du fonctionnement (filtrage statique).
• Rapidité dans le traitement.
• Transparence aux utilisateurs.
� Inconvénient
• Ne protège pas contre les attaques qui exploitent des vulnérabilités sur lesapplications(nebloquepascertainescommandes).
•
Cours Sécurité des réseaux
applications(nebloquepascertainescommandes).
• Les fichiers logs générés ne contiennent pas d’informations assezpertinentes (seulement: @IP, ports).
• Ne supporte pas des mécanismes avancés d’authentificationdesutilisateurs.
• Une simple erreur dans la configuration des règles peut casser toute lasécurité.
• Vulnérabilités aux attaques qui exploitent les insuffisances du protocoleTCP/IP (ex:IP spoofing attacks)
58
Attaques sur Packet-filtering Firewalls� IP address spoofing (Usurpation d’adresse IP)
• L’intrus envoie un paquet de l’externe avec une fausse @IP(généralement égale à une @IP d’une machine interne), et ceci afinde réussir à passer le mécanisme de filtrage.
• Solution: bloquer tout paquet venant de l’interface externe ayantune @IP source interne.
� Source routing attacks (routage à la source)
• L’intrus spécifieuneroutequi va êtreempruntéeparle paquetautre
Cours Sécurité des réseaux
• L’intrus spécifieuneroutequi va êtreempruntéeparle paquetautreque celle appliquée par défaut.
• Solution: bloquer les paquetssource routed
� Tiny fragment attacks (fragmentation de paquets)
• Un paquet IP est divisé en plusieurs fragments, où seul le premierfragment contient le numéro de port.
� Insuffisance d’informations pour filtrer ces paquets.
• Solution: rejeter les paquets fragmentés ou les rassembleravantvérification.
59
Stateful Inspection Packet Filtering Firewalls� Connexion TCP
• Port serveur inférieur à 1024.
• Port client compris entre 1024 et 16383.
� Les Ports <1024 sont affectés de façons permanente.
• FTP: 20,21 – Telnet: 23 – SMTP: 25 – HTTP: 80
� Tous les Ports >1023 doivent être disponibles aux clients pour faire leurs connexions.
Cours Sécurité des réseaux
faire leurs connexions.
• Ceci créé une vulnérabilité qui peut être exploitée par les intrus.
• Ceci présente une limitation pour les Firewalls de type stateless packet filtering.
� Solution: Utilisation de Firewalls de type Stateful Inspection packet filtering (filtrage dynamique).
60
Stateful Inspection Packet filetring Firewalls
� Il permet de filtrer les paquets en se basant sur la couche transport du
modèle OSI (filtrage au niveau des ports de communication TCP-UDP).
� Il maintient une table d’état des connexions correspondantes aux ports
logiques du niveau 4 du modèle OSI et surtout les ports dont lenuméro
est supérieur à1024 (les ports utilisés par les applications de
l’utilisateur).
Cours Sécurité des réseaux
@IP SrcPort Src
@IP Dst Port dstÉtat de la connexion
223.43.21.231 1990 193.2.1.3 80 Établie
223.42.21.230 1234 193.5.6.1 23 Établie
223.42.21.222 2562 193.4.2.1 80 Établie
… … … … …
61
Stateful Inspection Packet filetring Firewalls
� Renforce les règles de filtrage en suivant l’état des connexions:
• Si un paquet représente une nouvelle connexion, alors vérificationdes règles de configuration
• Si un paquet fait partie d’une connexion existante (ex: TCPflag=ACK), alors vérification dans la table d’état des connexions,puismiseà jour dela table.
Cours Sécurité des réseaux
puismiseà jour dela table.
• Le trafic entrant vers un port « x » supérieur à 1024, est autoriséseulement s’il est en direction d’une machine qui a déjà établieune connexion avec un port source inférieur à 1024 et un portdestination égal à « x ».
62
193.95.1.1 10.1.2.3
Client TelnetServeur Telnet
Le Firewall se souviendraDe cette information
Stateful Packet-Filtering Firewall
Cours Sécurité des réseaux
Cohérent avec le paquet précédent
Pas de cohérence avec la connexion
en cours
63
� Règles par port/par adresses
� Règles manuelles complexes à gérer
• Historique des règles (tel service n’a plus besoin de telle règle)
• Redondance/conflit de certaines règles?
Packet filetring Firewalls
Cours Sécurité des réseaux
•• Audit périodique nécessaire
� S’arrête au niveau 4� Encapsulation possible
64
Les Firewalls Proxy
� Filtres applicatifs
� Proxy : introduit un élément intermédiaire obligatoire entre le client et leserveur
� Chaque application passe alors par le firewall proxy et envoie sa requêtenon pas au serveur qu’elle désire atteindre mais au firewallqui laretransmettra.
� Inversement,les communicationsémisesdepuisInternetà destinationdes
Cours Sécurité des réseaux
� Inversement,les communicationsémisesdepuisInternetà destinationdessystèmes internes ne les atteignent pas directement mais sontpréalablement traitées par le firewall.
� Deux types:
• Proxy applicatifs
• Niveau 7 du modèle OSI
• Proxy de type circuit
• Niveau 5 du modèle OSI65
Application-Level Gateway
ApplicationsApplications
PresentationsPresentations
SessionsSessions
TransportTransport
ApplicationsApplications
PresentationsPresentations
SessionsSessions
TransportTransport
ApplicationsApplications
PresentationsPresentations
SessionsSessions
TransportTransport
TelnetTelnetTelnetTelnet HTTPHTTPHTTPHTTPFTPFTPFTPFTP
Cours Sécurité des réseaux
TransportTransport
DataLinkDataLink
PhysicalPhysical
NetworkNetwork
DataLinkDataLink
PhysicalPhysical
TransportTransport
DataLinkDataLink
PhysicalPhysical
Application GatewayApplication Gateway
TransportTransport
NetworkNetwork NetworkNetwork
66
Application-Level Gateway
� Agit comme un relais applicatif.
� Besoin de proxy séparé pour chaque service (ex: SMTP, DNS).
� Deux modes de fonctionnement:
• Le client doit être configuré pour une communication avec Proxy.
• Mode Proxy transparent.
Cours Sécurité des réseaux
•� A un accès complet au protocole
• Un utilisateur demande un service (ex: Telnet, ftp) au Proxy.
• Le Proxy valide la demande.
• Le Proxy contacte l’application distante et transmet les segments TCPcontenant les données applicatives entre les deux entités.
67
Application-Level Gateway
� La passerelle peut être configurée pour ne pas autoriser toutes les
fonctionnalités d’une application.
• FTP en download seulement
• Suppression de javascripts
• Suppression de certains mots sur des pages webs
Cours Sécurité des réseaux
• Suppression de certains mots sur des pages webs
• …
� Possibilité d’auditer et de journaliser tout le trafic passant.
68
Application Level Gateway
� Inconvénients• Un processus par connexion.
• Gestion des connexions dans les deux bouts.
• Peux de Proxiessont disponibles
• les services propres ne sont pas généralement supportés.
Cours Sécurité des réseaux69
Circuit Level Gateway
� Crée deux connexions: une entre lui et l’utilisateur interne, uneautre entre lui et l’utilisateur externe.
� Impose une sécurité en déterminant quel type de connexion estpermis.
� Une fois les deux connexions établi, il transmet les segments d’uneconnexion à une autre sans examiner leurs contenu.
Cours Sécurité des réseaux
� Supporte plus de services quel’Application-Level Gateway
• Moins de contrôle sur les données.
� Les clients doivent être au courant de l’utilisation d’uncircuit-levelproxy.
� Le protocole SOCKS est généralement utilisé pour ça.
• La version 5 supporte TCP et UDP.
70
Les Firewalls Proxy
� Avantages: • Inspection plus fine des paquets
• Cache possible
• Attaques sur des comportements anormaux éliminées
� Inconvénients•
Cours Sécurité des réseaux
• Plus la granularité augmente, plus l’inspection est lente
71
Résumé
� Un firewall est un logiciel ou matériel qui
• Analyse les trames qu’il reçoit et prend une décisionen fonction des adresses de couche 2, 3 et 4 =>filtrage sans état (Stateless Packet-Filtering router)
• La décisionpeutêtrepriseenfonctiondel’état d’une
Cours Sécurité des réseaux
• La décisionpeutêtrepriseenfonctiondel’état d’uneconnexion et/ou des drapeaux TCP => filtragedynamique (Stateful Packet-Filtering router)
• La décision peut être prise en fonction du contenu decouche 7 => filtrage applicatif
72
Architecture
Cours Sécurité des réseaux
Architecture
73
Architecture 1: Routeur Filtrant
� Routages habituels d'un routeur + opérations de filtrage auniveau despaquets IP
� Des ACL donnent les règles de filtrage
+ Simple
+ Peu coûteux
+ Performant
-
Cours Sécurité des réseaux
- Fonctionnalités limitées
- Traces peu exploitables
74
Les informations à enregistrer :
Architecture 2: Routeur Filtrant+Log
Cours Sécurité des réseaux
� démarrage de session TCP(ou toute tentative) avec :
• adresse (source, destination)
• port (source, destination),
75
Architecture 3: Screened Host Firewall System (Single-homed bastion host)
Cours Sécurité des réseaux76
Bastion Host� Une machine en interne joue le pare feu
� Un routeur filtrant n’autorise que le trafic de et vers ce bastion
� Sert comme plateforme pour Application-LevelGateway etCircuit-LevelGateway.
• Peut être utilisée pour fournir des services accessibles del’externe.
Potentiellement exposée à des intrusions (vulnérabilités du
Cours Sécurité des réseaux
� Potentiellement exposée à des intrusions (vulnérabilités dubastion + vulnérabilités du routeur filtrant).
� Doit être hautement sécurisée.
• Seulement les services nécessaires sont installés (typiquementdes Proxies).
� Supporte deux ou plusieurs connexions réseau
• Réalise une séparation sécurisée entre les connexions réseaux.
77
Architecture 3: Screened Host Firewall System (Single-homed bastion host)
Cours Sécurité des réseaux78
� Deux types de Firewalls sont utilisés
• Packet-Filtering Router.
• Bastion Host: Authentification et fonction Proxy.
� Trafic émanant de l’Internet: seulement celui en direction duBastion Host est autorisé à passer le Packet-Filtering Router.
Trafic sortant du réseau interne: seulement les paquets IP
Architecture 3: Screened Host Firewall System (Single-homed bastion host)
Cours Sécurité des réseaux
� Trafic sortant du réseau interne: seulement les paquets IPémanant du bastion Host sont autorisés à quitter le Packet-Filtering Router.
� Inconvénient: En cas où le Packet-Filtering router esttotalement compromis, le trafic malveillant peut directementatteindre les machines du réseau interne.
� � Solution: « Screened Host Firewall system (Dual-homesbastion host) »
79
Architecture 4: Screened Host Firewall system: Dual-homes bastion host)
Double interface: Possède une adresse IP par interface
• Tout est filtré: Cette architecture impose aussi aux utilisateurs internes de passer obligatoirement par la machine bastion
• En coupure totale � le pare feu est arrêté � rien ne passe
• Possibilité de cloisonner x réseaux internes si x+1 interfaces
Cours Sécurité des réseaux80
Architecture 5: Screened subnet Firewall system
Cours Sécurité des réseaux81
� Plus sécurisée que les deux autres configurations
� Deux Packets-Filtering Routerssont utilisés:
• Entre leBastion Hostet l’Internet.
• Entre leBastion Hostet le réseau local.
� Crée un sous réseau protégé contenant leBastion Hostet les serveurs(offrantdesservicespubliques).
Architecture 5: Screened subnet Firewall system
Cours Sécurité des réseaux
(offrantdesservicespubliques).
� L’Internet et le réseau interne ont les deux accès aux machines dusous-réseau crée, mais le trafic d’un coté à l’autre de ce sous-réseauest bloqué:
• Création de trois niveaux de sécurité.
• Le réseau interne est invisible de l’Internet.
• Les machines du réseau interne ne peuvent communiquer qu’avec leBastion Host.
82
Screened subnet Firewall System
� Actuellement, la majorité des Firewalls intègrentcette séparation (sous réseau protégé).
• Interface DMZ (Demilitarized Zone) pour le sousréseau protégé
• La possibilité d’offrir des services sans les placer del’intérieur et de l’extérieur
Cours Sécurité des réseaux
l’intérieur et de l’extérieur
• Possibilité de définir de multiples DMZ
• Cloisonnement des zones
• Cloisonnement de flux
• Si une tombe, les autres fonctionnent
83
Screened subnet Firewall System
Cours Sécurité des réseaux84
Screened subnet Firewall System
Cours Sécurité des réseaux85
Screened subnet Firewall System
Cours Sécurité des réseaux86
Screened subnet Firewall System
Cours Sécurité des réseaux87
� Il n’existe pas d’architecture idéale � Il faut l’adapter en fonction
• De la structure organisationnelle • De la structure géographique• Des partenariats • De la criticité des applications
Architecture
Cours Sécurité des réseaux
• De la criticité des applications• Du budget / du personnel associé à la sécurité
88
Pare-feux libres
� Linux Netfilter/Iptables, pare-feu libre des noyaux Linux 2.4 et 2.6
� Linux Ipchains, pare-feu libre du noyau Linux 2.2
� Packet Filter ou PF, pare-feu libre de OpenBSD
IPFilter ou IPF, pare-feu libre de BSD et Solaris 10
Cours Sécurité des réseaux
� IPFilter ou IPF, pare-feu libre de BSD et Solaris 10
� Ipfirewall ou IPFW, pare-feu libre de FreeBSD
89
� L'architecture du noyau pour le système de firewall s'appelle 'netfilter'
� Netfilter se base sur 3 listes de règles pour définir son comportement vis-à-vis d'un paquet
• Si le paquet entrant est destiné à cette machine, le paquet passe dans la chaîne INPUT.
iptables
Cours Sécurité des réseaux
• Si le forwarding est autorisé et que le paquet est destiné à un autre réseau, le paquet va directement à la chaîne FORWARD.
• La chaîne OUTPUT concerne les paquets qui ont été créé par la machine locale.
90
� Les règlesde filtrage déterminent le devenir des paquets grâce à unepolice qui peut être : ACCEPT, REJECT, DENY, MASQ ou encoreune redirection vers une chaîne.
� Les règles sont groupées enchaînesqui peuvent être celles de base :input, forward, output ou d’autres définies par l’utilisateur.
� Les paquets entrants dans le pare-feu arrivent automatiquement dansla chaîneinput . Ceux qui sont émis par le pare-feu, passent dans lachaîneoutput. Et ceux qui sont retransmispassentpar la chaîne
iptables
Cours Sécurité des réseaux
chaîneoutput. Et ceux qui sont retransmispassentpar la chaîneforward.
� Un paquet qui entre dans une chaîne teste toutes les règles delachaîne jusqu’à en trouver une qui lui corresponde. Et il obéit à lapolice spécifiée par la règle trouvée.
� Si aucune règle s’appliquant au paquet n’a été trouvée, alors c’est lapolice par défaut de la chaîne qui est utilisée pour savoir que faire dece paquet.
� Il est donc important, avant de créer les règles, de définir la police pardéfaut d’une chaîne.
91
� Exemple:• Vu du Pare-feu, Le trafic
• Internet => local est FORWARD• local => Internet est FORWARD
• Une requête
• "ping request" local => pare-feu est INPUT
iptables
Cours Sécurité des réseaux
• "ping request" local => pare-feu est INPUT• "ping request" Internet => pare-feu est INPUT• "ping reply" pare-feu => Internet est OUTPUT• "ping reply" pare-feu => local est OUTPUT
92
� Chacune de ces chaînes peut donner plusieurs réponses possibles pourchaque paquet:
• AccepterACCEPT
• RejeterREJECT (on signale le rejet à l'expéditeur)
• SupprimerDROP (on l'efface et on ne répond rien)
� L'administrateur peut créer des chaînes personnalisées enplus des 3
iptables
Cours Sécurité des réseaux
chaînes par défaut qui lui permettent d'organiser ses règles de filtragede manière plus propre et optimisée.
� Les règles reposent sur des critères de sélection très variés :
• Machine source; Port source
• Machine destination; Port destination
• Interface; Protocole; Drapeaux spéciaux du paquet TCP
• Types et codes spéciaux du paquet ICMP
93
� Chaînes• Création (N)• vidage (F)• suppression (X)• affectation d’une police (P)• affichage (L)
� Règles
iptables
Cours Sécurité des réseaux
� Règles• ajout en fin de liste (A), insertion ordonnée (I)• suppression (D)• remplacement (R)• test (C)
94
� # iptables -L -v• -L : liste les règles • -v demande le mode 'verbeux‘
iptables: Protection de la machine locale
Cours Sécurité des réseaux
policy : comportement par défaut
Dans cet exemple netfilter accepte donc tous les paquets, le firewall est enmode passif.
95
� Par défautiptablesutilise la table‘filter' si on ne lui spécifie par uneautre table via l'option'-t nom_de_table').
� Exemple1: Interdire les connexions sur le port 22 (ssh),
# iptables -A INPUT -p tcp --dport 22 -j DROP• -A INPUT => ajoute en bas de la liste des règles de la chaîne INPUT
• -p tcp=> pour les paquets qui utilisent les protocole TCP
• --dport=> pourlespaquetsqui sontàdestinationduport 22
iptables
Cours Sécurité des réseaux
• --dport=> pourlespaquetsqui sontàdestinationduport 22
• -j DROP => l'action : DROP les paquets (on efface les paquets),
# iptables -L -v
96
� Exemple1:autoriser uniquement votre voisin à se connecter sur votremachine en ssh
� insérer une règle pour votre voisin avant la règle qui DROP lespaquets
# iptables -I INPUT 1 -p tcp --dport 22 -s adresse_ip_du_voisin -j ACCEPT
iptables
Cours Sécurité des réseaux
adresse_ip_du_voisin -j ACCEPT• le '-I INPUT 1' signifie insère en première position dans la liste
• -s permet de choisir la source des paquets,
97
� Il existe de très nombreuses options pour construire les règles defiltrage, parmi les plus utilisés on trouve :-s : sélection de l'adresse IP source (ou réseau source) d'oùvient le paquet
-d : sélection de l'adresse IP de destination (ou réseau de destination) où vale paquet
--dport : port destination (le port sur lequel le client essaye de se connecter)versquelportaétéémisle paquet
iptables
Cours Sécurité des réseaux
versquelportaétéémisle paquet
--sport : port source (le port utilisé par le client pour créer la connexion)depuis quel port a été émis le paquet
-p suivi d'un nom de protocole
-i : spécifie le nom de l'interface physique à travers laquelle les paquetsentrent
-o : spécifie le nom de l'interface physique à travers laquelle les paquetssortent
98
# iptables -D INPUT 1• efface la première règle de la chaîne INPUT.
# iptables -L -v --line-numbers• voir les numéros de chaque règle lorsqu'on liste les règles
# iptables -A chaine -m multiport -p tcp --dports port1,port2,port3 -j
iptables
Cours Sécurité des réseaux
port1,port2,port3 -j
� A ajout, D supprime, I insère, F efface toutes lesrègles mais pas la stratégie par défaut, L liste
99
� Les commandes de iptables associées à la gestion des chaînessontles suivantes :
-N : création d'une nouvelle chaîne (iptables -N INTERNET)
-X : suppression d'une chaîne vide (iptables -X INTERNET)
-P : Mise en place de la règle par défaut pour une chaîne existante(iptables -P INPUT DROP). Seules les chaînes INPUT,
iptables
Cours Sécurité des réseaux
(iptables -P INPUT DROP). Seules les chaînes INPUT,FORWARD et OUTPUT peuvent avoir une règle par défaut etles seules cibles disponibles sont ACCEPT et DROP.
-L : lister les règles d'une chaîne (iptables -L INTERNET)
-F : effacer les règles d'une chaîne (iptables -F INTERNET)
100
Exemple
� Création d'une chaîne spécifique
# iptables -N ssh� On indique à la chaîne INPUT que tout ce qui concerne ssh
doit être transmis à cette nouvelle chaîne
# iptables -A INPUT -p tcp --dport 22 -j ssh
Cours Sécurité des réseaux
� On rajoute nos règles de filtrages dans la chaîne ssh
• on accepte que le voisin se connecte
# iptables -A ssh -s ip_machine_du_voisin -j ACCEPT• on interdit au reste du monde de se connecter
# iptables -A ssh -j DROP
101
iptables
Cours Sécurité des réseaux102
iptables
Cours Sécurité des réseaux103
� Interdire accès depuis l’extérieur (eth1)� Autoriser accès ssh (administratif)� Autoriser voie de retour
� Règles • iptables -A INPUT -i eth1 -j DROP
Exemple
Cours Sécurité des réseaux
• iptables -A INPUT -i eth1 -j DROP• iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT• iptables -I INPUT 2 -m state --state ESTABLISHED -j ACCEPT
104
Suivi de connexion
� Le module 'state' définit plusieurs états possibles pour lesflux réseaux :
- NEW : c'est une nouvelle connexion
- ESTABLISHED : on connaît déjà cette connexion (elle est passée parl'état NEWil y a peu de temps)
- RELATED : celapermetd'identifieruneconnexionqui seraitliée ou
Cours Sécurité des réseaux
- RELATED : celapermetd'identifieruneconnexionqui seraitliée oudépendant d'une connexion déjà ESTABLISHED.
- INVALID : tout ce qui n'est pas correctement identifiable
105
Exemple: FTP
� le protocole FTP utilise 2 connexions TCP pour communiquer.
• Une sert à envoyer les commandes du client vers le serveur et
• Une sert à envoyer les données du serveur vers le client.
� Dans son fonctionnement standard, un client FTP se connectesur le port21 du serveur FTP. Le client indique ensuite au serveur sur quel port il (leclient) recevralesdonnées. Le serveurFTPva alorsétabliruneconnexion
Cours Sécurité des réseaux
client) recevralesdonnées. Le serveurFTPva alorsétabliruneconnexiondepuis son port 20 vers le port (>1023) indiqué par le client :
Client FTP (port source aléatoire 'a') -----> Serveur FTP (port 21)
Client FTP (port 'a') ----> Serveur FTP (port 21)
(le client indique au serveur FTP sur quel port il devra envoyer les données, par ex 3084)
Serveur FTP (port 20) -----> Client FTP (port 3084) (le serveur transfert des données vers le client)
106
� Si le client est protégé par un firewall netfilter, l'administrateurdevrait donc autoriser toutes les connexions venant de l'extérieurvers tous les ports supérieurs à 1023 du client.• Pas d’intérêt pour le firewall
� conntrack va permettre de détecter qu'une connexion FTP estétablie (au moment où le client se connecte sur le port 21 duserveur)et ouvrir de manièredynamique le filtrage pour cette
Exemple: FTP
Cours Sécurité des réseaux
serveur)et ouvrir de manièredynamique le filtrage pour cetteconnexion spécifique vers le port que le client aura choisi.
� On commence par tout interdire :# iptables -A INPUT -j DROP# iptables -I INPUT 1 -p tcp --sport 20 -m state --state
ESTABLISHED -j ACCEPT
107
Exemples: Opérations la table filter
� Créer les règles suivantes :
• interdire tout paquet entrant
• effacer la règle
iptables -A INPUT -j DROP
iptables -D INPUT 1
• Paramètre protocole: interdire le protocole icmpiptables -A INPUT -p icmp -j DROP
Cours Sécurité des réseaux
iptables -A INPUT -p icmp -j DROP
• paramètre source: interdire le protocole icmp provenant de localhost
iptables -A INPUT -p icmp -s localhost -j DROP
• chaîne OUTPUT paramètre destination: interdire tout paquet à destination de localhost
iptables -A OUTPUT -d localhost -j DROP
108
• paramètre inversion: interdire un paquet s'il ne provient pas de localhost
iptables -A INPUT -s ! localhost -j DROP
• paramètre interface d'entrée: interdire tout paquet entrant par eth0
iptables -A INPUT -i eth0 -j DROP
Exemples: Opérations la table filter
Cours Sécurité des réseaux
iptables -A INPUT -i eth0 -j DROP
• interdire un paquet s'il provient de lo
iptables -A INPUT -i lo -j DROP
• paramètre interface de sortie: interdire tout paquet sortant par eth0
iptables -A OUTPUT -o eth0 -j DROP
109
• paramètre destination port: interdire tout paquet à destination du port ftp
iptables -A INPUT -p tcp --dport 21 -j DROP
• paramètre source port: interdire tout paquet sortant par eth0 dont le numéro de port source est inférieur à 1024
iptables -A OUTPUT -o eth0 -p tcp --sport :1023 -j DROPiptables -A OUTPUT -o eth0 -p udp --sport :1023 -j DROP
Exemples: Opérations la table filter
Cours Sécurité des réseaux
iptables -A OUTPUT -o eth0 -p udp --sport :1023 -j DROP
• paramètre flag TCP: interdire toute tentative d'initialisation de connexion TCP provenant de eth0
iptables -A INPUT -i eth0 -p tcp --syn --dport :1023 -j DROP
110
• paramètre flag icmp: interdire tout paquet entrant correspondant à un ping
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
• interdire toute réponse à un pingiptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP
• extension mac: interdire tout paquet entrant par
Exemples: Opérations la table filter
Cours Sécurité des réseaux
• extension mac: interdire tout paquet entrant par eth0 dont l'adresse mac n'est pas celle du voisiniptables -A INPUT -i eth0 -m mac --mac-source ! 00:50:FC:23:2D:D7 -j DROP
111
Exercice
Cours Sécurité des réseaux
Créer les règles suivantes :1. Forwarder tout paquet venant de vmnet1 vers vmnet22. Forwarder tout paquet relatif à une connexion déjà établi ou en
rapport avec une connexion déjà établi de vmnet2 vers vmnet13. Autoriser tout paquet input (vmnet2) relative à une connexion déjà
établi ou en rapport avec une connexion déjà établi4. Autoriser tout input au Firewall du réseau interne
112
Solution
1. iptables -A FORWARD -i vmnet1 -o vmnet2 -j ACCEPT
2. iptables -A FORWARD -i vmnet2 -o vmnet1 -m state --
state ESTABLISHED,RELATED -j ACCEPT
3. iptables -A INPUT -i vmnet2 -m state --state
ESTABLISHED,RELATED -j ACCEPT
Cours Sécurité des réseaux
ESTABLISHED,RELATED -j ACCEPT
4. iptables -A INPUT -i vmnet1 -s 0/0 -d 0/0 -j ACCEPT
113
Chapitre 3: Système de détection d’intrusion
Cours Sécurité des réseaux
d’intrusion
114
Motivations• Limites du firewall :
• Protection limitée
• Ne protège pas contre les attaques internes
• Les techniques et les outils d’intrusions ne cessent de sesophistiquer.
• Nécessité d’automatiser le processus de détection
Cours Sécurité des réseaux
• Nécessité d’automatiser le processus de détectiond’intrusions.
• Nécessité de collecter les traces d’intrusions pour servircomme preuve.
• Nécessité de détecter les attaques ayant réussi àsurpasser les mécanismes de sécurité déployés.
115
Motivations
Cours Sécurité des réseaux
Prévention Détection Réaction
� Hypothèse sur la détection
� l’activité des utilisateurs malveillants est observable.
� Les activités légitimes et malveillantes possèdent des signesdifférents
116
Définitions
� Détection d’Intrusions: L’identification de
• Ceux qui utilisant le système sans autorisation(ex: intrus).
• Ceux qui ont un accès légitime au systèmemais sont en train d’abuser de leurs privilèges.
Cours Sécurité des réseaux
mais sont en train d’abuser de leurs privilèges.• Les tentatives d’utilisation aux systèmes sans
autorisation et les tentatives d’abus deprivilèges.
117
Définitions
� Système de Détection d’Intrusions: unsystème informatique permettant de• Analyse en temps réel ou différé des
évènements en provenance des différentssystèmes.
• Détection des signes de violation de la politique
Cours Sécurité des réseaux
• Détection des signes de violation de la politiquede sécurité.
• Alerte en cas d’occurrence d’une attaque• Collecte des traces d’intrusions pour servir
comme preuve.• Réaction aux attaques.
118
Caractéristiques d’un IDS
� Architecture• Centralisée• Distribuée
� Source de données• Réseau• Système
Méthode de détection
� Comportement après détection d’intrusions• Passif• actif
� Mécanisme de collection• Surveillance directe• Surveillance indirecte
Cours Sécurité des réseaux
� Méthode de détection d’intrusions• Approche par scénario• Approche comportementale
� Senseurs• Internes• Externes
• Surveillance indirecte
119
Composantes d’un IDS
Prétraitement(Preprocessing)
Données capturées /évènements
Activité
L’activité système est L’activité système est observableobservable
Cours Sécurité des réseaux
ActivitéModèle
de détection
Composante de détection
Alarmes
Modèle de
décision
Composante de Décision
Action
120
Erreurs commises par un IDS
� False Positives• L’IDS considère une activité légitime comme
malveillante (erreur d’interprétation)
� False Negatives
Cours Sécurité des réseaux
� False Negatives• L’IDS considère une activité malveillante
comme légitime
Les erreurs False Negatives sont plus graves que les erreurs False Positives
121
surveillance directe/indirecte
� Fiabilité: Les données surveillées indirectementpeuvent être attaquées avant leurs utilisation
� Complétude: Une source indirecte (ex: log) peut ne pascontenir toutes les données nécessaires
� Volume: Dans une surveillance indirecte, les donnéessont extraites sans connaissance du besoin de l’IDS �
Cours Sécurité des réseaux
sont extraites sans connaissance du besoin de l’IDS �
grand volume de données inutiles.
� Performance: L’analyse des sources indirectesengendre des traitements lourds (filtrage,transformation,...) � dégradation de performances.
� Temps: La surveillance directe permet une détectionplus rapide et donc une réaction à temps.
122
Source de données
� Réseau: Network-based IDS
Cours Sécurité des réseaux
� Système: Host-based IDS
123
Network-based IDS
� Utilise le trafic réseau comme source de données en configurantla carte réseau en mode promiscious.
� Détecte les attaques véhiculées à travers le réseau, enanalysant le contenu des paquets.
� La majorité de ces IDS utilisent l’approche par scénario.� Vérifie l’existence d’une signature d’attaques dans le contenu
des paquets:
Cours Sécurité des réseaux
des paquets:• Une chaîne de caractère (ex: "cat"++">/.rhosts" ou “cgi-
bin/phf?”)• Une tentative de connexions sur des ports utilisés pour
véhiculer les attaques (ex: TCP 1234).• Un contenu malveillant de l’entête TCP (ex: scan de ports par
envoi de paquets avec des flags SYS et FIN).� Exemples: Snort, Bro, Cisco IDS
124
� Avantages• Surveille toutes les machines d’un seul réseau• Ne dépend pas du contenu des machines (versions OS,
applications, etc).• Insensible aux attaques sur des machines du réseau.• Peut détecter des attaques réseau: scan, dénis de service,
etc.Inconvénient
Network-based IDS
Cours Sécurité des réseaux
� Inconvénient• L’utilisation des switch pose des problèmes.• Surveiller un trafic > 100 MB/S est actuellement un défi.• Ne permet pas de savoir si l’attaque a réussi ou non.• Ne réagit pas efficacement pour stopper les attaques.• Ne peut pas surveiller un trafic crypté.
125
Host-based IDS(H-IDS)� Une intrusion au niveau machine peut être définie comme
suit:• Modification, effacement, accès illicite aux données.• Modification système.• Exécution de programmes.• Remonté de privilège (devenir root).• Installation de programmes (i.e. Trojan).
� H-IDS: Application installée sur le système surveillé.
Cours Sécurité des réseaux
� H-IDS: Application installée sur le système surveillé.� Surveille les attaques au niveau des OSs et des applications.
• Analyse les fichiers logs, les fichiers d’audit système, lesmessages d’erreurs, la base de registres, etc.
• Vérifie la séquence d’actions utilisateur, la séquence d’appelssystème réalisée par les applications, etc.
• Calcule l’intégrité des fichiers sensibles (ex: /etc/passwd)� Ex: RealSecure, Tripwire, BlackICE, Swatch
126
� Avantages• Indépendance à la bande passante et au cryptage.• Justesse de détection: détecte si l’attaque a réussi ou
non• Adapté aux applications.• Comprend le contexte et peut être capable de stopper
l’attaque.� Inconvénients
Host-based IDS(H-IDS)
Cours Sécurité des réseaux
� Inconvénients• Ne garantie pas l’intégrité des alertes générées si elles
résident sur un système compromis• Peut causer la dégradation des performances des
systèmes surveillés.• Forte dépendance aux OSs et aux applications.• Nécessite un agent par machine.
127
Analyse
� Approche par scénario: Misuse Detection, signature-based detection
Cours Sécurité des réseaux
� Approche comportementale: Anomaly Detection
128
Approche par Scénario� Utilise des signatures d’attaques
• Connaissance à l’avance de ce que l’intrus peut faire etcomment.
• nécessité d’un modèle de l’attaque: Séquences d’appelssystème, motif (pattern) de trafic réseau, etc.
• Signature: représente un comportement ou un scénario d’unabus.
� Compare ce qui est capté à ces signatures d’intrusionsmoyennant des règles:•
Cours Sécurité des réseaux
moyennant des règles:• Tout comportement qui vérifie la signature est classé abusif
(misuse)• Example: buffer overflow
• Une chaîne trop longue est passée en argument à une fonction• Example: SYN flooding (deni de service)
• Emission d’un grand nombre de paquets SYN sans envoyer par lasuite les paquets ACKs correspondants.
• Exemple phf attack• Existence de la chaîne de caractère «get /cgi-bin/phf?» dans un
paquet
129
Approche par Scénario
� Fonctionnement semblable auxsystèmes antivirus.
� Taux réduit de false positives puisque lavérification se fait contre des attaquesconnus à l’avance.
Cours Sécurité des réseaux
connus à l’avance.� Taux élevé de false negatives
• Ne détecte par les attaques inconnues.• Beaucoup d’attaques permettent d’échapper
à ce type d’IDS.
130
Approche comportementale
� Idée de base: “anormal” = “soupçonneux”� Modélisation des comportements des
utilisateurs/Applications afin de déterminer des profilstypes• Un profil est un ensemble de métriques sous forme de
valeurs seuil, et d’intervalles de valeurs.� Toute déviation par rapport au profil type est considérée
comme intrusive.
Cours Sécurité des réseaux
comme intrusive.• Ex: Un employé d’une banque effectue régulièrement
des requêtes au serveur pour effectuer des opérationsde débit/crédit (il s’agit donc d’un échangetransactionnel avec des trames courtes).� Si la nature des flux détectés concerne des tramesde longueur proche de MTU alors génération d’unealerte.
131
Approche comportementale
� Nécessite une définition du comportement normal.
� Détection des nouvelles attaques et leurs variations.
� Apprentissage automatique.� Taux élevé de false positives
Cours Sécurité des réseaux
� Taux élevé de false positives• Un comportement non habituel n’est pas
nécessairement malveillant
� Ne détecte pas les attaques qui se manifestent lentement.
� Calcul intensif pour la modélisation des comportements.
132
Misuse vs. Anomaly
� Modification d’un fichier mots de passes Misuse
� Quatre échecs dans l’ouverture de session Anomaly
� Échec de connexion à 50 ports séquentiels Anomaly
� Un paquet UDP en direction du port 1434 Misuse
� Un url contenant la chaîne de caractères Misuse
Cours Sécurité des réseaux
� Un url contenant la chaîne de caractères /cmd.exe?
Misuse
� Le fichier log contient un enregistrement indiquant une tentative de log en tant que root
Misuse
� Un utilisateur qui d’habitude ouvre une session à 8h00 AM, se connecte à 4h30
Anomaly
133
Exemple de règle SNORT
Snort: IDS réseau utilisant l’approche par scénario
Génération d’une alerte si un paquet émanant du
Alert tcp $EXTERNAL_NET any -> 192.168.1.0/24 143 (content: “|90CB C0FF FFFF|/bin/sh”; msg: “IMAP buffer overflow!”)
Cours Sécurité des réseaux
réseau externe vers une machine du réseau interne 192.168.1.0/24 en destination du port 143, contient la chaine “|90CB C0FF FFFF|/bin/sh” (signature d’un buffer overflow sur un serveur IMAP).
Résultat de détection (alerte générée)#0-(3-1) [snort] IMAP buffer overflow ! 2005-10-10 21:14:00 65.106.21.153:1541 192.168.1.10:143 TCP
134
Réponse IDS
� Passive: simplement signaler/enregistrer l’attaque.
Cours Sécurité des réseaux
� Active: effet sur l’attaque en progression
135
Réponse active
� Actions contre l’intrus: assistés par l’administrateur ouautomatiques• Filtrage au niveau Firewall de l’adresse source de
l’intrus.• Fin de la session
� Changement de l’état interne de l’IDS.•
Cours Sécurité des réseaux
• Changement des règles de détection (basculementvers une politique de sécurité plus restrictive).
� Collecte d’informations additionnelle• Redirection de l’intrus vers des Honeypots (pots de
miels permettant de leurrer les intrus).• Sauvegarde des keystrokes (touches clavier tapées)
136
Réponse active
Quelque exemples empiriques (Cisco IDS)
Kill the sessionTCP Reset
Tuer la session
Cours Sécurité des réseaux
Tuer la session
Deny
Block attacker
Deny
BlockingBloquer l’@ IP
de l’intrus
137
Réponse active
Quelque exemples empiriques (Cisco IDS)
Session Log Session Log
Cours Sécurité des réseaux
Capture automatique du trafic de l’intrus
138
Réponse passive
� Affichage d’une alerte� Alerte sonore� Envoi d’un message d’alerte par pager.
Cours Sécurité des réseaux
� Envoi d’un message d’alerte par pager.� Envoi d’un message d’alerte par SMS.� Envoi d’un message d’alerte par email.
139
Où placer l’IDSSonde
SondeSonde
Cours Sécurité des réseaux
� Sonde sur le réseau externe: • Visualise tout le trafic (y compris celui bloqué par le Firewall).• Permet de donner une idée sur la nature des attaques et des intrus.• Beaucoup de faux signaux (bruit).
� Sonde sur le réseau interne:• Analyse le trafic ayant réussi à surpasser le Firewall.• Analyse les attaques internes.
� Sonde sur la DMZ:• Analyse les attaques ayant réussi à atteindre les serveurs publiques..
140
Cours Sécurité des réseaux
INFRASTRUCTURE À CLÉ PUBLIQUE
141
Introduction
� Cryptographie symétrique Pas d'intégrité Pas d'identification de l’émetteur
� Cryptographie asymétrique et gestion des clés � Problèmes � Distribution des clés
Cours Sécurité des réseaux
� Distribution des clés • Obtenir la clé publique d’une autre entité • Distribuer sa propre clé publique
� Révocation Révoquer une clé publiée Déterminer si une clé publiée est valide ou non
142
Introduction
Cours Sécurité des réseaux143
Introduction
� Une autorité de certification (CA) résout ceproblème:• Alice envoie sa clé publique au CA• Alice prouve qu’elle détient la clé privée
correspondant à la clé publique envoyée• Le CA vérifie l’identité d’Alice
Cours Sécurité des réseaux
• Le CA vérifie l’identité d’Alice• Le CA signe l’ensemble: clé publique et identité
d’Alice avec sa clé privée, le document signé estappelé certificat
� Quand Bob reçoit le certificat d’Alice, il estsûr que la clé qui y est certifiée est celled’Alice
144
Certificat X.509
� Un certificat électronique (aussi appelé certificatnumérique ou certificat de clé publique ) peut êtrevu comme une carte d'identité numérique.
� Il est utilisé principalement pour identifier etauthentifier une personne physique ou morale, maisaussi pour chiffrer des échanges.
Cours Sécurité des réseaux
� Il est signé par un tiers de confiance (Autorité decertification) qui atteste du lien entre l'identitéphysique et l'entité numérique.
� Le standard le plus utilisé pour la création descertificats numériques est le X.509.
145
Certificat X.509
� Un certificat est le lien entre :- Une identité- Une clé publique- Une période de validité- Un usage (certificat de signature ou certificat de
chiffrement)
Cours Sécurité des réseaux
chiffrement)
146
Format X.509
Cours Sécurité des réseaux147
Format X.509
Cours Sécurité des réseaux148
Modes de création
Il existe deux façons distinctes de créer des certificatsélectroniques : le mode centralisé et le modedécentralisé.
� le mode décentralisé est le mode le plus courant : ilconsiste à faire créer, par l'utilisateur (ou, plusexactement par son logiciel ou carte à puce) le biclécryptographique et de joindre la partie publique de la
Cours Sécurité des réseaux
cryptographique et de joindre la partie publique de laclef dans la CSR.
� L'Infrastructure n'a donc jamais connaissance de laclé privée de l'utilisateur, qui reste confinée sur sonposte de travail ou dans sa carte à puce.
149
Modes de création
� le mode centralisé consiste en la création du biclépar l'AC : Elle peut ainsi avoir de bonnes garantiessur la qualité de la clé et peut en détenir une copieprotégée.
� En revanche, il faut transmettre à l'utilisateur certesson certificat (qui ne contient que des donnéespubliques) mais aussi sa clé privée ! L'ensemble de
Cours Sécurité des réseaux
publiques) mais aussi sa clé privée ! L'ensemble deces deux données est un fichier créé sous leformat PKCS#12. Son acheminement versl'utilisateur doit être entrepris avec beaucoup deprécaution et de sécurité, car toute personne mettantla main sur un fichier PKCS#12 peut détenir la clé del'utilisateur.
150
Modes de création
� Le mode décentralisé est préconisé pour lescertificats d'authentification et de signature (parceque les conditions d'exercice d'une signaturejuridiquement valide prévoit que le signataire doitêtre le seul possesseur de la clé : en modedécentralisé, l'ICP n'a jamais accès à la clé privée).
Cours Sécurité des réseaux
� Le mode centralisé est préconisé pour les certificatsde chiffrement, car, lorsqu'un utilisateur a perdu saclé (par exemple, sa carte est perdue oudysfonctionne), un opérateur peut, au terme d'uneprocédure de recouvrement, récupérer la clé dechiffrement et la lui remettre.
151
PKI
� Une infrastructure à clés publiques (ICP) ou infrastructurede gestion de clés (IGC) ou encore Public KeyInfrastructure (PKI), est un ensemble de composantsphysiques (des ordinateurs, des équipements cryptographiquesou encore des cartes à puces), de procédures humaines(vérifications, validation) et de logiciels (système et application)en vue de gérer le cycle de vie des certificats numériques.
� Une infrastructure à clés publiques délivre un ensemble de
Cours Sécurité des réseaux
� Une infrastructure à clés publiques délivre un ensemble deservices pour le compte de ses utilisateurs:
� enregistrement des utilisateurs (ou équipement informatique) ;� génération de certificats ; renouvellement de certificats ;
révocation de certificats ; publication de certificats ; publicationdes listes de révocation (comprenant la liste des certificatsrévoqués) ; identification et authentification des utilisateurs(administrateurs ou utilisateurs qui accèdent à l'ICP) ;archivage et recouvrement des certificats
152
Demande de certificat
Cours Sécurité des réseaux153
Composants de PKI� L'IETF distingue 4 catégories d'ICP :� l'autorité de certification (AC ou CA) qui signe les demandes de
certificat (CSR : Certificate Signing Request) et les listes derévocation (CRL : Certificate Revocation List). Cette autorité estla plus critique ;
� l'autorité d'enregistrement (AE ou RA) qui crée les certificats, eteffectue les vérifications d'usage sur l'identité de l'utilisateurfinal (les certificats numériques sont nominatifs et uniques pour
Cours Sécurité des réseaux
final (les certificats numériques sont nominatifs et uniques pourl'ensemble de l'ICP) ;
� l'autorité de dépôt (Repository) qui stocke les certificatsnumériques ainsi que les listes de révocation (CRL) ;
� l'entité finale (EE : End Entity) qui utilise le certificat
154
Cours Sécurité des réseaux155
Cours Sécurité des réseaux156
Cours Sécurité des réseaux157
Cours Sécurité des réseaux158
Cours Sécurité des réseaux159
Cours Sécurité des réseaux160
Cours Sécurité des réseaux161
Cours Sécurité des réseaux162
Cours Sécurité des réseaux163
Cours Sécurité des réseaux164
Cours Sécurité des réseaux165
Cours Sécurité des réseaux166
Cours Sécurité des réseaux167
Top Related