Audit et Sécurité Informatique

Page 1 sur 69Lecteur de document UniversityLib

Audit et Sécurité Informatique

Firewalls, Network Security, Filtering Principles · course

Audit et Sécurité Informatique

Chap 2: Firewall et Règles de Filtrage ACL

Rhouma Rhouma

https://sites.google.com/site/rhoouma

Ecole superieure d’Economie Numerique

3ème année Licence

1 / 69

Plan

1 Principe de filtrage

2 Principales Architectures avec Firewall

3

Types de Filtrages et ACL

4 Standard IP access list

5 Extended IP access list

6

Listes d’accès complexes

7 Exemples divers

2 / 69

Plan

Principe de filtrage

1 Principe de filtrage

2 Principales Architectures avec Firewall

3

Types de Filtrages et ACL

4 Standard IP access list

5 Extended IP access list

6

Listes d’accès complexes

7 Exemples divers

3 / 69

Firewall

Principe de filtrage

4 / 69

Principe de filtrage

Principe de filtrage

Le filtrage est un des outils de base de la securite. IL EST

NECESSAIRE !

Filtrage optimiste : PERMIT ALL

Tout est permis a part quelques services (ports)

Facile a installer et a maintenir : Seulement quelques regles a gerer

Securite faible : Ne tient pas compte des nouveaux services

pouvant etre ouvert.

Filtrage pessimiste : DENY ALL

Rejet systematique

Exception : services specifiques sur machines specifiques. Ex :

Autorisations explicites pour les services HTTP, SMTP, POP3,..

Plus difficile a installer et a maintenir

Securite forte : Les nouveaux services doivent etre exmplictement

declarés

Prendre en compte les connexions entrantes et les connexions

sortantes

5 / 69

Principe du filtrage des paquets

Principe de filtrage

Le filtrage se fait en analysant les entetes IP, TCP et UDP

on définit une règle de filtrage en considérant :

@IP source

@IP destination

Port source

Port destination

Protocole encapsulé (ICMP, UDP, TCP,...)

Flag ACK (de TCP)

Interface d’accès

Sens du trafic filtré

à chaque règle est associé une action :

laisser passer le packet OU

bloquer (détruire) le paquet

Attention à l’ordre des règles : La première qui correspond est

celle sélectionnée (First Matching, First Applied !)

6 / 69

Difference entre firewall et routeur

Principe de filtrage

Un firewall ne fait pas de "IP FORWARDING"

Un firewall peut faire du routage au niveau applicatif : Existence

de mandataires (proxy) HTTP, POP3, etc . . .

Les mandataires peuvent être intelligent : Filtrage par le contenu

(informations)

Implantation du firewall se fait par :

Un matériel spécialisé (Cisco PIX, ...)

Une machine simple avec plusieurs cartes réseaux + logiciels

Firewall 1 (Checkpoint), Raptor, Shorewall (Linux), ...

7 / 69

Principales Architectures avec Firewall

Plan

1 Principe de filtrage

2 Principales Architectures avec Firewall

3

Types de Filtrages et ACL

4 Standard IP access list

5 Extended IP access list

6

Listes d’accès complexes

7 Exemples divers

8 / 69

Principales Architectures avec Firewall

Architecture avec Firewall sans routeur

On donne des adresses IP privées aux machines du réseau. ex :

10.1.1.1, 10.1.1.2. Donc les clients ne peuvent pas dialoguer

directement avec l’extérieur

les serveurs ont aussi des adresses publiques

nécessicité de Passage par des mandataires internes (proxy web,

ftp, smtp, pop)

Reste une solution limitée

9 / 69

Principales Architectures avec Firewall

Architecture avec Firewall et routeur

Modele avec Firewall et routage

Le firewall est la seule machine visible de l’exterieur

Le firewall effectue le controle d’acces

Le routeur effectue le routage (translation d’adresse) (cid:55)→ NAT

10 / 69

Principales Architectures avec Firewall

Architecture avec Firewall et double routeurs

Un routeur pour les connexions entrantes

Un routeur pour les connexions sortantes

Le firewall contrôle les accès entrants et sortants

11 / 69

Principales Architectures avec Firewall

