Vous êtes sur la page 1sur 42

ACLs

(Access Control Lists)


(Listes de Contrôle d’Access)

© Mohammed EL HARFAOUI - elharfaoui@gmail.com


4-1

Introduction
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Les ACLs sont des règles fixant les conditions de filtrage qui seront appliquées
au trafic circulant via une interface d’un routeur.
 Les ACL filtrent le trafic réseau en commandant aux interfaces d’un routeur
d’acheminer ou de bloquer des paquets qui y transitent.
 Le routeur examine chaque paquet afin de déterminer s’il doit l’acheminer ou le
rejeter en fonction des conditions précisées dans la liste de contrôle d’accès.
2

1
Introduction
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

Les ACLs servent à :


 Contrôler le flux de trafic en déterminant le type de trafic qui sera acheminé ou
bloqué au niveau des interfaces du routeur.
 Améliorer les performances réseau en limitant certain trafic tel que la vidéo,
par exemple.
 Fournir un niveau de sécurité d’accès réseau de base :
 Filtrer certains hôtes afin de leur accorder ou de leur refuser l’accès à une
section (subnet) de réseau.
 Accorder ou refuser aux utilisateurs la permission d’accéder à certains
types de services, tels que FTP ou HTTP.
3

Parcours des instructions


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

Une ACL est un groupe d’instructions séquentielles qui définissent si les


paquets sont acceptés ou rejetés au niveau des interfaces d’entrée et de
sortie.

OUI Autoriser
Correspond Autoriser ou Transmission à
Paquet
à la règle ? refuser ? la file d’attente

NON Refuser

D’autres NON
règles explicites
existes ?

OUI

Passer à la règle
suivante
4

2
ACL et Routage
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Les ACLs appliquées à une interface d’entrée (inbound) filtre les pacquets
avant les decisions de routage (avant d’être routés vers l’interface de sortie).
 Les ACLs appliquées à une interface de sortie (outbound) filtre les packets
après les decisions de routage.

Principes fondamentaux
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 ACL (Access Control List)  Filtrage


 Liste séquentielle d’instructions  Autoriser ou interdire
 Filtrage des paquets  En entrée ou en sortie
 1 ACL maximum par Protocole , par Interface et par Direction

 Autrement dit : pour un protocole donné, une interface d’un routeur peut avoir
au maximum deux ACLs:
 Une ACL en entrée de l’interface (inbound traffic)
 Une ACL en sortie de l’interface (outbound traffic)

3
Principes fondamentaux
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Exemple du schéma ci-dessous : avec deux interfaces et trois protocole, le


routeur peut avoir un total de 12 ACL distinctes.

 Les instructions d’une ACL sont toujours parcourues séquentiellement de la


première à la dernière.
Si une correspondance est trouvée, la suite des instructions de l’ACL
(s’elles y on a ) est ignorée.
Si aucune correspondance n’est trouvée te trafic est rejeté
 L’instruction implicite (deny) est utilisée

Critères spécifiables dans une ACL


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Les critères de filtrage qui peuvent être spécifiés dans une ACL sont:

Adresses IP sources

 Adresses IP de destination

 Numéros de ports (couche de Transport)

Protocoles utilisés (couches de Transport et Application)

4
Types d’ACLs
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 ACL standard
 ACL étendue (Extended)

Frame Header
(Ethernet, HDLC, Packet Segment
(IP header) header Data
PPP,…)
(TCP or UDP)

Port
Number
Protocol
Source
Address
Permit
Règles de test or
Destination
Address
Deny

Types d’ACLs
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 ACL standard

Se base uniquement sur les adresses IP sources

 Numérotée (Identifiable par un numéro entre 1-99 ou 1300-1999)

Nommée (Identifiable par un nom alphanumérique)

 ACL étendue (Extended ACL)

 Se base sur les adresses IP sources et destination, les type de


protocoles et les numéros de ports sources et destination.

Numérotée (Identifiable par un numéro entre 100-199 ou 2000-2699)

Nommée (Identifiable par un nom alphanumérique)


10

5
Numéros d’ACL
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

Plage de numéros Type d’ACL associé

1 à 99
Standard pour IP
1300 à 1999

100 à 199
Etendue pour IP
2000 à 2699

600 à 699 AppleTalk


800 à 899 Standard pour IPX
900 à 999 Etendue pour IPX
1000 à 1099 IPX/SAP

11

© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

ACLs Standards
- Numérotées
- Nommées
12

6
Configuration des ACLs numérotées
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 La configuration se fait en 2 étapes :


1. Création de l’ACL
Router(config)# access-list aclNnumber {permit | deny}
{test conditions}

2. Application de l’ACL sur une interface ou sur une line tty (line)

Router(config-if)# { protocol } access-group aclNnumber {in|out}

Router(config-line)# access-group aclNnumber {in|out}

access-group : pour les interfaces (interface)


access-class : pour les consoles tty (line)
13

ACL standard nommée: Exemple


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

R1(config)# access-list 50 deny 172.16.1.1


R1(config)# access-list 50 permit 172.16.0.0 0.0.255.255

