Académique Documents
Professionnel Documents
Culture Documents
1
Access Control List ACL
9
Standard IP Access Lists (1-99)
• 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 particulière d’une machine ( généralement pour remplacé A.B.C.D
0.0.0.0)
• Les bits ’1’ signifient que les ces positions de bits sont ignorés
• 11
Standard IP Access Lists (1-99)
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
9
Logique de l’ACL standard
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
Exemple 1 : autoriser un réseau et bloquer
un autre
• 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é.
Exemple 2 : refuser un ensemble de
machines
• refuse PC1 et il ya un refus implicite du reseau 192.168.11.0.
Exemple 3 : refuser uniquement une
machine
• les deux réseaux locaux attachés au routeur R1 peuvent quitter l’interface S0/0/0 à l’exception du
PC1 hôte.
Extended IP Access Lists
Extended IP Access Lists (100-199)
• 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]
9
• 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}
Le champ "protocol"
Le champ "protocol" peut avoir plusieurs valeurs :
9
Exemple :
Router(config)# access-list 112 permit tcp . . .
Les champs "source" et "destination"
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 particulière d’une machine (généralement 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 particulière d’une machine (généralement pour
remplacé A.B.C.D 0.0.0.0)
9
• exemple : Router(config)# access-list 112 permit tcp 192.168.2.1 any . . .
Le champ " operator "
Le champ "operator" peut prendre plusieurs valeurs :
9
Exemple :
Router(config)# access-list 112 permit tcp 192.168.2.1 any eq . . .
Le champ " operand "
Le champ "operand" peut prendre plusieurs valeurs :
9
Exemple :
Router(config)# access-list 112 permit tcp 192.168.2.1 any eq 25
Exemple 1 : ACL étendu
• 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
Exemple 1 : solution
• 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
Exemple 2 : ACL étendu
• 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
Exemple 2 : solution
• On peut l’appliquer aussi dans l’interface in dans ce cas (ce qui est mieux)
Exemples divers
Tout d’abord : Masque générique
• 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
Solution
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
1) 192.168.10.32 à 192.168.10.63
et 192.168.10.96 à 192.168.10.127
Masque générique chemin inverse
• 192.168.16.32 0.0.0.127
• 172.250.16.32 0.0.0.31
• 192.168.10.128 0.0.0.95
Exemple 2
• 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 :
Exemple 3
• 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 :