firewall et zone DMZ

architecture DMZ : découpage du réseau interne en 2 zones

isolées

serveurs accessibles de l’extérieur situés en zone démilitarisée

clients inaccessibles de l’extérieur situés en zone militarisée

deux configurations possibles :

utiliser deux routeurs avec le firewall

utiliser un roiteur à 3 pattes avec le firewall

12 / 69

Principales Architectures avec Firewall

Firewall et zone démilitarisée : 2 routeurs (simple +

sécurisée)

13 / 69

Principales Architectures avec Firewall

Firewall et zone démilitarisée : Routeur à 3 pattes

(économique)

14 / 69

Principales Architectures avec Firewall

Firewall, VLAN et zone démilitarisée

15 / 69

Plan

Types de Filtrages et ACL

1 Principe de filtrage

2 Principales Architectures avec Firewall

3

Types de Filtrages et ACL

4 Standard IP access list

5 Extended IP access list

6

Listes d’accès complexes

7 Exemples divers

16 / 69

Types de filtrage

Types de Filtrages et ACL

Filtrage sans état : Stateless

filtrage de chaque packet et le comparer avec une liste de règles

préconfigurés (ACL)

implémenté sur les routeurs et les systèmes d’exploitation

Filtrage à état : Statefull

tracer les connexions et les sessions ds des tables d’états internes

Publicité

au firewall

décider en fonction des états des connexions

l’application des règles est possible sans lecture de ACL à chaque

fois (les paquets d’une connexion actives seront acceptés)

Filtrage applicatif (firewall Proxy)

réalisé au niveau de la couche application

permet d’extraire les données du protocole applicatif

chaque protocole est filtré par un processus dédié

17 / 69

Processus de développement des filtres

Types de Filtrages et ACL

définitions des régles de filtrage

utiliser le max des critères (@IP, port, ACK, etc)

Pour chaque service interne et externe

définir les règles pour autoriser les utilisateurs internes à accéder à

des services externes

définir les règles pour autoriser les utilisateurs externes à accéder

à des serveurs ds le réseau interne

Pour un service à autoriser

accepter le flux dans les deux sens (client -> serveur et serveur ->

client)

Pour un service à bloquer

il suffit de bloquer le flux du client->serveur

18 / 69

Exemple de règle de filtrage

Types de Filtrages et ACL

Autoriser l’extérieur à accéder au service Web sur le réseau

périphérique

19 / 69

Processus de développement des filtres

Types de Filtrages et ACL

Soit la politique de sécurité :

Accepter HTTP en entrée et en sortie et rien d’autre

20 / 69

Processus de développement des filtres

Types de Filtrages et ACL

21 / 69

Access Control List ACL

Types de Filtrages et ACL

une ACL doit etre associée à une interface du filtre routeur

interface in : paquets entrants avant routage ds l’interface du

routeur

interface out : paquets sortant après routage à l’interface du routeur

22 / 69

Listes de contrôle d’accès entrantes

Types de Filtrages et ACL

23 / 69

Listes de contrôle d’accès sortantes

Types de Filtrages et ACL

24 / 69

Positionnement des ACL

Types de Filtrages et ACL

Les règles de base sont les suivantes :

Placez les listes de contrôle d’accès étendues le plus près

possible de la source du trafic refusé. Ainsi, le trafic indésirable

est filtré sans traverser l’infrastructure réseau.

Étant donné que les listes de contrôle d’accès standard ne

précisent pas les adresses de destination, placez-les le plus près

possible de la destination.

25 / 69

Positionnement des ACL standard

Types de Filtrages et ACL

l’administrateur souhaite empêcher l’accès du trafic provenant du réseau 192.168.10.0/24

au réseau 192.168.30.0/24.

Une ACL sur l’interface de sortie de R1 l’empêche d’envoyer le trafic vers toute autre

destination.

La solution consiste à placer une ACL standard sur l’interface d’entrée de R3 pour arrêter

tout trafic provenant de l’adresse source 192.168.10.0/24.

26 / 69

Positionnement des ACL etendues

Types de Filtrages et ACL

on souhaite refuser l’accès du trafic Telnet et FTP depuis le réseau Onze au réseau

