• Aucun résultat trouvé

Le Filtrage de Paquets &

N/A
N/A
Protected

Academic year: 2022

Partager "Le Filtrage de Paquets &"

Copied!
21
0
0

Texte intégral

(1)

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

(2)

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

(3)

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

Pé i hé i Réseau Périphérique

192.168.22.35

Routeur Interne

Réseau Privé

Web/80 TCP

12

(4)

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

(5)

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

(6)

Processus de développement d’un ensemble de filtres (suite) Internet

Client SMTP TCP 1234 192 168 3 4

1

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

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 5150

10 1 2 3

5

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?

(7)

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 25

10 1 2 3

7

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

(8)

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.

(9)

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

(10)

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

(11)

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 »

(12)

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 »

(13)

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

(14)

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

(15)

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

(16)

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

etet

Traceroute Traceroute

utilisent ICMPutilisent ICMP

63

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

(17)

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

(18)

Services d’administration réseau:

traceroute

Traceroute

est une application qui montre la route prise par les paquets IP vers une certaine destination

vers 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

(19)

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

(20)

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.

(21)

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

Références

Documents relatifs

– pour émettre vers le groupe, l'adresse de destination et le numéro du port dans le DatagramPacket doivent être ceux du groupe.. MulticastSocket en

Ce message aura la forme suivante : adresse_ip port\n où adresse_ip est une chaînes de caractère représentant une adresse IP et port est une chaîne de caractères représentant

Un filtre de paquets peut être installé sur une machine pour la protéger des attaques de l’Internet ou des machines du réseau local si elle est particulièrement sensible.. Mais

Afficher un message : rapatrie sur le PC le texte contenu dans la mémoire du panneau à l’adresse indiquée dans le champ « Numéro du message » et l’affiche dans le

d) Dans cette attaque ‘LAND’, si le numéro de port du destinataire était 80, quelle serait la valeur du champ ‘numéro de port source’ ?..

iptables -A INPUT -p ICMP --icmp-type 8 -j ACCEPT iptables-A INPUT -p ICMP --icmp-type 11 -j ACCEPT groupe de règles No 3 (quelle différence avec le groupe 2 ?):.. iptables

iptables -A INPUT -p ICMP --icmp-type 8 -j ACCEPT iptables-A INPUT -p ICMP --icmp-type 11 -j ACCEPT groupe de règles No 3 (quelle différence avec le groupe 2 ?):?. iptables

iptables -A INPUT -p ICMP --icmp-type 8 -j ACCEPT iptables-A INPUT -p ICMP --icmp-type 11 -j ACCEPT groupe de règles No 3 (quelle différence avec le groupe 2 ?):?. iptables