Techniques de Protection Chap1
Techniques de Protection Chap1
réseaux
CHAPITRE I:
Iset’Com 2024-2025
Problématique Problématique
La plupart des protocoles réseaux ont une conception simple Faiblesses de configuration des équipements réseaux
légère et non sécurisée Exemple: Pare-feu mal configuré laissant passer un trafic non
autorisé
Pas de couche de sécurité dans le protocole IP
Diverses attaques sur la plupart des protocoles
Pas de véritables mécanismes d’authentification dans les
protocoles réseaux couramment utilisés
Exemples d’attaques: Spoofing, man-in-the-middle …
Faiblesses d’implémentation ou bogues des programmes
(systèmes d’exploitation, applications, piles réseaux)
Développement rapide de logiciels sans règles strictes.
Exemple d’attaques: ping of death, SYN flooding…
Problématique Approche commune des attaques
En s’appuyant sur ces faiblesses, plusieurs attaques peuvent être Étape 1 : Reconnaissance
lancées permettant de : • Objectif : Collecter des informations sur le système cible.
Influencer le comportement réseau: déni de service, saturation • Outils : Google Dorks, WHOIS, réseaux sociaux.
de la bande passante ..
Étape 2 : Balayage (Scan)
Collecter des informations confidentielles.
• Objectif : Identifier les ports ouverts, les services actifs et les vulnérabilités
Les composantes vulnérables d’un système, souvent exploitées Actions : Balayage de ports + balayage de vulnérabilités +.cartographie du
comme vecteurs d’attaque, sont : réseau
La couche réseau, en charge de connecter le système au • Outils : Nmap (scan de ports), Nessus, OpenVAS (scan de vulnérabilités).
réseau
Étape 3 : Exploitation
Le système d’exploitation, en charge d’offrir un noyau de
• Objectif : Exploiter les vulnérabilités
fonctions au système
• Actions : Exploitation failles réseaux, applicatives
La couche application, en charge d’offrir des services
spécifiques. • Outils : Metasploit, exploit kits.
Objectif: Connaitre des informations sur les chemins vers d’autres réseaux: Principe de fonctionnement de traceroute:
points d’interconnexion …
Utilisation d’outils tels que Traceroute (ou tracert) pour visualiser le
chemin suivi par un paquet d’un hôte à un autre
Principe de fonctionnement de traceroute:
Traceroute (envoi des paquets à un port UDP non utilisé (port 33434 par
défaut)avec un TTL (Time To Live) valant 1.
TTL: un champ de durée décrémenté à chaque passage d’un routeur.
Si TTL=0, le routeur considère que le paquet tourne en boucle, détruit ce paquet
et envoie une notification ICMP à l’expéditeur
Le premier routeur rencontré va supprimer le paquet et renvoyer un paquet
ICMP donnant l’adresse IP du routeur et le temps de propagation en boucle.
Traceroute incrémente séquentiellement la valeur du champ TTL, de manière
à obtenir une réponse de chacun des routeurs sur le chemin.
Fin de traitement: obtenir une réponse « ICMP port unreachable» de la part
de la machine cible
Attaques par identification des systèmes réseaux Attaques par identification des systèmes réseaux
Objectif: identifier tous les systèmes présents (ainsi que leurs Attaque par balayage ICMP (ICMP scan):
services et les systèmes d’exploitation employés) dans le but de Objectif: dresser une liste des systèmes actifs sur un sous-réseau
dresser les futurs moyens de pénétration du réseau ou des
Principe
systèmes qui le composent.
L'attaquant envoie un paquet ICMP Echo-Request (ping) à une ou
Plusieurs attaques possibles: plusieurs adresses IP.
Attaques par balayage ICMP (ICMP scan) Le serveur répond par un paquet ICMP Echo-Reply.
Attaques de découverte de services L’attaquant identifie ainsi les systèmes actifs sur le réseau.
Exemple: Attaques par balayage TCP
Empreinte du réseau d’un système d’exploitation
Objectif des attaques: trouver, dans un délai très court, tous les Connect Scan
ports ouverts sur une machine distante
Principe: Attaquant cible
Pour connaître les ports ouverts sur une machine, l’attaque se base
sur la spécificité du protocole TCP.
L’attaquant envoie des demandes au client, et exploite la réponse
Attaquant cible
pour déterminer l’état du port (ouvert, fermé, filtré).
Plusieurs techniques de scan de ports TCP: Connect Scan, Connect
SYN-Scan, Null-Scan, XMAS-Scan …
Attaquant cible
Connect SYN-Scan Null-Scan: envoyer un paquet TCP scan avec tous les flags à 0
Attaquant cible
Attaquant cible
Attaquant cible
Attaquant cible
Attaquant cible
Le scan par défaut de nmap, appelé « Half Open scan » Attaquant cible
Attaquant cible
Un réseau local:
Une zone privée mais avec une nécessite de se
connecter à Internet
Le trafic échangé:
CHAPITRE II: Intérieur Intérieur
Dans la majorité des Firewalls, une séparation en plusieurs zones de différents niveaux de confiance:
Le LAN (Local Area Network) : Le réseau interne, considéré comme sûr et protégé. La DMZ :
Le WAN (Wide Area Network) : Le réseau externe (comme Internet), considéré comme peu fiable et Zone spéciale autorisant un accès public de l’extérieur
potentiellement dangereux.
Permettant l’acheminement du trafic Internet du ou vers le réseau, tout en assurant la sécurité de
La zone démilitarisée DMZ (Demilitarized Zone) : Une zone intermédiaire qui permet un accès limité et ce dernier.
contrôlé depuis l'extérieur, tout en protégeant le réseau interne.
Réseau non digne de confiance Amélioration du niveau de sécurité en empêchant l’exposition du réseau protégé
Réseau avec niveau de confiance X Les serveurs connectés au DMZ peuvent se composer de
Firewall
Serveurs proxy (accès web aux utilisateurs du réseau protégé)
Réseau local Internet
Serveurs VPN (Virtual Private Network) (des connexions sécurisées pour l’accès distant)
Routeur
Serveurs applicatifs (mail, DNS, etc.) qui nécessitent l’accès au réseau externe.
LAN
Exemple : Fortinet FortiGate. Type du protocole (TCP, UDP, ICMP, etc), Internet
Trafic
Ports (TCP ou UDP) source et destination … sortant
9 L’action qui doit être menée par le firewall si le paquet correspond à la règle. 10
Filtrage simple des paquets: trafic HTTP Filtrage simple des paquets: trafic HTTP
Exemple :Soit la politique suivante: accepter le trafic HTTP en entrée et en Exemple de règles
sortie et rien d’autre. Règle Direction @ source @ Dest. Protocole Port dest. Action
Autoriser les utilisateurs internes à accéder aux serveurs web externes A Entrant Externe 192.168.22.35 TCP 80 Autoriser
Autoriser les utilisateurs externes à accéder au serveur web interne B Sortant 192.168.22.35 Externe TCP >1023 Autoriser
C Sortant Interne Externe TCP 80 Autoriser
D Entrant Externe Interne TCP >1023 Autoriser
E Toutes Toutes Toutes Tous Tous Refuser C Sortant Interne Externe TCP >1023 80 Autoriser
Filtrage simple des paquets: trafic HTTP Filtrage simple des paquets: trafic FTP
Raffinement de la solution: examiner aussi le flag ACK (ACK=0 seulement dans le premier
paquet envoyé du client (port>1023) vers le serveur) Rappel: Dans le protocole FTP (File Transfer Serveur FTP Client FTP
Protocol)
Règle Direction @ source @ Dest. Protocole Port Port ACK=1 Action
src. dest. Le client ouvre un canal de commande et 20 21
A Entrant Externe 192.168.22.35 TCP >1023 80 --- Autoriser donne le port associé aux données. Data Command 5150 5151
.
Filtrage simple des paquets: avantages et limites Attaques sur le filtrage simple des paquets
Avantages:
Usurpation d’adresse IP (IP address spoofing)
Simplicité du fonctionnement
L’intrus envoie un paquet de l’externe avec une fausse @IP (généralement égale à une @IP d’une
Rapidité dans le traitement: l’impact sur la performance est faible machine interne), et ceci afin de réussir à passer le mécanisme de filtrage
Limites Solution: bloquer tout paquet venant de l’interface externe ayant une @IP source interne
Nécessité d’un trop grand nombre de règles pour que le Firewall offre une réelle protection Fragmentation de paquets (Tiny fragment attacks)
Une simple erreur dans la configuration des règles peut casser toute la sécurité Un paquet IP est divisé en plusieurs fragments, où seul le premier fragment contient le numéro de port.
Pas assez d’informations pertinentes dans les fichiers logs générés (seulement: @IP, ports) Insuffisance d’informations pour filtrer ces paquets
Ne supporte pas des mécanismes avancés d’authentification des utilisateurs. Solution: rejeter les paquets fragmentés ou les rassembler avant vérification
17 18
Filtrage dynamique des paquets: stateful Filtrage dynamique des paquets: stateful
23 24
Passerelle applicative Passerelle applicative
Le firewall vérifie si les données applicatives sont dans un format acceptable.
filtre les informations au niveau des couches 3, 4, 5 et 7 du modèle de référence OSI Ce qui est connu (pour la source) : la session entre la source et la passerelle applicative.
Telnet FTP HTTP
Besoin d’un proxy séparé pour chaque service La passerelle applicative stocke des informations sur la connexion (origine, destination, durée,
Exemples: Telnet, FTP, HTTP, DNS … temps) et gère le trafic entre la source et la destination.
Application Application Application
Client telnet Serveur telnet
Possibilité d’assurer des traitements Presentation Presentation Presentation 1. Telnet sur le port 23 6. Nouvelle connexion TCP
supplémentaires comme l’authentification Session Session Session
Transport Transport Transport
Possibilité de configurer la passerelle pour empêcher certaines fonctionnalités d’une application 3. Authentification du client.
Généralement utilisée pour relayer des connexions du réseau source de confiance vers un réseau NGFW: Next-Generation Firewall
non digne de confiance Un système de sécurité réseau capable de détecter et de bloquer les attaques sophistiquées
Exemple typique: les serveurs SOCKS ( définis dans le RFC1928) en appliquant des règles de sécurité au niveau applicatif, ainsi qu’à celui du port ou de
protocole de communication.
Principe de fonctionnement:
Caractérisé principalement par:
Des capacités de pare-feu traditionnel de paquets: Filtrage simple et dynamique des paquets
Un système de prévention d’intrusion IPS (Intrusion Prevention System)
Un contrôle applicatif
Plusieurs fonctionnalités supplémentaires:
Une authentification des utilisateurs
Une journalisation détaillée
Une protection contre les logiciels malveillants …
Exemple de NGFW: Fortigate de fortinet
29 30
Plus le nombre est faible, plus le niveau de sécurité et la performance sont meilleures
Un élément du réseau informatique
Sécurité performance
Hautement sécurisé Filtrage simple des paquets (Stateless packet Filtering)
3 1
Désactivation de tous les services non nécessaires rester simple
Filtrage dynamique(Stateful Packet Filtering) 2 2
Potentiellement exposé à des intrusions
Offrant une plateforme pour les passerelles applicatives ou niveau circuit Passerelle niveau circuit (Circuit-Level GW) 2 3
Pouvant être utilisé pour fournir des services accessibles de l’extérieur Passerelle applicative (Application-level GW) 1 4
31 32
ACL de Cisco : Un Exemple de Filtrage Stateless
28 ACL de Cisco : Un Exemple de Filtrage Stateless
Les listes de contrôle d’accès: ACL Processus de contrôle des paquets dans les
Technique de filtrage largement utilisée dans les réseaux d’entreprise ACL
Correspond à une liste de règles permettant de filtrer le trafic (accepté ou refusé): Un paquet est comparé aux règles de l’ACL d’une
Identifiée par un numéro ou un nom manière séquentielle Top-Down
Généralement implémentées au niveau des routeurs
Associée à une interface du routeur où le filtrage sera exécuté. La comparaison s’arrête dès qu’un paquet vérifie
Interface in (incoming: paquets entrant dans le routeur) in out l’une des règles de l‘ACL
Interface out (outcoming: paquets sortant du routeur)
Deux catégories d’ACL: L’action (permit/deny) de la règle trouvée est
Standards: numéro 199 et 1300 1999 appliquée au paquet
Etendues: Numéro 100199 et 20002699
Les ACL se terminent par une règle « deny all »
implicite pour rejeter les paquets qui ne vérifient
aucune règle
33 34
ACL de Cisco : Un Exemple de Filtrage Stateless ACL de Cisco : Un Exemple de Filtrage Stateless
ACL standard:
Filtrage basé sur l’adresse IP source uniquement, placée près de la destination Un masque générique est un masque de 32 bits divisés en quatre octets
Syntaxe: Signification
Création de l’ACL "0" binaire = vérifiez la correspondance (doit correspondre)
Router(config)# access-list numéro-liste-d’accès {deny|permit} source [wildcard mask] "1" binaire = Ignorez la correspondance (peut varier)
Associer la liste d’accès à une interface du routeur: any remplace 255.255.255.255 dans le masque générique (et 0.0.0.0 dans l’adresse IP).
Router(config)# interface [port du routeur] host : remplace 0.0.0.0 dans le masque générique.
Router(config-if)# ip access-group numéro-liste-d’accès {in/out}
Exemple: Permettre l’acheminement du trafic du réseau 192.168.1.0 vers Internet et vers 172.16.0.0
Router(config)# access-list 11 permit 192.168.1.0 0.0.0.255 172.16.0.0
Router(config)# int S0
Router(config-if)# ip access-group 11 out E1
Router(config)# int E1 Internet 192.168.1.0
S0 E0
Router(config-if)# ip access-group 11 out 35 36
ACL de Cisco : Un Exemple de Filtrage Stateless ACL de Cisco : Un Exemple de Filtrage Stateless
Exemple: refuser l’accès du réseau 221.23.123.0 au serveur HTTP 198.150.13.34
ACL étendue:
Extended ACL Placer la règle près de la source
Filtrage basé sur @IP source et @IP destination , ports source et destination , type de protocole
Ecrire l’ACL dans le routeur C et l’appliquer à l’interface E0
Placée près de la source
Router(config)#access-list 113 deny tcp 221. 23.123.0 0.0.0.255 host 198.150.13.34 eq 80
Syntaxe
Router(config)#access-list 113 permit ip 221. 23.123.0 0.0.0.255 0.0.0.0 255.255.255.255
Créer la liste d’accès
Router(config)# int E0
Router(config)#access-list numéro-liste-accès {deny|permit} protocole adresse-source masque-source [opérateur
port] adresse-destination masque-destination [opérateur [port]] [established] Router(config-if)# ip access-group 113 in
Associer la liste d’accès à une interface du routeur:
Router(config)# interface [port du routeur]
Router(config-if)# ip access-group numéro-liste-d’accès {in/out}
Quelques opérateurs: eq : égal, neq : différent, gt : plus grand que, lt : moins grand que
established : autorise le trafic TCP si les paquets utilisent une connexion établie.
Vérifie l’état du flag (ACK/RESET): Si ACK n’est pas activé trafic refusé
37 38
Netfilter et iptables: un exemple de Firewall Stateful sous Linux Netfilter/Iptables : Un Exemple de Firewall Stateful sous Linux
Netfilter: Iptables utilise des tables (tables) et des chaînes (chains) pour organiser les règles.
Partie du noyau Linux gérant le filtrage des paquets, la NAT (Network Address Translation) et 1. Tables : Ce sont des ensembles de règles regroupées par fonction.
le routage.
Permet de suivre l'état des connexions pour un filtrage stateful.
La table la plus courante est la table filter, qui gère le filtrage du trafic.
Ne se configure pas directement : il faut utiliser un outil pour définir les règles. D'autres tables existent, comme nat (pour la traduction d'adresses) ou
Iptables : mangle (pour modifier les paquets).
Outil utilisé pour créer des règles de filtrage, de NAT et de routage avec Netfilter. 2. Chaînes : points d'entrée ou de sortie pour le trafic.
Fonctionne en mode stateful grâce à la gestion des états de connexion. Principales chaînes sont : INPUT : (trafic entrant), OUTPUT : (Trafic sortant) ,
Nftables : FORWARD (trafic transitant pour le routage)
Successeur moderne d'iptables, unifié et performant, conçu pour simplifier la gestion des 3. Règles : Les instructions définissant ce qu'il faut faire avec un paquet (accepter,
règles de filtrage, NAT et routage. rejeter, bloquer, etc.).
39 40
Netfilter/Iptables : Un Exemple de Firewall Stateful sous Linux Netfilter/Iptables : Un Exemple de Firewall Stateful sous Linux
Structure de base d'une commande iptables
Exemples de règles stateful:
iptables [option] [chaîne] [critères] [action] 1. Autoriser les connexions établies et liées:
Options courantes Critères courants Actions courantes iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Explication : Autorise tout le trafic qui fait partie d'une connexion déjà établie ou liée à une
-A : Ajouter une règle à la fin d'une chaîne. -s : Adresse IP source. -j ACCEPT : Autoriser le connexion existante.
-I : Insérer une règle au début d'une chaîne. -d : Adresse IP de destination. paquet.
Utilité : Permet de répondre aux paquets légitimes sans ouvrir de nouveaux ports.
-D : Supprimer une règle. -p : Protocole (tcp, udp, icmp…) -j DROP : Bloquer le
paquet sans réponse. 2. Autoriser les nouvelles connexions SSH
-L : Lister les règles. --sport : Port source.
-j REJECT : Bloquer le iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
-F : Vider (supprimer) toutes les règles --dport : Port de destination. paquet avec une réponse
d'une chaîne. -m state : Utiliser le module (par exemple, un message Explication : Autorise uniquement les nouvelles connexions SSH (port 22).
-P : Définir la politique par défaut d'une stateful pour filtrer par état de "port unreachable"). Utilité : Protège le service SSH tout en permettant aux utilisateurs de se connecter.
chaîne (ACCEPT, DROP). connexion. -j LOG : Journaliser le
3. Bloquer tout le trafic entrant par défaut: iptables -P INPUT DROP
-m state --state [état] : Filtrer les paquet (pour le débogage).
Explication : Définit la politique par défaut de la chaîne INPUT à DROP (refuser).
paquets en fonction de leur état de
connexion.
41
Utilité : Assure que tout le trafic non explicitement autorisé est bloqué. 42