192.168.30.0/24. Les autres types de trafic doivent être autorisés à quitter le réseau Dix.

Une ACL étendue sur R3 pourrait bloquer Telnet et FTP sur le réseau Onze. Mais cette

solution autorise le passage du trafic indésirable sur le réseau, pour le bloquer uniquement

une fois arrivé à destination. Cette situation affecte les performances réseau globales.

on peut utiliser une ACL étendue sortante, qui précise des adresses source et de

destination (Dix et Trente respectivement) et qui dit « Le trafic Telnet et FTP du réseau

Onze n’est pas autorisé vers le réseau Trente ». Placez cette liste de contrôle d’accès

étendue sur le port S0/0/0 sortant de R1. L’inconvénient de ce choix est que le trafic du

réseau Dix sera également soumis à un traitement par l’ACL, bien que le trafic Telnet et

FTP soit autorisé.

Le mieux est par conséquent de vous rapprocher de la source et de placer une liste de

contrôle d’accès étendue sur l’interface d’entrée Fa0/2 de R1. Ainsi, les paquets du réseau

Dix n’accèdent pas à R1. En d’autres termes, ils ne traversent pas le réseau Onze et

n’accèdent pas au routeur R2 ou R3.

27 / 69

Positionnement des ACL etendues

Types de Filtrages et ACL

28 / 69

Plan

Standard IP access list

1 Principe de filtrage

2 Principales Architectures avec Firewall

3

Types de Filtrages et ACL

4 Standard IP access list

5 Extended IP access list

6

Listes d’accès complexes

7 Exemples divers

29 / 69

Standard IP Access Lists (1-99)

Standard IP access list

Filtrage en se basant sur l’@ IP source uniquement

se placent près de la destination

syntaxe

création de l’ACL :

Router(config)# access-list num-list {deny|permit} source [wilcard

mask][log]

Associer l’ACL à une interface du routeur :

Router(config)# interface [port-du-routeur]

Router(config-if)# ip access-group num-list {in/out}

30 / 69

Standard IP Access Lists (1-99)

Standard IP access list

Le champ source :

A.B.C.D : @IP réseau ou sous-réseau (interpretation faite avec le

wilcard mask)

any : n’importe quel hôte (pour remplacer 0.0.0.0 255.255.255.255

Host A.B.C.D : adresse particuliere d’une machine ( generalment

pour remplacé A.B.C.D 0.0.0.0)

Le champ Wilcard mask : 32 bits

Les bits ’0’ signifient que les ces positions de bits doivent etre

vérifiés (match)

Les bits ’1’ signifient que les ces positions de bits sont ignorés

Router(config)# access-list 14 deny 192.168.16.0 0.0.0.255 (tous les hôtes)

Router(config)# access-list 14 deny 192.168.16.0 0.0.0.127 (la 1ere moitié

des hôtes)

Router(config)# access-list 14 deny 192.168.16.128 0.0.0.127 (la 2eme

moitié des hôtes)

31 / 69

Standard IP Access Lists (1-99)

Standard IP access list

Exemple :

Permettre l’acheminement du trafic du réseau 192.168.1.0 vers

Internet et vers le réseau 172.16.0.0.

Router(config)# access-list 11 permit 192.168.1.0 0.0.0.255

Router(config)# int S0

Router(config-if)# ip access-group 11 out

Router(config)# int E1

Router(config-if)# ip access-group 11 out

32 / 69

Logique de l’ACL standard

Standard IP access list

access-list 2 deny 192.168.10.1

access-list 2 permit 192.168.10.0 0.0.0.255

access-list 2 deny 192.168.0.0 0.0.255.255

access-list 2 permit 192.0.0.0 0.255.255.255

33 / 69

exemple 1 : autoriser un réseau et bloquer un autre

Standard IP access list

autorise uniquement le transfert du trafic du réseau 192.168.10.0 vers S0/0/0.

Le trafic provenant du réseau 192.168.11.0 est bloqué.

34 / 69

exemple 2 : refuser un ensemble de machines

Standard IP access list

refuse PC1 et il ya un refus implicite du reseau 192.168.11.0.

Publicité

35 / 69

exemple 3 : refuser uniquement une machine