Nombre compris entre 1 et 99, Pas de masque


Refuser Masque
ou entre 1300 et1999 (IOS recent) générique : par
ou générique
c’est une ACL standard défaut 0.0.0.0
autoriser

 La première ligne refuse l’accès à l’adresse IP 172.16.1.1

 La deuxième ligne autorise l’accès à toute une plage d’adresses qui est
définie par le masque générique (wildcard mask) 0.0.255.255

Cela signifie que tout le subnet 172.16.0.0/16 est autorisé


14

7
Configuration des ACLs nommées
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 La configuration se fait en 2 étapes :


1. Création de l’ACL
Router(config)# ip access-list standard ACL_NAME

Router(config-std-nacl)# [permit | deny | remark] { source


[Source-wildcard]} [log]

2. Application de l’ACL sur une interface


Router(config-if)#{ protocol } access-group ACL_NAME {in | out}

Router(config-line)#{ protocol } access-class ACL_NAME {in | out}

access-group : pour les interfaces (interface)


access-class : pour les consoles tty (line)
15

Vérification d’une ACL


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

16

8
Masque générique (Wildcard Mask)
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Un masque générique est un masque de 32 bits divisés en quatre octets


(Notation décimale pointée) et qui jumelé à une adresse IP.

 Intérêt

 Identifier des plages d’adresses et spécifie ce qui doit être autorisé/refusé

 Signification

 "0" binaire = vérifiez la correspondance (doit correspondre)

 "1" binaire = Ignorez la correspondance (peut varier)

17

Comment utiliser les bits du masque générique


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

Position des bits dans l’octet


128 64 32 16 8 4 2 1

Examples
check all address bits
0 0 0 0 0 0 0 0 = (match all)

0 0 1 1 1 1 1 1 = ignore last 6 address bits

0 0 0 0 1 1 1 1 = ignore last 4 address bits

1 1 1 1 1 1 0 0 = check last 2 address bits

do not check address


1 1 1 1 1 1 1 1 = (ignore bits in octet)

 0 signifie "vérifier le bit correspondant" (match)


 1 signifie "ignorer le bit correspondant" (don’t care)
18

9
Comment utiliser les bits du masque générique
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Par rapport à un masque de sous-réseau


 Inverse binaire
 En notation décimale pointée = Complément à 255 du masque de sous-réseau
correspondant

Masque de 255.255.224.0 1111 1111.1111 1111.1110 000.0000 0000


sous-réseau

Masque 0.0.31.255 0000 0000.0000 0000.0001 111.1111 1111


générique

255 . 255 . 255 . 255


- 255 . 255 . 224 . 0  Masque de sous-résea u
= 0 . 0 . 31 . 255  Masque gé nérique

19

Comment utiliser les bits du masque générique


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Condition ACL: Verifier les subnets IP 172.30.16.0/24 à


172.30.31.0/24
 0 : doit correspondre (match)
 1 : peut varier (don’t care)
8 7 6 5 4 3 2 1

Network .host
16 = 0 0 0 1 0 0 0 0
17 = 0 0 0 1 0 0 0 1 172.30.16. 0
18 = 0 0 0 1 0 0 1 0 172.30.31. 0
… = ……………………………………………….
31 = 0 0 0 1 1 1 1 1

Wildcard mask : 0 0 0 0 1 1 1 1
|<---- match ----->|<----- don’t care --->|

 Adresse et masque générique : 172.30.16.0 0.0.15.255 20

10
Masque générique : Ecritures spécifiques
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Keyword any : Wildcard =255.255.255.255  IP =0.0.0.0


 any remplace 255.255.255.255 dans le masque générique (et 0.0.0.0
dans l’adresse IP).
Any IP address 0.0.0.0

Wildcard mask= 255.255.255.255 (ignorer tout)


 Keyword host : remplace 0.0.0.0 dans le masque générique.
host a.b.c.d  Wildcard 0.0.0.0
 Wildcard mask= 0.0.0.0  1 seule adresse
Exemple : une adresse IP de hôte, :172.30.16.29

Wildcard mask= 0.0.0.0 (verifier tout les bits)


21

Masque générique : Exemples


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Condition ACL: Vérifier les subnets IP 192.168.32.0/24 à


192.168.39.0/24 32 = 0 0 1 0 0 0 0 0
33 = 0 0 1 0 0 0 0 1
34 = 0 0 1 0 0 1 0 0
35 = 0 0 1 0 0 0 1 1
36 = 0 0 1 0 0 1 0 0
37 = 0 0 1 0 0 1 0 1
38 = 0 0 1 0 0 1 1 0
39 = 0 0 1 0 0 1 1 1
M M M M M D D D

 Puisque les cinq premiers bits correspondent, les huit réseaux peuvent être
récapitulés en un réseau (192.168.32.0/21 ou 192.168.32.0 255.255.248.0).
 le masque générique correspondant est : 0.0.7.255 (255.255. 255.255 - 255.255.248.0)
 access-list 15 permit ip 192.168.32.0 0.0.7.255

22

11
Masque générique : Exemples
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Condition ACL: Vérifier les subnets IP 192.168.146.0/24 à


