Uploaded by Van Ntsilouat

ACL

advertisement
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.
Paquet
Correspond
à la règle ?
OUI
NON
Autoriser ou
refuser ?
Autoriser
Transmission à
la file d’attente
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.
5
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)
6
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
7
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)
8
4
Types d’ACLs
© Mohammed EL HARFAOUI (elharfaoui@gmail.com)

ACL standard

ACL étendue (Extended)
Frame Header
(Ethernet, HDLC,
PPP,…)
Packet
(IP header)
Segment
header
(TCP or UDP)
Data
Port
Number
Protocol
Source
Address
Règles de test
Destination
Address
Permit
or
Deny
9
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
1300 à 1999
Standard pour IP
100 à 199
2000 à 2699
Etendue pour IP
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)#
R1(config)#
access-list 50 deny 172.16.1.1
access-list 50 permit 172.16.0.0 0.0.255.255
Nombre compris entre 1 et 99,
ou entre 1300 et1999 (IOS recent)
c’est une ACL standard
Refuser
ou
autoriser
Pas de masque
générique : par
défaut 0.0.0.0
Masque
générique

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)
128
64
32
16
8
4
2
Position des bits dans l’octet
1
Examples
0
0
0
0
0
0
0
0
=
check all address bits
(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
1
1
1
1
1
1
1
1
=
do not check address
(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
sous-réseau
255.255.224.0
1111 1111.1111 1111.1110 000.0000 0000
Masque
générique
0.0.31.255
0000 0000.0000 0000.0001 111.1111 1111
255 . 255 . 255 . 255
- 255 . 255 . 224 . 0
= 0
.
. 31 . 255
0
 Masque de sous-résea u
 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
16
=
0
0
0
1
0
0
0
0
17
=
0
0
0
1
0
0
0
1
18
=
0
0
0
1
0
0
1
0
…
=
31
=
0
0
0
1
1
1
1
1
Wildcard mask :
0
0
0
0
1
1
1
1
Network .host
172.30.16. 0
172.30.31. 0
……………………………………………….
|<---- 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).
0.0.0.0
Any IP address
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
34
35
36
37
38
39

=
=
=
=
=
=
=
0
0
0
0
0
0
0
M
0
0
0
0
0
0
0
M
1
1
1
1
1
1
1
M
0
0
0
0
0
0
0
M
0
0
0
0
0
0
0
M
0
1
0
1
1
1
1
D
0
0
1
0
0
1
1
D
1
0
1
0
1
0
1
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 =
147 =
148 =
149 =


1
1
1
1
M
0
0
0
0
M
0
0
0
0
M
1
1
1
1
M
0
0
0
0
M
0
0
1
1
D
1
1
0
0
D
0
1
0
1
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 :
1
0
0
1
Pour les réseaux 192.168.146.0/24 146 =
1
0
0
1
et 192.168.147.0/24, tous les bits 147 =
148 =
1
0
0
1
correspondent à l'exception du
dernier, qui est à « ignorer ».
149 =
1
0
0
1
Il peuvent être écrit comme
M M M
M
192.168.146.0/23 (ou 192.168.146.0 255.255.254.0).
0
0
0
0
M
0
0
1
1
D
1
1
0
0
D
0
1
0
1
D
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
S0
E0
E1
172.16.4.0/24
172.16.4.13
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.0.0/16
172.16.3.0
172.16.4.0
S0
E0
172.16.4.13
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
E0
E1
172.16.4.13
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)
2)
Désactiver l’ACL de l’interface ( no ip access-group (ou no access-class ) ).
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 icmpmessage 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
Pour TCP et UDP uniquement
Compare les numéros de ports
Pour la source et/ou la destination

opérateur
Signification
eq
Egal à
neq
Différent de
lt
Inférieur à
gt
Supérieur à
range
Entre (nécessite 2
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.3.0
172.16.0.0
S0
E0
E1
172.16.4.0
172.16.4.13
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)
172.16.3.0
Non172.16.0.0
S0
E0
E1
172.16.4.0
172.16.4.13
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)
172.16.3.0
Non172.16.0.0
S0
E0
E1
172.16.4.0
172.16.4.13
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
60
R1(config-if)# ip access-group 101 in
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
ACL dynamiques (lock-andkey ACLs)
ACL réflexives (Reflexive
ACLs)
ACL basées sur le temps
(Time-based ACLs)
Description
Les utilisateurs sont bloqués tant qu’ils
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.
Autorisent le trafic sortant et limitent le trafic
entrant uniquement en réponse aux
sessions provenant du routeur lui-même.
Autorisent le contrôle d’accès en fonction du
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 luimê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
192.168.30.0/24
R3(config)# interface s0/0/1
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
l’authentification se fera en local
commande d’activation de la partie dynamique de l’ACL :
• elle sera ajoutée après un telnet authentifié
• 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
Download