Standard IP access list

les deux réseaux locaux attachés au routeur R1 peuvent quitter

l’interface S0/0/0 à l’exception du PC1 hôte.

36 / 69

Plan

Extended IP access list

1 Principe de filtrage

2 Principales Architectures avec Firewall

3

Types de Filtrages et ACL

4 Standard IP access list

5 Extended IP access list

6

Listes d’accès complexes

7 Exemples divers

37 / 69

Extended IP access list

Extended IP access list

Filtrage en se basant sur :

@IP source et @IP destination

Port source et port destination (filtrage par service)

Type de protocole de transport

Se placent près de la source

Syntaxe :

création de la liste d’accès :

Router(config)# access-list num-list-access {deny|permit} protocol

source [source-mask] [operator operand] destination

[destination-mask] [operator operand] [established]

Associer la liste d’accès à une interface du routeur filtre :

Router(config)# interface [port-du-routeur]

Router(config-if)# ip access-group num-list {in/out}

38 / 69

Le champ "protocol"

Extended IP access list

Le champ "protocol" peut avoir plusieurs valeurs :

Exemple :

Router(config)# access-list 112 permit tcp . . .

39 / 69

Les champs "source" et "destination"

Extended IP access list

Source :

A.B.C.D : @IP réseau ou sous-réseau (interpretation faite avec le

masque générique)