192.168.149.0/24

146 = 1 0 0 1 0 0 1 0
147 = 1 0 0 1 0 0 1 1
148 = 1 0 0 1 0 1 0 0
149 = 1 0 0 1 0 1 0 1
M M M M M D D D

 Puisque les cinq premiers bits correspondent, les huit réseaux peuvent être
récapitulés en un réseau 192.168.144.0/21.
 Ce réseau récapitulé, 192.168.144.0/21, couvre une plage de réseaux
comprise entre 192.168.144.0 et 192.168.151.0. Parmi ces derniers, les
réseaux 192.168.144.0, 192.168.145.0, 192.168.150.0 et 192.168.151.0 ne
sont pas dans la liste des quatre réseaux donnée.
23

Masque générique : Exemples


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)
 Afin de couvrir les réseaux spécifiques en question, on a besoin d'un minimum de deux réseaux
récapitulés.
 Les quatre réseaux donnés peuvent être récapitulés dans ces deux réseaux :
Pour les réseaux 192.168.146.0/24 146 = 1 0 0 1 0 0 1 0
et 192.168.147.0/24, tous les bits 147 = 1 0 0 1 0 0 1 1
correspondent à l'exception du 148 = 1 0 0 1 0 1 0 0
dernier, qui est à « ignorer ». 149 = 1 0 0 1 0 1 0 1
Il peuvent être écrit comme M M M M M D D D
192.168.146.0/23 (ou 192.168.146.0 255.255.254.0).
Pour les réseaux 192.168.148.0/24 et 192.168.149.0/24, tous les bits correspondent à l'exception du
dernier, qui est à « ignorer ». Il peuvent être écrit comme 192.168.148.0/23 (ou 192.168.148.0
255.255.254.0).
192.168.146.0/23 et 192.168.146.0/23  masque générique 0.0.1.255
(255.255. 255.255 - 255.255.254.0)

 access-list 10 permit 192.168.146.0 0.0.1.255


 access-list 10 permit 192.168.148.0 0.0.1.255

24

12
Précautions à prendre et Règles de base à respecter
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Les règles de base suivantes doivent être respectées lors de la création et de


l’application des ACLs :
 Une ACL par protocole, par interface et par direction.
 Les ACLs standard doivent être appliquées le plus près possible de la
destination.
 Les ACLs étendues doivent être appliquées le plus près possible de la
source.
 Pour faire référence à une interface d’entrée ou de sortie, placez-vous à
l’intérieur du routeur en regardant l'interface en question.
 Les instructions sont traitées séquentiellement jusqu’à la fin de liste
Si une correspondance est trouvée, la suite des instructions de l’ACL est ignorée.

Si aucune correspondance n’est trouvée, l’instruction implicite (deny) est appliquée.
25

Précautions à prendre et Règles de base à respecter (suite)


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Il existe un refus implicite deny any à la fin de toutes les ACLs. Cela
n’apparaît pas dans la liste de configuration.
Vous devez avoir au moins une instruction d'autorisation dans une ACL
ou tout le trafic sera bloqué.
Les entrées d’une ACL doivent filtrer les paquets dans l’ordre, du plus
spécifique au plus général. Les hôtes spécifiques doivent être
rejetés/autorisés en premier, tandis que les filtres généraux viennent en
dernier.
La condition de correspondance est examinée en premier. L’acceptation
ou le refus est examiné UNIQUEMENT si la condition est vraie.
Ne travaillez jamais (interactivement) avec une ACL qui est appliquée de
manière active.
Utilisez des commentaires indiquant la logique, puis ajoutez les instructions
correspondantes. 26

13
Précautions à prendre et Règles de base à respecter (suite)
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

La commande no access-list x supprime toute la liste.


Soyez particulièrement attentif lorsque vous supprimez une liste d’accès.
 Si la liste d’accès est appliquée à une interface de production et que vous la
supprimez, selon la version de l’IOS, une instruction deny any peut être appliquée par
défaut à l’interface et tout le trafic peut être arrêté.
Les filtres de sortie ne concernent pas le trafic généré par le routeur local.
Une liste d’accès IP envoie un message ICMP ‘Host Unreachable’ (hôte
inaccessible) à l’émetteur du paquet lorsque celui ci est rejeté.
Testez vos listes de contrôle d’accès sur un réseau d’essai avant de les
implémenter sur un réseau de production.
Les ACL doivent être crées conformément à la stratégie de sécurité
de l’entreprise.

27

ACL Standard numérotée : Exemple 1


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

172.16.3.0/24 172.16.0.0/16 172.16.4.0/24

S0
172.16.4.13
E0 E1

Router(config)# access-list 1 permit 172.16.0.0 0.0.255.255


(implicit deny all - not visible in the list)
(access-list 1 deny 0.0.0.0 255.255.255.255)

Router(config)# interface Ethernet 0


Router(config-if)# ip access-group 1 out
Router(config)# interface Ethernet 1
Router(config-if)# ip access-group 1 out

 Permettre uniquement le trafic du réseau 172.16.0.0 .Autre traffic est bloqué.


