Le Filtrage de Paquets
&
Firewalls Firewalls
1
Pourquoi le Filtrage de Paquets?
Le filtrage de paquet vous permet de dire:
•
Ne permettre à personne d’utiliser Telnet pour se loguer à p p p g partir de l’extérieur.
Ou:
•
Permettre à tout le monde d’envoyer du e-mail via SMTP Ou même:
•
Cette machine peut nous envoyer des fichiers via FTP, mais aucune autre machine ne le peut
2
Pourquoi le Filtrage de Paquets?
Mais il ne vous permet pas de dire:
C ili f i d T l à i d l’ é i i
• Cet utilisateur peut faire du Telnet à partir de l’extérieur, mais aucun autre ne le peut.
Parce que «
utilisateur
» n’est pas quelque chose qu’un système à filtrage de paquet peut identifier.Ou:
• On peut transférer seulement ces fichiers mais aucun autre
• On peut transférer seulement ces fichiers mais aucun autre.
Parce que «
fichier
» n’est pas non plus quelque chose que le système de Parce que «fichier
» n est pas non plus quelque chose que le système de filtrage peut identifier.3
Firewalls
Firewall: Filtrage du trafic entrant
Le réseau à protégerp g Utilisateur NON autorisé
Routeur
Utilisateur autorisé
Pirate
Politique de sécurité Pirate
4
Firewalls
Firewall: Filtrage du trafic sortant
Le réseau à protégerp g InternetInternet
Routeur
Pirate
Politique de sécurité Pirate
5
Firewalls: Type de paquets
Firewall
Le réseau à protéger Internet
TCP
R
TCP
UDP TCP
UDP Routeur
ICMP UDP
ICMP
Politique de sécurité
6
Firewalls
Politique de Sécurité q
¾No Ping
¾L’accès au site Web (www.X.com) est interdit
¾La machine d’adresse IP Y est non autorisée à accéder à notre réseaux
¾Le FTP est non autorisé
¾Le Telnet entrant est autorisé seulement pour l’adresse IP X
¾Le Telnet entrant est autorisé seulement pour l adresse IP X
¾etc.
7
Le Filtrage de Paquets & Firewalls
•Pourquoi le filtrage de paquets ?
•Configuration d’un routeur à filtrage de paquets
•Que fait le routeur des paquets ?
•Conventions concernant les règles de filtrage de paquets
•Filtrage par l’adresse
•Filtrage par le service
•Choix d’un routeur à filtrage de paquetsChoix d un routeur à filtrage de paquets
•Où faire le filtrage de paquets
•Processus de développement d’un ensemble de filtre
•Configuration des services Internet
•Firewalls
A hi d Fi ll
•Architectures des Firewalls
•Plan d’adressage adapté
•TCP-Wrapper
8 TCP Wrapper
E l d Mi Exemples de Mise
en Place en Place des Règles g de Filtrage
9
Exemples de règles de filtrage
En général, on définit une règle de filtrage à partir des données:
1. Adresse IP source, 2. Adresse IP destination,
3. Type de protocole encapsulé (TCP, UDP, ICMP, IP) yp p p ( , , , ) 4. Port source (au cas où le protocole est TCP ou UDP) 5. Port destination (au cas où le protocole est TCP ou UDP) ( p ) 6. Le bit ACK
10
Exemples de règles de filtrage
Définir une règle de filtrage = définir les valeurs de tous g g ces 6 paramètres ou de quelque uns.
A chaque règle de filtrage est associé une action:
• laisse passer le paquet,
• ou le détruire/Refus
• ou le détruire/Refus
Pour chaque service interne et externe:
• il faut mettre en place des règles pour autoriser nos utilisateurs à y accéder
• et des règles pour autoriser des utilisateurs externes à accéder à des serveurs (services) sur notre réseau.
11
Exemples de règles de filtrage
Internet
R t
SMTP/25 TCP Web/80
Routeur TCP
Externe
Ré Pé i hé i Réseau Périphérique
192.168.22.35
Routeur Interne
Réseau Privé
Web/80 TCP
12
Exemples de règles de filtrage
Internet
SMTP/25 TCP Web/80
TCP
Routeur externe
Réseau Périphérique
192.168.22.3 5
Routeur Interne
Réseau Privé
Web/80 TCP
Autoriser l’extérieur à accéder au service WWW sur le réseau périphérique
Règle Direction paquet
IP Source IP Dest Prot Port Sou Port Dest
ACK=1 Action
p p q
A Sortant 192.168.22.35 Toutes TCP 80 > 1023 Oui Permission
B Entrant Toutes 192.168.22.35 TCP > 1023 80 --- Permission
13
C Toutes Toutes Toutes Tous Tous Tous --- Refus
Les routeurs filtrants
14
Réseau à protéger
Le Filtrage de Paquets
R
Réseau à protéger
Internet
Routeur filtrant
• La fonction de filtrage est intégrée dans la plupart des routeurs du marchég g p p
• Nécessite une bonne connaissance technique des protocoles
• Une syntaxe pour définir les règles de filtrage
• Généralement des fichiers logs et des statistiques exploitables
Configuration des routeurs filtrants:
mettre en place des règles de filtrage des paquets au niveau des routeurs pour se
té d i i dé i bl
15 protéger des connexions indésirables
Le Filtrage de Paquets
Routeur Filtrant
(A,Port_A) vers (B Port B)
(A,Port_A) vers (B Port B)
Routeur filtrant
A: Client B: Serveur
(B,Port_B) (B,Port_B)
(B Port B) (B Port B)
(B,Port_B) vers (A,Port_A)
(B,Port_B) vers (A,Port_A)
• A désire accéder au service que B héberge
• A choisit un port source Port A
• A choisit un port source Port_A
• Port_B: numéro de port imposé par le protocole du service (donc connu)
16
Le Filtrage de Paquets
Routeur Filtrant
(A Port A) (A Port A)
Routeur
(A,Port_A) vers (B,Port_B)
(A,Port_A) vers (B,Port_B)
Routeur filtrant
A: Client B: Serveur
(B,Port_B) vers
(B,Port_B) vers
• Un routeur normal ne regarde que l’adresse de destination et se demande
vers (A,Port_A)
vers (A,Port_A)
Un routeur normal ne regarde que l adresse de destination et se demande seulement: «
Comment puis-je faire suivre ce paquet?
»• Un routeur à filtrage de paquets se pose de plus la question suivante:
«
Dois-je faire suivre ce paquet?
».• Le routeur à filtrage de paquets répond à cette question en fonction de la
17
g p q p q
politique de sécurité programmée dans le routeur par l’intermédiaire des règles de filtrage.
Processus de développement d’un ensemble de filtres d un ensemble de filtres
18
Processus de développement d’un ensemble de filtres
L’exemple suivant est conçu pour vous montrer le processus de développement
d’ bl d fil i él b é f à li d’ê
d’un ensemble de filtres; ceux-ci sont élaborés au fur et à mesure au lieu d’être produits sous leur forme finale.
Exemple: accepter SMTP en entrée et en sortie p p (afin de pouvoir envoyer et recevoir du courrier électronique) et rien d’autre. q
19
Processus de développement d’un ensemble de filtres (suite)
On peut commencer par le jeu de règles:
Règle Direction @ source @ Dest. Protocole Port dest. Action
A Entrant Externe Interne TCP 25 Permission
B S t t I t E t TCP >1023 P i i
B Sortant Interne Externe TCP >1023 Permission
C Sortant Interne Externe TCP 25 Permission
D Entrant Externe Interne TCP >1023 Permission
D Entrant Externe Interne TCP 1023 Permission
E Toutes Toutes Toutes Tous Tous Refus
• Les règles A et B autorisent les connexions SMTP entrantes (courrier entrant)
• Les règles C et D autorisent les connexions SMTP sortantes (courrier sortant)
• Les règles C et D autorisent les connexions SMTP sortantes (courrier sortant)
• La règle E est la règle par défaut qui s’applique si rien d’autre ne correspond.
20
Processus de développement d’un ensemble de filtres (suite) Internet
Client SMTP TCP 1234 192 168 3 4
1
Ré i t
Firewall
192.168.3.4
Réseau interne
2
Serveur SMTP TCP 25
Réception des emails
172.16.1.1
Paquet Direction @ source @ dest. Protocole Port dest
Action ( è l ) dest. (règle)
1 Entre 192.168.3.4 172.16.1.1 TCP 25 Permission (A)
21
2 Sort 172.16.1.1 192.168.3.4 TCP 1234 Permission (B)
Processus de développement d’un ensemble de filtres (suite) Internet
Serveur SMTP TCP 25 192 168 3 4
4
Ré i t
Firewall
192.168.3.4
Réseau interne
3
Client SMTP TCP 1357
Envoie des emails
172.16.1.1
Paquet Direction @ source @ dest. Protocole Port dest
Action ( è l ) dest. (règle)
3 Sort 172.16.1.1 192.168.3.4 TCP 25 Permission (C)
22
4 Entre 192.168.3.4 172.16.1.1 TCP 1357 Permission (D)
Processus de développement d’un ensemble de filtres (suite) Internet
5 AgresseurTCP 515010 1 2 3
5
Ré i t
Firewall
10.1.2.3
Réseau interne
6
Serveur X11
TCP 6000 Les paquets 5 et 6 posent un problème:
ils sont autorisés
172.16.3.4
Paquet Direction @ source @ dest. Protocole Port dest
Action ( è l )
ils sont autorisés
dest. (règle)
5 Entrant 10.1.2.3 172.16.3.4 TCP 6000 Permission (D)
6 Sortant 172.16.3.4 10.1.2.3 TCP 5150 Permission (B)
23
Processus de développement d’un ensemble de filtres (suite)
• Le jeu de règle décrit autorise cette connexion: il autorise n’importe quelle connexion tant que les deux parties utilisent des ports situés au- dessus de 1023 Pourquoi?
dessus de 1023. Pourquoi?
• Les règles A et B font ensemble ce que vous voulez pour autoriser les connexion SMTP sortantes.
• Les règles C et D font ensemble ce que vous voulez pour autorisez les connexions SMTP sortantes.
• Mais les règles B et D, ensemble, finissent par permettre toutes lesMais les règles B et D, ensemble, finissent par permettre toutes les connexions où les deux côtés utilisent des ports au-dessus de 1023, et ce n’est certainement pas ce qui était prévu.
C’est pour cette raison que vous devez considérer les règles comme un tout au lieu de supposer que si chaque règle, ou groupe de règle fonctionne, au lieu de supposer que si chaque règle, ou groupe de règle fonctionne,
l’ensemble fonctionne aussi.
24 Que peut-on faire?
Processus de développement d’un ensemble de filtres (suite)
Solution: Le port source est aussi examiné Le jeu de règles devient:
Règle Direction @ source @ Dest Protocole Port sour Port dest Action Règle Direction @ source @ Dest. Protocole Port sour. Port dest. Action
A Entrant Externe Interne TCP > 1023 25 Permission
B Sortant Interne Externe TCP 25 >1023 Permission
C Sortant Interne Externe TCP > 1023 25 Permission
D Entrant Externe Interne TCP 25 >1023 Permission
E Toutes Toutes Toutes Tous Tous Tous Refus
Paquetq Direction @ source@ @ dest.@ Protocole Port Post Action sour. dest. (règle)
1 Entrant 192.168.3.4 172.16.1.1 TCP 1234 25 Permission (A)
2 Sortant 172 16 1 1 192 168 3 4 TCP 25 1234 Permission (B)
2 Sortant 172.16.1.1 192.168.3.4 TCP 25 1234 Permission (B)
3 Sortant 172.16.1.1 192.168.3.4 TCP 1357 25 Permission (C)
4 Entrant 192.168.3.4 172.16.1.1 TCP 25 1357 Permission (D)
25
5 Entrant 10.1.2.3 172.16.3.4 TCP 5150 6000 Refus (E)
6 Sortant 172.16.3.4 10.1.2.3 TCP 6000 5150 Refus (E)
Processus de développement d’un ensemble de filtres (suite)
Et, si vous étiez maintenant confronté à un agresseur légèrement plus malin?
• S’il utilisait le port 25 comme port client de son côté (il peut y arriver en tuant les serveur s SMTP sur une machine qu’il contrôle ou en portant
l’ d i hi i ’ j i )
l’attaque depuis une machine qui n’en a jamais eu)
• Ensuite essayait d’ouvrir une connexion vers votre serveur X11Ensuite essayait d ouvrir une connexion vers votre serveur X11
26
Processus de développement d’un ensemble de filtres (suite) Internet
7 AgresseurTCP 2510 1 2 3
7
Ré i t
Firewall
10.1.2.3
Réseau interne
8
Serveur X11 TCP 6000 172.16.3.4
Paquet Direction @ source @ dest. Protocole Port Port Action
Les paquets reçus:
sour. dest. (règle)
7 Entrant 10.1.2.3 172.16.3.4 TCP 25 6000 Permission (D)
8 Sortant 172.16.3.4 10.1.2.3 TCP 6000 25 Permission (C)
Zouheir TRABELSI 27
8 Sortant 172.16.3.4 10.1.2.3 TCP 6000 25 Permission (C)
Les paquets seraient autorisés et que l’attaque aurait toutes les chances de réussir
Processus de développement d’un ensemble de filtres (suite)
Que pouvez-vous donc faire?
Solution: prendre aussi le bit ACK comme critère
Client Serveur Serveur
ACK=0
ACK=1 ACK 1
ACK=1
ACK=1
28
Rappel: Le bit ACK dans les paquets TCP
Si on essaye de bloquer une connexion TCP, il suffit d’en bloquer le premier paquet.
p q
Sans lui, les paquets ultérieurs pour cette connexion ne seront pas rassemblés en
fl d d é l é t t l i ’ ff t j i
un flux de données par le récepteur et la connexion ne s’effectuera jamais.
Ce premier paquet est reconnaissable par le fait que le bit ACK de son en-tête Ce premier paquet est reconnaissable par le fait que le bit ACK de son en tête TCP est à O; tous les autres autres de cette connexion, quelle que soit leur direction, auront leur bit ACK à 1.
La reconnaissance de ces paquets TCP de « début de connexion » permettent d’appliquer une règle qui autorise les client internes à se connecter aux serveurs extérieurs, mais interdit aux clients extérieurs de se connecter à des serveurs internes. Il suffit d’autoriser les paquets TCP de début de connexion parce que l’absence du bit ACK les caractérises en tant que tels.
29 q
Processus de développement d’un ensemble de filtres (suite)
Que pouvez-vous donc faire?
Solution: prendre aussi le bit ACK comme critère
Règle Direction @ source @ Dest. Proto Port sour. Port dest. ACK=1 Action
A Entrant Externe Interne TCP > 1023 25 --- Permission
B Sortant Interne Externe TCP 25 >1023 Oui Permission
C Sortant Interne Externe TCP > 1023 25 Permission
C Sortant Interne Externe TCP > 1023 25 --- Permission
D Entrant Externe Interne TCP 25 >1023 Oui Permission
E Toutes Toutes Toutes Tous Tous Tous --- Refus
Paquet Direction @ source @ dest. Proto Port sour. Post dest. ACK=1 Action (règle) ( g )
7 Entrant 10.1.2.3 172.16.3.4 TCP 25 6000 Non Refus (E)
Zouheir TRABELSI 30 Le paquet n° 7 échouera
(l’agresseur tentant d’ouvrir une connexion sur votre serveur X11, donc ACK=0)
Processus de développement d’un ensemble de filtres (suite)
• Les seuls différence se situent au niveau des règles B et D:
• La règle D est la plus importante, car elle contrôle les connexions entrantes
L è l B ’ li i t t t l it ’ i té t
• La règle B s’applique aux connexions sortantes et les sites s’y intéressent moins qu’aux connexions entrantes
• La règle D n’accepte les paquets entrants depuis des supposés serveurs SMTP que si les paquets ont leur bit ACK à 1 (les paquets font partie d’une connexion déjà démarrer de l’intérieur)
démarrer de l intérieur)
• Si quelqu’un essaye d’ouvrir une connexion TCP de l’extérieur, le tout premier q q y p paquet qu’il envoie comporte un bit ACK à 0.
Si bl t t i t ( t ° 7 ) bl f it
• Si vous bloquez ce tout premier paquet (paquet n° 7 ), vous bloquez en fait l’intégralité de la connexion TCP: Sans certaines informations contenues dans les en-têtes du premier paquet, en particulier , les numéros de séquence TCP, la
31 connexion ne peut être établie
Processus de développement d’un ensemble de filtres (suite)
Pourquoi un agresseur ne pourrait-il pas contourner simplement ceci en se contentant de mettre le bit ACK à 1sur le premier paquet?
• Dans ce cas le paquet passera au travers les filtres, mais la destination pensera que le paquet appartient à une connexion existante.
• Quand la destination essayera de faire correspondre le paquet avec une connexion existante elle échouera et le paquet sera ignoré
connexion existante, elle échouera et le paquet sera ignoré Note
Un principe de base édicte que toute règle autorisant les paquets TCP entrants des connexions sortantes (c’est-à-dire les connexions initiées par des clients
32 internes) impose que le bit ACK soit mis à 1.
Configuration des Services Internet
33
Configuration des Services Internet
Décrire les principaux services Internet:
¾Comment ils fonctionnent,
¾Quelles sont leurs caractéristiques intéressant le filtrage de paquets,
¾Quelles sont leurs implications en termes de sécurité sur un firewall,
¾Comment les faire fonctionner avec un firewall
34
Le Flux de Paquets: Quand un service tourne directement
Serveur
Internet
Routeur extérieur
Réseau périphérique:
Client
Routeur intérieur
Réseau interne
35
Le Flux de Paquets: Quand un service mandataire est utilisé
Serveur réel
Internet
Routeur extérieur
Serveur mandataire
Réseau périphérique:
Client mandataire
Routeur intérieur
Réseau interne
36
Transferts de Fichiers
•FTPest le standard de facto pour les transferts de fichiers sur l’Internet
• Il existe de plus certains protocoles spécialisés pour les applications où FTP n’est pas adapté:
¾TFTP: est employé pour des transférer des fichiers de configuration
¾FSP: est un protocole UDP utilisé quand les connexions TCP ne fonctionnent pas ou ne sont pas autorisées.p p
¾UUCP: est utilisé pour les transferts par lots, surtout sur les lignes télé h i
téléphoniques.
37
File Transfert Protocol (FTP)
38
File Transfert Protocol (FTP)
FTP peut être utilisé pour transférer n’importe que type de fichier:
• binaires exécutables
• images graphiques
• texte ASCII
• PostScript
• Fichiers vidéo, etc.
•
Deux d’accès FTP:
• Utilisateur (l’utilisateur requiert un compte sur le serveur)Utilisateur (l utilisateur requiert un compte sur le serveur)
• Anonyme: n’importe qui sur l’Internet peut initier une connexion FTP:
•Login: « anonymous »
•Password: n’importe quel MdP est accepté
39
Particularités du filtrage de paquets FTP
•
FTP utilise deux connexions TCP séparées: p
•Première: pour transporter les commandes et leur résultat entre le client et le serveur: appelée le Canal de Commandes.
D iè l li d é i l fi hi
• Deuxième: pour transporter les listes de répertoires et les fichiers transférés eux-mêmes: appelée le Canal de données.
•
Deux modes de connexions FTP:
• Connexion FTP en mode normal
• Connexion FTP en mode passif
40
Connexion FTP en mode normal
•Côté serveur:
L C l d C d ili l 21
• Le Canal de Commandes utilise le port 21
• Le Canal de Données utilise le port 20
•
Côté client
:• utilise des ports au-dessus de 1023 pour les canaux de commande et de données
41
Connexion FTP en mode normal
Client FTP
Serveur FTP Client FTP
20 Données
21
Commandes 5150 5151
¾Le client ouvre un canal de commande vers le serveur et lui donne le 1
1
« PORT 5151 »
serveur et lui donne le second n° de port.
¾L i
2 2
3
« OK »
¾Le serveur acquitte.
¾Le serveur ouvre un 2
3
4
OK
canal de données vers le second port du client.
« OK »
¾Le client acquitte.
4
42
Connexion FTP en mode normal
• Un client alloue deux ports TCP pour lui-même, supérieur à 1023.
• Le premier port est utilisé pour ouvrir la connexion du canal de commandes vers
l i l l d PORT d FTP fi d di l
le serveur, puis lance la commande PORT de FTP afin de dire au serveur quel est le numéro du second port que le client veut utiliser pour le canal de données.
• Le serveur ouvre ensuite la connexion pour celui-ci:p
Elle se déroule donc à l’inverse des autres protocoles, qui p , q ouvrent leurs connexions du client vers le serveur
Cette ouverture inversée complique les choses pour les sites qui essayent de faire du filtrage de paquets par « début
d i l FTP
de connexion », parce que les serveurs FTP externes tenteront d’initier des connexions de données vers les clients internes en réponse aux connexions ouvertes par ces
43
clients internes en réponse aux connexions ouvertes par ces mêmes clients
Direction @ source @ Dest. Proto Port sour. Port dest. ACK=1
Connexion FTP en mode normal
Entrant Externe Interne TCP > 1023 21 ---
Sortant Interne Externe TCP 21 >1023 Oui
Sortant Interne Externe TCP 20 >1023
Mode normal t t
Sortant Interne Externe TCP 20 >1023 ---
Entrant Externe Interne TCP >1023 20 Oui
entrant
Serveur FTP Client FTP
20
D é
21
C d 5150 5151
Client FTP
LAN
Données Commandes 5150 5151
1
« PORT 5151 »
2 3
« OK »
4
44 4
« OK »
Direction @ source @ Dest. Proto Port sour. Port dest. ACK=1
Connexion FTP en mode normal
Sortant Interne Externe TCP >1023 21 ----
Entrant Externe Interne TCP 21 >1023 Oui Mode normal
sortant
Entrant Externe Interne TCP 20 >1023 ----
Sortant Interne Externe TCP >1023 20 Oui
sortant
Serveur FTP
Client FTP
20
D é
21
C d 5150 5151
Client FTP
LAN
Données Commandes 5150 5151
1
« PORT 5151 »
2 3
« OK »
4
45 4
« OK »
Connexion FTP en mode passif
•La plupart des serveurs FTP et de nombreux clients supportent un autre mode qui autorise le client à ouvrir à la fois les canaux de commandes et de données:
de données:
•Appelé «pp Mode Passif» ou «Mode PASV» (d’après la ( p commande FTP que le client envoie au serveur pour initier ce mode)
•
Si votre client et serveur FTP supportent tous deux le mode passif:
• vous pouvez l’employer à la place du mode normal
•ainsi, vous évitez de cette façon les problèmes de filtrage par début de connexion car toutes seront ouvertes de l’intérieur par le client connexion, car toutes seront ouvertes de l intérieur, par le client.
46
Connexion FTP en mode passif
Client FTP
Serveur FTP Client FTP
20 Données
21
Commandes 5150 5151
¾Le client ouvre un canal de commandes vers le serveur et lui donne le 1
1
« PASV »
serveur et lui donne le second n° de port.
¾L ll l
2 3267 2
3
« OK 3267 »
¾Le serveur alloue le port pour le canal de données et en informe le client.
2
3
¾Le client ouvre le canal de données vers le second 3
4 « OK »
port du serveur.
¾Le serveur acquitte.
4
47 q
Filtrage des paquets d’une connexion FTP en mode Passif
Direction @ source@ @ Dest.@ Proto Port sour. Port dest. ACK=1
Entrant Externe Interne TCP > 1023 >1023, 21 ---
Sortant Interne Externe TCP >1023, 21 >1023 Oui
Mode passif entrant
Serveur FTP Client FTP
LAN
20 Données
21
Commandes 5150 5151
1
« PASV » 1
2
« PASV »
« OK 3267 » 3267
3
4 OK
48
« OK »
Direction @ source @ Dest Proto Port sour Port dest ACK=1
Filtrage des paquets d’une connexion FTP en mode Passif
Direction @ source @ Dest. Proto Port sour. Port dest. ACK=1
Sortant Interne Externe TCP >1023 >1023, 21 ---
Entrant Externe Interne TCP >1023, 21 >1023 Oui
Mode passif sortant
Serveur FTP Client FTP
LAN
20 Données
21
Commandes 5150 5151
1
PASV 1
2
« PASV »
« OK 3267 » 3267
3
4
49
4 « OK »
Commandes FTP
50
Trivial File Transfert Protocol (TFTP)
51
TFTP
• TFTP est protocole de transfert de fichiers simplifiés; plus simple que FTP.
• Il a été conçu pour être implémenté dans les mémoires mortes desIl a été conçu pour être implémenté dans les mémoires mortes des systèmes sans disque comme les terminaux X et les stations de travail sans disque.
• Il n’y a aucune authentification dans TFTP: un client se connecte simplement au serveur et demande un fichier, sans préciser qui le p , p q demande.
Il ’ é é l i d’ i TFTP à
•Il n’y a en général aucune raison d’autoriser TFTP à travers votre firewall, même si vous l’utilisez en interne.
52
Caractéristiques du filtrage de paquets avec TFTP
•TFTP est un protocole UDP
• Les serveurs utilisent le port 69,
L t d li t t it é d d 1023
• Les ports des clients sont situés au-dessus de 1023.
Direction @ source @ Dest. Proto Port sour. Port dest. ACK=1 Notes
E t t E t I t UDP > 1023 69 & R êt
Entrant Externe Interne UDP > 1023 69 & Requête
TFTP entrante
Sortant Interne Externe UDP 69 >1023 & Réponse à
requête entrante
Sortant Interne Externe UDP > 1023 69 & Requête
TFTP TFTP sortante
Entrant Externe Interne UDP 69 >1023 & Réponse à
requête sortante
53
& : Les paquets UDP n’ont pas de bit ACK
Les commandes TFTP
54
Recommandation concernant TFTP
N’autorisez pas TFTP à travers votre Firewall
55
Accès par Terminal (Telnet)
56
Accès par Terminal: Telnet
• Telnet permet à un utilisateur d’accéder à distance à un shell de commande sur un autre ordinateur
commande sur un autre ordinateur.
• Telnet est supporté par la plupart des plat-formes de l’Internet (Unix, pp p p p p ( Windows).
L’ ti t l M i t h (M OS) i ’ d’i t ét d
• L’exception reste le Macintosh (MacOS), qui n’a pas d’interpréteur de commande orienté ligne auquel un utilisateur pourrait accéder, qu’il soit ou non local.
57
Accès par Terminal: Telnet
• Les clients Telnet sont aussi utilisés pour accéder à des protocoles auxquels on accède normalement par des clients dédiés.
• Par exemple: c:\>telnet machine 25pour se connecter directement au serveur SMTP sur le port 25 et y rentrer des commandes.
• Le programme telnet ne fait qu’ouvrir une connexion TCP sur le numéro de port spécifié Il n’emploie pas le protocole Telnet à moins qu’il parle à un serveur sur spécifié. Il n emploie pas le protocole Telnet, à moins qu il parle à un serveur sur le port Telnet (23).
• Cette partie du cours ne traite que l’utilisation de cleints Telnet pour accèder à des serveurs Telnet.
58
Accès par Terminal: Telnet
Serveur Telnet Telnet
sortant
Internet
Routeur extérieur
Réseau périphérique:
Client Telnet
Routeur intérieur
Réseau interne
59
Particularités du filtrage de paquets Telnet
• Telnet est un service TCP
• Les serveurs utilisent généralement le port 23 (bien qu’ils puissent employer n’importe quel autre port)
n importe quel autre port)
• Les clients Telnet utilisent des ports situés au-dessus de 1023
Direction @ source @ Dest. Proto Port sour. Port dest. ACK=1 Notes
Entrant Externe Interne TCP > 1023 23 & Session entrante,
li
client vers serveur
Sortant Interne Externe TCP 23 >1023 Oui Session entrante,
serveur vers client
Sortant Interne Externe TCP > 1023 23 & Session sortante
Sortant Interne Externe TCP > 1023 23 & Session sortante,
client vers serveur
Entrant Externe Interne TCP 23 >1023 Oui Session sortante,
serveur vers client
&: ACK est à 0 pour le premier paquet de ce type (établissement de la connexion) et passe à 1 pour les autres
60
Des recommandations concernant Telnet
¾
Restreindre le Telnet entrant autant que possible; la plupart des réseaux n’en ont que peu ou pas besoin
des réseaux n’en ont que peu ou pas besoin.
¾ L T l t t t t êt t i é i à t
¾ Le Telnet sortant peut être autorisé sans risque à travers un filtrage de paquets ou un mandataire.
¾ Si les données auxquelles on accède via Telnet sont sensibles envisagez l’emploi d’une version permettant le sensibles, envisagez l emploi d une version permettant le chiffrement .
61
Services d’administration réseau
62
Services d’administration réseau
• Les protocoles SNMP, RIP et ICMP sont employés pour administrer et maintenir des réseaux
et maintenir des réseaux
• Les outilsLes outils
Ping Ping
etetTraceroute Traceroute
utilisent ICMPutilisent ICMP63
Services d’administration réseau:
Ping
• Le programme ping vérifie si un hôte répond.
i h
• Ping génère un paquet ICMP echo request
• Le système de destination répond par un paquet ICMP echo response
• ICMP est généralement implémenté dans le noyau et c’est ce dernier qui génère le paquet echo response
dernier qui génère le paquet echo response
• Il n’existe pas de serveur ICMP dans la plupart des systèmes
• Sur certaines machines la réponse à l’écho est générée par
• Sur certaines machines, la réponse à l écho est générée par l’interface réseau elle-même et pas le système d’exploitation
• Étant donné son implémentation il est presque impossible de
• Étant donné son implémentation, il est presque impossible de désactiver les réponses à ping sur les ordinateurs eux-mêmes; le filtrage de paquets reste le seul moyen de les contrôler.
64
g p q y
Services d’administration réseau:
Ping
L’écho ICMP présente des risques: p q
• Il peut être utilisé pour des attaques par refus de service (DoS) en noyant le réseau:
Ping of Death
, etc.• Quiconque pouvant envoyer des requêtes d’écho ICMP sur votre réseau et en recevoir des réponses peutdécouvrir combien de machines y et en recevoir des réponses peut découvrir combien de machines y résident et à quelles adresses IP, ce qui améliore l’efficacité des attaques ultérieures. C’est pourquoi il faut limiter les requêtes à des machines qui ont une raison légitime de sonder votre réseau
ont une raison légitime de sonder votre réseau.
65
ICMP : format des messages
Processus d’encapsulation ICMP:
Entête ICMP Données ICMP
Message ICMP Entête IP
Entête ICMP:
TYPE: 8 bits; type de message
CODE: 8 bits; informations complémentaires
CHECKSUM (Somme de contrôle): 16 bits; champ de contrôle
C i d C d h d é i
Certains types de messages ICMP se servent du champ codepour préciser encore le contexte dans lequel ils sont émis.
66 Données ICMP:
Contenu dépendant du type et du code
Types de Messages ICMP
TYPE Message ICMP 0 Echo Reply
3 D i i U h bl
TYPE Message ICMP 13 Timestamp Request (d d d’ t ill d 3 Destination Unreachable
4 Source Quench (Limitation de source: régulation du flux)
(demande d’estampille de temps)
14 Timestamp Reply
g )
5 Redirect (change a route) 8 Echo Request
p p y 15 Information Request
(obsolete): connaître son IP au démarrage
11 Time Exceeded (TTL) 12 Parameter Problem with a
Datagram
son IP au démarrage 16 Information Reply
(obsolète) Datagram
17 Address Mask Request 18 Address Mask Reply
67
Services d’administration réseau:
Ping
Particularités du filtrage de paquets de ping:
P filt t il f t é ifi l d d t d
• Pour filtrer un paquet, il faut spécifier le code du type de message ICMP au lieu du port, TCP ou UDP, source ou destination.
• Le système de filtrage doit disposer de cette fonctionnalité de y g p filtrage de paquet ICMP
Direction @ source @ Dest. Proto Type de message
Notes message
Entrant Externe Interne ICMP 8 Ping entrant
Sortant Interne Externe ICMP 0 Réponse à ping
t t entrant
Sortant Interne Externe ICMP 8 Ping sortant
Entrant Externe Interne ICMP 0 Réponse à ping
sortant
•Les messages ICMP n’ont pas de numéro de port source ou destination; ils n’ont qu’un champ de type de message
68 de type de message.
•Les paquets ICMP n’ont pas de bit ACK
Services d’administration réseau:
traceroute
•
Traceroute
est une application qui montre la route prise par les paquets IP vers une certaine destinationvers une certaine destination.
• Traceroute: comment fonctionne?
•Traceroutemodifie le champ TTL (time to live) pour déterminer le chemin
•Traceroutemodifie le champ TTL (time to live) pour déterminer le chemin qu’un paquet prend pour atteindre la destination.
• Chaque paquet passe par un routeur, le champ TTL est décrémenté de 1.
• Quand le TTL d’un paquet est égal à 1, le paquet est détruit, et un message Q p q g , p q , g ICMP « Time exceeded » est envoyé à la source.
•Tracerouteenvoie un paquet avec un TTL égal à 1 ensuite 2 ensuite 3 et
•Tracerouteenvoie un paquet avec un TTL égal à 1, ensuite 2, ensuite 3, et ainsi de suite, jusqu’à atteindre sa destination.
69
• Ceci force chaque routeur d’envoyer des message ICMP « Time exceeded », qui sont utilisés pour identifier la route empreintée par le paquet.
Types de Messages ICMP (rappel)
TYPE Message ICMP 0 Echo Reply
3 D i i U h bl
TYPE Message ICMP 13 Timestamp Request (d d d’ t ill d 3 Destination Unreachable
4 Source Quench (Limitation de source: régulation du flux)
(demande d’estampille de temps)
14 Timestamp Reply
g )
5 Redirect (change a route) 8 Echo Request
p p y 15 Information Request
(obsolete): connaître son IP au démarrage
11 Time Exceeded (TTL) 12 Parameter Problem with a
Datagram
son IP au démarrage 16 Information Reply
(obsolète) Datagram
17 Address Mask Request 18 Address Mask Reply
70
Services d’administration réseau:
traceroute Traceroute: comment fonctionne?
Routeur 1 Routeur 2 Routeur 3
UDP TTL=1 TTL=1 Port Dest:
inutilisé ICMP
Type: 11yp IP source:
routeur 1 UDP
« TTL exceeded »
UDP TTL=1
…
71
Services d’administration réseau:
traceroute Traceroute: comment fonctionne?
Routeur 1 Routeur 2 Routeur 3
UDP TTL=2 Port Dest:
inutilisé
UDP TTL=1 Port Dest:
inutilisé inutilisé
ICMP Type: 11 inutilisé
Type: 11 IP source:
routeur 2 UDP
« TTL exceeded »
UDP TTL=1
…
72
Services d’administration réseau:
traceroute Traceroute: comment fonctionne?
Routeur 1 Routeur 2 Routeur 3
UDP TTL=3 Port Dest:
inutilisé
UDP TTL=2 Port Dest:
inutilisé
UDP TTL=1 Port Dest:
inutilisé inutilisé
ICMP Type: 11 IP inutilisé inutilisé
IP source:
routeur 3 UDP
« TTL exceeded »
TTL=1
…
73
Services d’administration réseau:
traceroute Traceroute: comment fonctionne?
Routeur 1 Routeur 2 Routeur 3
UDP TTL=4 Port Dest:
inutilisé
UDP TTL=3 Port Dest:
inutilisé
UDP TTL=2 Port Dest:
inutilisé
UDP TTL=1 Port Dest:
inutilisé inutilisé
ICMP Type: 3 IP
inutilisé inutilisé inutilisé
IP source:
destination UDP
« Port inaccessible »
TTL=1
…
74
Services d’administration réseau:
Particularités du filtrage de paquets traceroute entrant
UDP
LAN
TTL=1 Port Dest:
inutilisé ICMP
T 11
Routeur / Firewall
Type: 11 IP source:
routeur
« TTL exceeded »
ICMP Type: 3yp IP source:
destination
« Port inaccessible »
75
Services d’administration réseau:
Particularités du filtrage de paquets traceroute entrant
Direction @ source @ Dest. Proto Port source
Port dest
Type de message ICMP
Notes
Entrant Externe Interne UDP & & * Traceroute entrante
Sortant Interne Externe ICMP * * 11 « TTL exceeded »
sortant
Sortant Interne Externe ICMP * * 3 « Port inaccessible »
sortant
•*: les paquets ICMP n’ont que des champs de type de messages. Ni les paquets UDP, ni les paquets ICMP n’ont de bit ACK.
•&: Les ports source/destination UDP des paquets traceroute varient suivant les implémentations.
Ils sont généralement > 32768.
76
Services d’administration réseau:
Particularités du filtrage de paquets traceroute sortant
ICMP Type: 11 IP source:
LAN
Routeur / Firewall UDP
TTL 1
routeur 1
« TTL exceeded »
Routeur / Firewall TTL=1
Port Dest:
inutilisé ICMP
Type: 3 IP source:
destination
« Port inaccessible »
77
Services d’administration réseau:
Particularités du filtrage de paquets traceroute sortant
Direction @ source @ Dest. Proto Port source
Port dest
Type de message ICMP
Notes
Sortant Interne Externe UDP & & * Traceroute sortant
Entrant Externe Interne ICMP * * 11 « TTL exceeded »
entrant entrant
Entrant Externe Interne ICMP * * 3 « port
inaccessible»
entrant
•*: les paquets ICMP n’ont que des champs de type de messages Ni les paquets UDP ni les paquets
• : les paquets ICMP n ont que des champs de type de messages. Ni les paquets UDP, ni les paquets ICMP n’ont de bit ACK.
•&: Les ports source/destination UDP des paquets traceroute varient suivant les implémentations.
Ils sont généralement > 32768
78 Ils sont généralement > 32768.
Services d’administration réseau:
Autres Paquets ICMP
Autoriser ou bloquer:
• « echo request »
• « echo reply »
• « destination unreachable »
• « destination unreachable »
• « service unavailable »
• « time to live exceeded »
Autres types de messages seront probablement autorisés:
• « source quench »: employé par un récepteur pour dire à l’envoyeur:
ralentis un peu parce qu’il envoie les données trop vite
• « parameter problem »: un problème avec les en têtes de paquets
• « parameter problem »: un problème avec les en-têtes de paquets
79
Services d’administration réseau:
Autres Paquets ICMP
Autres types de messages ICMP seront mieux bloqués par les filtres de paquets, puisqu’ils ont la capacité de changer des informations locales aux machines internes:
p q p g
• « redirect »: à la capacité de modifier la table de routage
• Il ne faut souvent autoriser les paquets ICMP entrants que s’ils vous apportent
• Il ne faut souvent autoriser les paquets ICMP entrants que s’ils vous apportent quelque chose:
• « source quench », « parameter problem »: sont utilisés pour dire à la machine
é tt i d f i d ff t t l t l i d l t i t é
émettrice de faire des efforts, et valent la peine de les autoriser en entrée.
• Tous les types de ICMP qui indiquent qu’une connexion ne peut être effectuée:
• « destination unavailable »
• « network unavailable »
• « service unavailable »
• « service unavailable »
• « destination administratively unavailable »
• « network administratively unavailable »
80 aideront un agresseur à sonder le réseau sans qu’on en tire un grand bénéfice, et on peut les bloquer en sortie.
Services d’administration réseau:
Particularités du filtrage de paquets ICMP
La façon de gérer quelques types de messages ICMP:
Type de message
Description A Autorisé?
0 Echo reply A bloquer probablement
0 Echo reply A bloquer probablement
3 Destination unreachable A bloquer probablement 4 Source quench A autoriser probablement
5 Redirect A bloquer probablement
8 Echo request A bloquer probablement
11 Ti d d A t i b bl t
11 Time exceeded A autoriser probablement 12 Parameter problem A autoriser probablement
81
Service d’administration réseau:
Des recommandations concernant le filtrage de paquet ICMP
• Autorisez les requêtes d’écho ICMP sortantes, mais limitez les requêtes
g p q
Autorisez les requêtes d écho ICMP sortantes, mais limitez les requêtes entrantes à celles provenant de machines qui ont un besoin légitime de sonder votre réseau.
• N’Autorisez les réponses d’écho dans les deux sens.
• Autorisez tracerouteen sortie, mais limitez les requêtes entrantes à celles qui proviennent des machines qui ont un besoin légitime de sonder votre réseau, et li it l’ét d d t tili é
limitez l’étendue des ports utilisés.
• N’autorisez que les types de messages ICMP sûrs, comme indiqué plus haut.N autorisez que les types de messages ICMP sûrs, comme indiqué plus haut.
82
WWW
(World Wide Web) et HTTP (World Wide Web) et HTTP
83
WWW et HTTP
• HTTP est un service TCP.
• Les clients utilisent des ports aléatoires situés au-dessus de 1023.
• La plupart des serveurs emploient le port
80
, d’autres non.Direction @ source @ Dest. Proto Port sour. Port dest. ACK=1 Notes
Entrant Externe Interne TCP > 1023 80 & Session entrante,
client vers serveur
Sortant Interne Externe TCP 80 >1023 Oui Session entrante,
serveur vers client
S t t I t E t TCP > 1023 80 & S i t t
Sortant Interne Externe TCP > 1023 80 & Session sortante,
client vers serveur
Entrant Externe Interne TCP 80 >1023 Oui Session sortante,
serveur vers client
84