any : n’importe quel hôte (pour remplacer 0.0.0.0 255.255.255.255

Host A.B.C.D : adresse particuliere d’une machine ( generalment

pour remplacé A.B.C.D 0.0.0.0)

exemple :

Router(config)# access-list 112 permit tcp 192.168.2.1 . . .

Destination :

A.B.C.D : @IP réseau ou sous-réseau (interpretation faite avec le

masque générique)

any : n’importe quel hôte (pour remplacer 0.0.0.0 255.255.255.255

Host A.B.C.D : adresse particuliere d’une machine ( generalment

pour remplacé A.B.C.D 0.0.0.0)

exemple :

Router(config)# access-list 112 permit tcp 192.168.2.1 any . . .

40 / 69

Le champ "operator"

Extended IP access list

Le champ "operator" peut prendre plusieurs valeurs :

Exemple :

Router(config)# access-list 112 permit tcp 192.168.2.1 any eq . . .

41 / 69

Le champ "operand"

Extended IP access list

Le champ "operand" peut prendre plusieurs valeurs :

Exemple :

Router(config)# access-list 112 permit tcp 192.168.2.1 any eq 25

42 / 69

exemple ACL etendu

Extended IP access list

Refuser FTP de 192.168.11.0 à destination du sous-réseau

192.168.10.0 et autoriser le reste.

FTP utilise les ports 21 et 20

43 / 69

Solution

Extended IP access list

on pourrait faire autrement en utilisant les noms des ports au lieu

de leurs numeros :

access-list 114 permit tcp 192.168.20.0 0.0.0.255 any eq ftp

access-list 114 permit tcp 192.168.20.0 0.0.0.255 any eq ftp-data

44 / 69

autre exemple ACL etendu

Extended IP access list

Refuser Telnet du 192.168.11.0 à destination du sous-réseau

192.168.10.0 et autoriser le reste.

Telnet utilise num de port 23

45 / 69

Solution

Extended IP access list

On peut l’appliquer aussi dans l’interface in dans ce cas (ce qui

est mieux)

46 / 69

Plan

Listes d’accès complexes

1 Principe de filtrage

2 Principales Architectures avec Firewall

3

Types de Filtrages et ACL

4 Standard IP access list

5 Extended IP access list

6

Listes d’accès complexes

7 Exemples divers

47 / 69

Liste d’accès basé sur le temps

Listes d’accès complexes

une connexion Telnet est autorisée depuis le réseau intérieur au

réseau extérieur les lundis, mercredis et vendredis pendant les heures

ouvrables.

48 / 69

Listes d’accès complexes

Définir la plage horaire pour implémenter une ACL et appeler-la

EVERYOTHERDAY, par exemple.

Appliquez la plage horaire à la liste de contrôle d’accès.

Appliquez la liste de contrôle d’accès à l’interface.

49 / 69

Plan

Exemples divers

1 Principe de filtrage

2 Principales Architectures avec Firewall

3

Types de Filtrages et ACL

4 Standard IP access list

5 Extended IP access list

6

Listes d’accès complexes

7 Exemples divers

50 / 69

Tout d’abord : Masque générique

Exemples divers

Donnez l’ensemble des adresses IP concernées par les notations

suivantes :

1 192.168.10.0 0.0.0.255

2 172.16.0.0 0.0.255.255

3 10.0.0.0 0.255.255.255

4 192.168.50.1 0.0.0.254

5 192.168.0.0 0.0.254.255

6 192.168.10.61 0.0.0.95

51 / 69

Solution

Exemples divers

1 de 192.168.10.0 à 192.168.10.255

2 de 172.16.0.0 à 172.16.255.255

3 de 10.0.0.0 à 10.255.255.255

4

toutes les machines impaires du réseau 192.168.50.0/24

5 192.168.0.0 à 192.168.0.255

et 192.168.2.0 à 192.168.2.255

et 192.168.4.0 à 192.168.4.255

et . . . . . .

et 192.168.250.0 à 192.168.250.255

et 192.168.252.0 à 192.168.252.255

et 192.168.254.0 à 192.168.254.255

6 192.168.10.32 à 192.168.10.63

et 192.168.10.96 à 192.168.10.127

Publicité

52 / 69

Masque générique chemin inverse

Exemples divers

Trouvez les notations "masque générique" qui correspondent aux

réseaux suivants :

1 192.168.16.0 à 192.168.16.127

2 172.250.16.32 à 172.250.16.63

3 192.168.10.128 à 192.168.10.159 et 192.168.10.192 à

192.168.10.223

53 / 69

Solution

Exemples divers

192.168.16.32 0.0.0.127

172.250.16.32 0.0.0.31

192.168.10.128 0.0.0.95

54 / 69

Exemple 2

Exemples divers

A quoi sert cette ACL ?

Proposez une modification pour qu’elle produise effectivement

l’effet attendu

55 / 69

Solution

Exemples divers

cette ACL est fausse, elle interdit en fait tout le trafic sortant de E0

(c’est-à-dire vers le réseau 172.16.3.0/24. L’idée de

l’administrateur était de n’interdire que le trafic qui vient du

serveur 172.16.4.13

il faut ajouter : access-list 1 permit ip any any

donc l’ACL correcte est la suivante :

56 / 69

Exemple 3

Exemples divers

Meme réseau avec l’ACL suivante

A quoi sert cette ACL ?

Pourquoi est-il utile de filtrer le port 21 et le port 20 ?

Trouvez une ACL standard qui produit le même effet

57 / 69

Solution

Exemples divers

elle empêche les machines du réseau de droite d’utiliser ftp sur le

réseau de gauche. Il faut remarquer que cette ACL aurait pu

avantageusement être placée en entrée de l’interface E1. (in de

E1)

il faut filtrer les deux ports car l’application ftp les utilise tous les

deux (21 : contrôle ; 20 : données)

impossible, car les ACLs standards ne permettent pas de spécifier

un numéro de port

58 / 69

Exemple 4

Exemples divers

un autre réseau et une autre ACL :

Quel est l’effet de cette ACL ?

En devinant l’intention de l’administrateur, proposez une ACL

correcte

59 / 69

Solution

Exemples divers

elle interdit tout car : si le paquet est à destination du port 21, il est

refusé par la première ligne, si le paquet est à destination du port

80, il est refusé par la deuxième ligne. Et on arrivera jamais à la

dernière ligne

On devine que l’administrateur voulait interdire tout, sauf les ports

80 et 21. Il aurait dû écrire :

60 / 69

Exemple5

Exemples divers

Autoriser la navigation web http et securisée (https) du réseau

192.168.10.0

61 / 69

Solution

Exemples divers

L’ACL 103 s’applique au trafic provenant du réseau 192.168.10.0 ;

l’ACL 104 s’applique au trafic à destination du réseau 192.168.10.0.

L’ACL 103 autorise le trafic en provenance de toute adresse sur le réseau 192.168.10.0 à

accéder à n’importe quelle destination, à condition que le trafic soit transféré vers les ports

80 (HTTP) et 443 (HTTPS).

La liste de contrôle d’accès 104 procède ainsi en bloquant tout trafic entrant, à l’exception

des connexions établies. HTTP établit des connexions en commençant par la demande

initiale avant de passer aux échanges de messages ACK, FIN et SYN.

Ce paramètre autorise des réponses au trafic provenant du réseau 192.168.10.0 /24 pour

un retour entrant sur s0/0/0. Une correspondance survient si les bits ACK ou RST

(réinitialisation) du datagramme TCP sont activés, ce qui indique que le paquet appartient

à une connexion existante. Sans paramètre established dans l’instruction de la liste de

contrôle d’accès, les clients peuvent envoyer le trafic vers un serveur Web mais ils ne

peuvent pas le recevoir.

62 / 69

suite solution exemple 5

Exemples divers

le routeur R1 comprend deux interfaces. Il comprend un port série

S0/0/0 et un port Fast Ethernet Fa0/0.

Le trafic Internet entrant accède à l’interface S0/0/0 mais quitte

l’interface Fa0/0 à destination de PC1.

Cet exemple applique la liste de contrôle d’accès à l’interface

série dans les deux sens.

63 / 69

Exemple 6

Exemples divers

Analyser le réseau suivant et les erreurs qui découlent de mauvaises configurations des

ACLs :

Erreur : L’hôte 192.168.10.10 n’a établi aucune connectivité avec 192.168.30.12.

64 / 69

Solution

Exemples divers

Consultez l’ordre des instructions de la liste de contrôle d’accès.

L’hôte 192.168.10.10 n’a établi aucune connectivité avec

192.168.30.12 à cause de l’ordre de la règle 10 dans la liste de

contrôle d’accès.

Sachant que le routeur traite les listes de contrôle d’accès de haut

en bas, l’instruction 10 refuse l’hôte 192.168.10.10, donc

l’instruction 20 n’est pas traitée.

Les instructions 10 et 20 doivent être inversées.

La dernière ligne autorise tout autre trafic non TCP correspondant

au protocole IP (ICMP, UDP et ainsi de suite).

65 / 69

Exemple 7

Exemples divers

Erreur : Le réseau 192.168.10.0 /24 ne peut pas utiliser TFTP

pour se connecter au réseau 192.168.30.0 /24.

66 / 69

Solution

Exemples divers

Le réseau 192.168.10.0 /24 ne peut pas utiliser TFTP pour se

connecter au réseau 192.168.30.0 /24 car TFTP utilise le

protocole de transport UDP. L’instruction 30 dans la liste de

contrôle d’accès 120 autorise tout autre trafic TCP. Sachant que

TFTP utilise UDP, il est refusé implicitement. L’instruction 30 doit

être ip any any.

Cette liste de contrôle d’accès fonctionne qu’elle soit appliquée à

Fa0/0 (routeur R1), à S0/0/1 (routeur R3), ou à S0/0/0 (routeur

R2) dans le sens entrant. Néanmoins, conformément à la règle

voulant que les listes de contrôle d’accès étendues soient placées

le plus près de la source, le meilleur emplacement est sur Fa0/0

(routeur R1) car tout trafic indésirable y est filtré sans traverser

l’infrastructure réseau.

67 / 69

Exemple 8

Exemples divers

3) Erreur : Le réseau 192.168.10.0 /24 peut utiliser Telnet pour se

connecter à 192.168.30.0 /24 alors que cette connexion doit être

interdite.

68 / 69

Solution

Exemples divers

Le réseau 192.168.10.0/24 peut utiliser Telnet pour se connecter

au réseau 192.168.30.0/24 car le numéro du port Telnet dans

l’instruction 10 de la liste de contrôle d’accès 130 est mal placé.

L’instruction 10 refuse actuellement toute source avec un numéro

de port égal à Telnet qui essaie d’établir une connexion à une

adresse IP.

Si vous souhaitez refuser le trafic Telnet entrant sur S0, refusez le

numéro de port de destination équivalent à Telnet, par exemple

deny tcp any any eq telnet.

69 / 69