28

14
ACL Standard numérotée : Exemple 2
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

172.16.3.0 172.16.0.0/16 172.16.4.0

S0
172.16.4.13
E0 E1

Router(config)# access-list 1 deny 172.16.4.13 0.0.0.0


(Or Router(config)# access-list 1 deny host 172.16.4.13)
Router(config)# access-list 1 permit 0.0.0.0 255.255.255.255
(implicit deny all)
(access-list 1 deny 0.0.0.0 255.255.255.255)

Router(config)# interface ethernet 0


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

 Rejeter le trafic du hôte 172.16.4.13 et permettre tout autre traffic d’être


acheminer via l’interface Ethernet 0 29

ACL Standard numérotée : Exemple 3


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

172.16.3.0/24 172.16.0.0/16 172.16.4.0/24

S0
172.16.4.13
E0 E1

Router(config)# access-list 1 deny 172.16.4.0 0.0.0.255


Router(config)# access-list 1 permit any

(implicit deny all - not visible in the list)


(access-list 1 deny 0.0.0.0 255.255.255.255)

Router(config)# interface Ethernet 0


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

 Rejeter le trafic initié à partir du réseau 172.16.4.0/24 et permettre tout autre


trafic 30

15
ACL Standrd nommée : Exemple
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

R1(config)# ip access-list standard NO_ACCESS


R1(config-std-nacl)# deny host 192.168.11.10
R1(config-std-nacl)# permit 192.168.11.0 0.0.0.255
R1(config-std-nacl)# Interface Fa0/0
R1(config-if)# ip access-group NO_ACCESS out

31

Question1
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Créez une liste d'accès qui refuse l'accès à tous les hôtes du réseau
172.16.1.0/24. Autorise l'accès à tous les autres hôtes. Choisissez une
interface et appliquez-lui la liste d'accès dans la direction sortante.

Router(config)# access-list 2 deny 172.16.1.0 0.0.0.255


Router(config)# access-list 2 permit any
Router(config)# Interface ethernet 0
Router(config-if)# ip access-group 2 out
32

16
Question2
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Créez une liste d'accès qui refuse l'accès aux hôtes du réseau 172.16.0.0/16.
Autorise l'accès à l’hôte 172.16.1.1. Choisissez une interface et appliquez-lui
la liste d'accès dans la direction sortante.

Router(config)# access-list 2 deny 172.16.0.0 0.0.255.255


Router(config)# access-list 2 permit host 172.16.1.1
Router(config)# Interface ethernet 0
Router(config-if)# ip access-group 2 out
33

Question3
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Créez une liste d'accès qui permet l'accès uniquement au réseau 172.0.0.0/8.
Choisissez une interface et appliquez-lui la liste d'accès dans la direction
sortante.

Router(config)# access-list 2 permit 172.0.0.0 0.255.255.255


Router(config)# Interface ethernet 0
Router(config-if)# ip access-group 2 out

34

17
Modification d’une ACL standard: 1er option
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Pour faire une modification


1. Copier/coller dans un éditeur
de texte (‘show run’)
2. Effectuer les modifications
voulues
3. Supprimer l’ACL du routeur
(‘no access-list’)
4. Insérer (coller) les nouvelles
instructions dans le
routeur (recréer l’ACL)
Note: Pour supprimer complètement une ACL:
1) Désactiver l’ACL de l’interface ( no ip access-group (ou no access-class ) ).
2) Désactiver l’ACL du routeur avec no access-list numACL (ou no ip access-list standard
nameACL).
35

Modification d’une ACL standard: 2eme option


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Pour modifier une ACL


1. Afficher le contenu de l’ACL (à travers ‘show access-list’)
2. Effectuer les modifications voulues

3. Supprimer les entrées de l’ACL


via la commande ‘no’ et le
numéro de séquence de
l’entrée.
4. Insérer les nouvelles
instructions dans l’ACL à
l’emplacement voulue.

36

18
Pratique1
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Autoriser uniquement le sous-réseau 192.168.10.0/24 à sortir

R1(config)# access-list 1 permit 192.168.10.0 0.0.0.255


R1(config)# Interface s0/0/0
R1(config)# ip access-group 1 out

37

Pratique2
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Refuser l’accès de sortir à l’hôte 192.168.10.10/24

R1(config)# access-list 1 deny 192.168.10.10 0.0.0.0


R1(config)# access-list 1 permit 192.168.10.0 0.0.0.255
R1(config)# Interface s0/0/0
R1(config -if)# ip access-group 1 out 38

19
Pratique3
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Refuser l’accès de sortir uniquement au sous-réseau 192.168.10.0/24

R1(config)# access-list 1 deny 192.168.10.0 0.0.0.255


R1(config)# access-list 1 permit 192.168. 0.0 0.0.255.255
R1(config)# Interface s0/0/0
R1(config -if)# ip access-group 1 out

39

Contrôle d’accès pour les lignes VTY (telnet & ssh)


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 La commande access-class limite les connexions entrantes et sortantes entre


une ligne VTY donnée et les adresses IP dans une ACL.

 Remarque 1: Les ACLs (standard et étendues) s’appliquent aux paquets


traversant un routeur. Elles ne sont pas destinées à bloquer les paquets créés
sur le routeur. Par défaut, une ACL étendue pour le trafic Telnet sortant
n’empêche pas le routeur de lancer des sessions Telnet.
 Remarque 2: Seules les ACLs numérotées peuvent être appliquées aux lignes
VTY. 40

20
Contrôle d’accès pour les lignes VTY (telnet & ssh)
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Autoriser le réseau 192.168.10.0 à accéder aux lignes VTY 0 - 4. L’accès aux


lignes VTY est refusé à tous les autres réseaux.

Router(config)# access-list 1 permit 192.168.10.0 0.0.0.255


R1(config)# access-list 1 deny any
R1(config)# line vty 0 4
R1(config-line)# login
R1(config-line)# password cisco
R1(config-line)# access-class 1 in

41

© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

ACLs Etendues
- Numérotées
- Nommées
42

21
ACL étendue
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Filtrage plus précis qu’une ACL standard  Plus de contrôle


 ACL basée sur l’adresse source, l’adresse de destination, le protocole et
le numéro de port.

 Syntaxe simplifiée (Pour une ACL numérotée)

Router(config)# access-list NumACL { permit | deny | remark }


protocol source source-wildcard [operator operand] [port
portNumber] destination destination-wildcard [operator
operand] [port portNumber] [ established ] [log]

43

Syntaxe simplifiée (Pour une ACL numérotée)


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)
 NumACL : un nombre entre 100 et 199 ou 2000 et 2699.
 permit | deny : autoriser ou bloquer les adresses respectant les critères spécifiés.
 remark : Utilisée pour entrer une remarque (Par exemple indique si cette entrée autorise ou
bloque l’adresse spécifiée).
 protocol : Nom ou numéro d’un protocole Internet. Les mots clés communs comprennent icmp, ip,
tcp ou udp. Pour faire correspondre un protocole Internet quelconque (y compris les protocoles
ICMP, TCP et UDP), utilisez le mot clé ip.
 source: Réseau ou hôte d’où provient le paquet.
 source-wildcard: Bits de masque générique à appliquer à la source.
 destination: Réseau ou hôte auquel le paquet est envoyé.
 destination -wildcard: Bits de masque générique à appliquer à la destination.
 operator: (Facultatif) Compare le port source et/ou le port de destination. Les opérateurs éventuels
sont les suivants : lt (inférieur à), gt (supérieur à), eq (égal), neq (non égal) et range (plage
inclusive)
 port:(Facultatif) Numéro décimal ou nom d’un port TCP ou UDP.
 established: (Facultatif) Pour le protocole TCP uniquement : indique une connexion établie.
 log :(Facultatif) Déclenche la journalisation de l’ACL lorsqu’une correspondance est trouvée
44

22
ACL étendue – Syntaxe
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

Router(config)# access-list access-list-number [dynamic dynamic-name

[timeout minutes]] {deny | permit} protocol source source-wildcard

destination destination-wildcard [precedence precedence] [tos tos] [log |

log-input] [time-range timer-ange-name] icmp-type icmp-code icmp-

message igmp-type [operator operand] [port port number or name]

[established] [fragments]

45

ACL étendue : Remarques


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 protocole
 IP, TCP, UDP, ICMP, IGMP, GRE, IGRP, EIGRP, OSPF, etc. Ou numéro
de protocole (de 0 à 255)
 opérateur/opérande opérateur Signification
eq Egal à
Pour TCP et UDP uniquement neq Différent de
Compare les numéros de ports lt Inférieur à
Pour la source et/ou la destination gt Supérieur à
Entre (nécessite 2
range
numéros de port)
 established
Uniquement avec TCP
Correspond aux sessions TCP déjà établies

46

23
ACL étendue : Exemple d’utilisation
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

eq : equal
Protocole Source Destination Port
1. access-list 101 permit ip host 10.0.0.1 any
2. access-list 101 deny ip 10.0.0.0 0.0.0.255 any
3. access-list 101 deny tcp host 172.16.6.1 192.168.1.0 0.0.0.255 eq 23
4. access-list 101 permit tcp 172.16.6.0 0.0.0.255 any eq telnet

1. autorise tout le trafic IP venant de l’hôte 10.0.0.1, quelle que soit la destination
2. refuse le trafic venant du réseau 10.0.0.0/24, quelle que soit la destination
3. interdit à l’hôte 172.16.6.1 (only) l’accès telnet au réseau 192.168.1.0/24
4. autorise tous les hôtes du réseau 172.16.6.0/24 à utiliser telnet vers tous les
réseaux

47

ACL étendue : Exemple d’utilisation


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

48

24
ACL étendue : Génération des numéros de port
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

49

ACL étendue : Exemple d’utilisation 1


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

R1(config)# ip access-list 101 permit tcp 192.168.10.0 0.0.0.255 any eq 80


R1(config)# ip access-list 101 permit tcp 192.168.10.0 0.0.0.255 any eq 443
R1(config)# ip access-list 102 permit tcp any 192.168.10.0 0.0.0.255 established
 L’ACL 101 autorise des requêtes TCP depuis le réseau 192.168.10.0 vers les
ports 80 et 443 (HTTP & HTTPS)
 L’ACL 102 autorise des réponses HTTP & HTTPS établies. 50

25
ACL étendue : Application de l’ACL
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

R1(config)# interface S0/0/0


R1(config-if)# ip access-group 101 out
R1(config-if)# ip access-group 102 in
51

ACL étendue – Exemple 2


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

172.16.0.0
172.16.3.0 172.16.4.0

S0
172.16.4.13
E0 E1

Router(config)# access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21


Router(config)# access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20
Router(config)# access-list 101 permit ip 172.16.4.0 0.0.0.255 0.0.0.0 255.255.255.255
(implicit deny all)
(Router(config)# access-list 101 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.25

Router(config-if)# interface ethernet 0


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

 Interdire le trafic FTP originaire du réseau 172.16.4.0 vers le réseau 172.16.3.0 via
l’interface E0
 Autoriser tout autre trafic 52

26
ACL étendue – Exemple 3
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

Non-
172.16.3.0 172.16.4.0
172.16.0.0

S0
172.16.4.13
E0 E1

Router(config)# access-list 102 deny tcp 172.16.4.0 0.0.0.255 any eq 23


Router(config)# access-list 102 permit ip any any

(implicit deny all)


(Router(config)# access-list 102 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255)

Router(config-if)# interface ethernet 0


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

 Interdire uniquement Telnet à partir 172.16.4.0 out of E0


 Permettre tout autre trafic 53

ACL étendue – Exemple 4


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

Non-
172.16.3.0 172.16.4.0
172.16.0.0

S0
172.16.4.13
E0 E1

Router(config)# access-list access-list 103 permit tcp 172.16.4.0 0.0.0.255 any eq 25

(implicit deny all)


(Router(config)# access-list 103 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255)

Router(config-if)# interface ethernet 0


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

 Autoriser uniquement le trafic SMTP (mail) de sortir via E0


 Tout autre trafic est interdit 54

27
Vérification des ACLs
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 show access-lists

Affiche toutes les ACL du routeur

 show access-lists {name | number}

Affiche une ACL en particulier

 show running-config

Affiche toutes les ACL et à quelles interfaces elles sont appliquées

55

Vérification des ACLs


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Suppression d’une ACL (en mode de configuration globale)


 no access-list {numéro | nom}
 Visualiser les ACL qui sont appliquées a cette interface, et leur sens
d’application:
show ip interface [{type} {numéro}]

Lab_A#show ip interface FastEthernet 0/0


FastEthernet0/0 is up, line protocol is up
Internet address is 20.0.0.1/8
Broadcast address is 255.255.255.255
Address determined by setup command
MTU is 1500 bytes
Helper address is not set
Directed broadcast forwarding is disabled
Outgoing access list is 101
Inbound access list is 1
--More--

56

28
Vérification des ACLs
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

Router#show ip interface
Ethernet 0 is up, line protocol is up
Internet address is 192.54.222.2, subnet mask is 255.255.255.0
Broadcast address is 255.255.255.255
Address determined by non-volatile memory
MTU is 1500 bytes
Helper address is 192.52.71.4
Secondary address 131.192.115.2, subnet mask 255.255.255.0
Outgoing access list 10 is set
Inbound access list is not set
Proxy ARP is enabled
Security level is default
Split horizon is enabled
ICMP redirects are always sent
ICMP unreachables are always sent
ICMP mask replies are never sent
IP fast switching is enabled
Gateway Discovery is disabled
IP accounting is disabled
TCP/IP header compression is disabled
Probe proxy name replies are disabled
Router#

57

Vérification des ACLs


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

Router#show {protocol} access-list {access-list number}

Router#show access-lists {access-list number}

Router> show access-lists


Standard IP access list 19
permit 172.16.19.0
deny 0.0.0.0, wildcard bits 255.255.255.255
Standard IP access list 49
permit 172.16.31.0, wildcard bits 0.0.0.255
permit 172.16.194.0, wildcard bits 0.0.0.255
permit 172.16.195.0, wildcard bits 0.0.0.255
permit 172.16.196.0, wildcard bits 0.0.0.255
permit 172.16.197.0, wildcard bits 0.0.0.255
Extended IP access list 101
permit tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 23
Type code access list 201
permit 0x6001 0x0000
…..
Router>
58

29
Vérification des ACLs
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

59

Pratique 5
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Refuser le trafic FTP pour depuis le réseau 164.168.12.0/24 vers le réseau


164.168.11.0/24.

Router(config)# access-list 101 deny tcp 164.168.12.0 0.0.0.255 164.168.11.0 0.0.0.255 eq 21


Router(config)# access-list 101 deny tcp 164.168.12.0 0.0.0.255 164.168.11.0 0.0.0.255 eq 20
Router(config)# access-list 101 permit ip any any
R1(config)# interface Fa0/0
R1(config-if)# ip access-group 101 in 60

30
ACL nommée étendue
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Identification de l’ACL par une chaîne alphanumérique au lieu d’un numéro


 Intérêt
Identifier facilement une ACL avec un nom au lieu d’un numéro
Possibilité de supprimer ou ajouter une instruction particulière
Pas besoin de tout supprimer comme avec les ACL numérotées
 Mode de configuration d’ACL nommée étendue
(config-ext-nacl)#
 Exemple:

61

Dépannage d’erreurs relatives aux ACLs


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

62

31
Dépannage d’erreurs relatives aux ACLs
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

63

Dépannage d’erreurs relatives aux ACLs


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

64

32
Dépannage d’erreurs relatives aux ACLs
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

65

Dépannage d’erreurs relatives aux ACLs


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

66

33
ACLs Complexes
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Les listes de contrôle d’accès standard et étendues peuvent être la base d’ACL
complexes, qui fournissent des fonctions supplémentaires.
 Le tableau suivant résume les trois catégories d’ACLs complexes.
ACLs complexes Description
ACL dynamiques (lock-and- Les utilisateurs sont bloqués tant qu’ils
key ACLs) n’utilisent pas Telnet/SSH pour se connecter
et s’authentifier au routeur.
Une fois authentifiés une entrée est ajouté
dynamiquement à l’ACL.
ACL réflexives (Reflexive Autorisent le trafic sortant et limitent le trafic
ACLs) entrant uniquement en réponse aux
sessions provenant du routeur lui-même.
ACL basées sur le temps Autorisent le contrôle d’accès en fonction du
(Time-based ACLs) temps (heure, jour et semaine).
67

ACLs dynamiques
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Les ACL classiques utilisent l’adresse IP pour déterminer quelles machines


communiquent, mais il n’y a pas de vérification de l’identité de l’utilisateur lui-
même
 Pour les ACLs dynamiques l’utilisateur doit d’abord s’identifier via:
Un nom d’utilisateur
Un mot de passe
 Avec les ACLs dynamiques , on peut spécifier quel utilisateur peut accéder à
des ressources (définies en @IP et n° de port), en spécifiant depuis quels
hôtes il a le droit de le faire.
 On peut ainsi donner un accès dynamique à un utilisateur à travers un firewall,
sans compromettre les autres restrictions de sécurité.

68

34
ACLs dynamiques
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Une ACL dynamique ou ACL Lock-and-key (verrou) utilise :


Une connexion Telnet (ou ssh)
L’authentification locale ou distante (TACACS+ ou RADIUS)
Une ACL étendue.
 La configuration d’une ACL dynamique comprend donc:
La création d’un compte utilisateur
La création et l’application d’une ACL étendue qui bloque le trafic spécifié
traversant le routeur (le trafic qu’on veut bloquer).
 Les utilisateurs souhaitant traverser le routeur sont bloqués par cette ACL tant
qu’ils ne se connectent pas au routeur via Telnet et tant qu’ils n’ont pas été
authentifiés.

69

ACL dynamiques
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Une fois les utilisateurs authentifiés:


 La connexion Telnet est abandonnée (fermée).
Une entrée unique est ajoutée dynamiquement à l’ACL étendue existante
 Le trafic est alors autorisé pour une durée déterminée (possibilité de limiter la
durée de l’autorisation de connexion).

70

35
ACLs dynamiques : Exemple
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Autoriser un administrateur sur PC1 à obtenir un accès momentané au réseau


(192.168.30.0 /24) via le routeur R3.
 Pour faciliter cette tâche, une ACL dynamique est configurée sur l’interface
série S0/0/1 du routeur R3.

S0/0/1

71

ACL dynamique : Exemple avec authentification locale


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

définition d’un compte utilisateur avec mot de passe

R3(config)# username admin password cisco


Extanded ACL : autorisation du telnet sur l’interface du routeur ayant cette @IP

R3(config)#access-list 101 permit tcp any host 10.2.2.2 eq telnet


R3(config)#access-list 101 dynamic MyDynamicACL timeout 15 permit ip
192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255
entrée dynamique qui autorise tout le trafic IP
à partir du réseau 192.168.10.0/24 vers le réseau
R3(config)# interface s0/0/1 192.168.30.0/24
R3(config-if)# ip address 10.2.2.2 255.255.255.252
R3(config-if)# no shut
R3(config-if)# ip access-group 101 in

R3(config)# line vty 0 4


R3(config-line)# login local
R3(config-line)# autocommand access-enable timeout 5
commande d’activation de la partie dynamique de l’ACL :
• elle sera ajoutée après un telnet authentifié
l’authentification se fera en local • elle restera dans l’ACL pendant 5 minutes
72

36
ACL dynamique : Démo
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

73

ACLs réflexives
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Le filtrage par ACL réflexive consiste à générer une ACL dynamiquement en


fonction du trafic sortant afin d’autoriser temporairement le retour.
Les ACLs réflexives filtrent les paquets IP en fonction des informations de
session des couches supérieures.
Elle permettent d’autoriser un certain trafic, seulement s’il a été initié
depuis l’intérieur du réseau.
Fonctionnement similaire à celui de l’option established ( qui n’est valable
que pour le protocole TCP).
Les ACL réflexives permettent ce type de filtrage aussi bien avec le
protocole TCP, qu’avec le protocole UDP et ICMP.
 Le routeur examine le trafic sortant. Lorsqu’il détecte une nouvelle connexion,
il ajoute une entrée à une ACL provisoire pour autoriser les réponses.
74

37
ACLs réflexives
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Les ACL réflexives comprennent uniquement des entrées provisoires qui sont
supprimées automatiquement à la clôture d’une session.

 Ces entrées sont créées automatiquement au lancement d’une nouvelle


session IP (par exemple, avec un paquet sortant).

 Les ACL réflexives ne s’appliquent pas directement à une interface. Elles sont
imbriquées dans une ACL IP étendue nommée appliquée à cette interface.

 Les ACL réflexives peuvent être utilisées avec d’autres ACLs statiques
(étendues et standards).

75

restrictions à l’utilisation des ACL réflexives


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Il y a deux restrictions à l’utilisation des ACL réflexives :


Elles doivent être définies et utilisées uniquement dans une ACL IP
étendue nommée.
Ne fonctionne pas avec les applications qui changent de numéro de port
en cours de session (par exemple FTP en mode actif).
 Le mode par défaut de FTP est le mode actif, dans ce mode :
 Le client ouvre une connexion de contrôle sur le port 21 du
serveur.
 Quand le client demande des données le serveur utilise son port 20
pour lui envoyer.
 Le mode actif du protocole FTP est donc incompatible avec les
ACLs réflexives.

76

38
ACLs réflexives : Exemple
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)
 Exemple où on a besoin d’une ACL réflexive autorisant
le trafic ICMP entrant et sortant, tout en autorisant uniquement
le trafic TCP initié à l’intérieur du réseau.
Tout autre trafic est refusé. L’ACL réflexive est
appliquée (via une ACL étendue) à
l’interface de sortie du
routeur R2.

77

ACL Réflexive: Démo


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

78

39
ACL Réflexive: Démo
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

!! Forcer le routeur R2 à tracker (pister) le trafic IP autorisé


!! et initié depuis l’intérieur
!! Ce trafic sera pris en charge l’ACL dynamique ALLTRAFFIC
R2(config)#ip access-list extended OUTBOUNDFILTERS
R2(config-ext-nacl)# permit ip 164.168.20.0 0.0.0.255 any
reflect ALLTRAFFIC
!! Créer une autre ACL étendue qui va évaluer le trafic de
!! retour(Reflected traffic) pour voir s’il a été initié de
!! l’intérieur.
R2(config)#ip access-list extended INBOUNDFILTERS
R2(config-ext-nacl)# evaluate ALLTRAFFIC
!! Définir un ‘timeout’ globale
R2(config)# ip reflexive-list timeout 180

!! Appliquer les deux ACLs sur l’interface série du routeur

R2(config)# interface fa0/0


R2(config-if)# ip access-group OUTBOUNDFILTERS out
R2(config-if)# ip access-group INBOUNDFILTERS in 79

ACL à caractère temporel (Time-based ACL)


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Ce genre d’ACL permet d’interdire certains trafics pendant certaines périodes

 L’implémentation des ACLs basées sur le temps nécessite la création d’une


plage horaire, qui définit certains moments de la journée et de la semaine.

 Identifiez la plage horaire par un nom (qui doit, de préférable, désigner un rôle
ou une fonction).

 La référence de temps utilisée est l’horloge interne du routeur, il est dans ce


cas intéressant d’utiliser le protocole NTP (Network Time Protocol ) pour bien
synchroniser tous les équipements.

80

40
Exemple d’ ACL basée sur le temps
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 Dans cet exemple, 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.
Etape 1. Définissez la plage horaire pour implémenter une ACL et appelez-la
EVERYOTHERDAY.
Etape 2. Appliquez la plage horaire à l’ACL.
Etape 3. Appliquez l’ACL à l’interface.

81

Autres utilisations des ACL


© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

 En plus de leur fonction de filtrage des paquets (acceptation ou rejet), les ACL
sont utilisées notamment :

Dans la modification des règles NAT (Traffic will be Nated or Not)

Dans la mise en œuvre des serveurs AAA

Dans la mise en œuvre des VPN

Dans la mise en œuvre de la Qualité de Service (QoS).

Etc.

82

41
Common Reserved TCP/UDP Port Numbers
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

Decimal Keyword Description


20 FTP DATA File Transfer Protocol (data)
21 FTP File Transfer Protocol
22 SSH Secure Shell
23 TELNET Terminal Connection
25 SMTP Simple Mail Transfer Protocol
53 DNS Domain Name Server
69 TFTP Trivial File Transfer Protocol
80 HTTP Hyper Text Transfer Protocol
110 POP3 Post Office Protocol v3
123 NTP Network Time Protocol
161 SNMP Simple Network Management Protocol
443 HTTPS Secure HTTP
520 RIP Routing Information Protocol

83

TD
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

84

42

Vous aimerez peut-être aussi