Jours 7 – Liste de Contrôle d’Accès (ACL : Access Control List)
1. ACLs
Une liste d’accès est un ensemble d’instructions basées sur des protocoles de couche
3 et de couches supérieures pour contrôler le trafic.
La configuration des ACLs IPv4 et des ACLs IPv6 sont similaires mais aussi très
différentes.
Cette fonctionnalité Cisco IOS est utile pour :
Les fonctions de pare-feu
Le marquage du trafic, QoS
Les configurations NAT
Le contrôle des logs
Le contrôle des accès aux consoles virtuelles (VTY)
Le contrôle des informations de routage
Le contrôle du trafic SNMP, …
1.1. Deux types d’ACLs (IPv4)
Les deux types d’ACLs se distinguent en fonction des critères utilisés :
Une liste simple (standard) et l’autre plus complexe (étendue).
Standard : uniquement adresse IPv4 source
Étendue :
o protocole IPv4, ICMPv4, TCP, UDP, ESP, AH, … ou IPv6 et supérieurs
o origine et destination
o ports ou types de messages
Les ACLs standard n’existent plus en IPv6.
Liste d’accès standard
Router(config)#access-list numéro-liste-accès {deny|permit} adresse-source [masque-source] [log]
Liste d’accès étendue IPv4
Router(config)#access-list numéro-liste-accès {deny|permit} protocole adresse-source masque-
source [opérateur port] adresse-destination masque-destination [opérateur port] [log]
Case J142V, OCH | Brazzaville - 86, avenue Barthelemy BOGANDA Immeuble Migitel | Pointe-Noire
WEB : [Link] - Email : congo@[Link] - Tél : 00242 226 150 357
Jours 7 – Liste de Contrôle d’Accès (ACL : Access Control List)
Où protocole (IPv4) peut être :
<0-255> An IP protocol number
ahp Authentication Header Protocol
eigrp Cisco’s EIGRP routing protocol
esp Encapsulation Security Payload
gre Cisco’s GRE tunneling
icmp Internet Control Message Protocol
igmp Internet Gateway Message Protocol
ip Any Internet Protocol
ipinip IP in IP tunneling
ospf OSPF routing protocol
tcp Transmission Control Protocol
udp User Datagram Protocol
Où l’opérateur peut prendre les valeurs suivantes :
lt (less than) : “moins que”.
gt (greater than) : “plus que”.
eq (equal) : “égal à”.
neq (not equal) : “non équivalent”.
range (inclusive range) : “étendue d’une plage”.
Où le paramètre “port” peut prendre une valeur nominative ou numéraire : de 0 à 65535
ou, par exemple, www, telnet, ftp, etc.
1.2. ACLs numérotées
Les ACLs numérotées sont constituées d’un ensemble de règles :
ordonnées selon la frappe
ayant un même numéro
Pratique obsolète (en IPv6) dont le numéro indique la nature :
IPv4 standard : 1 - 99 et 1300 - 1999
IPv4 étendue : 100 - 199 et 2000 - 2699
Case J142V, OCH | Brazzaville - 86, avenue Barthelemy BOGANDA Immeuble Migitel | Pointe-Noire
WEB : [Link] - Email : congo@[Link] - Tél : 00242 226 150 357
Jours 7 – Liste de Contrôle d’Accès (ACL : Access Control List)
Par exemple :
En configuration globale :
(config)#access-list 1 deny host [Link]
(config)#access-list 1 permit any
L’ACL standard 1 empêche seulement le trafic venant de l’hôte [Link]
Un autre exemple :
(config)#access-list 102 deny tcp any any eq 23
(config)#access-list 102 permit ip any any
L’ACL extended 102 empêche tout trafic vers le service Telnet et autorise tout autre
trafic IPv4.
Faut-il encore placer ces ACLs dans une fonction (filtrage, marquage, règles NAT…)
1.3. ACL nommées
Les ACLs nommées se distinguent par un nom.
Il faut spécifier le type standard ou extended en IPv4.
Les ACLs IPv6 sont d’office “extended” de telle sorte que le paramètre disparaît des
commandes.
Les règles s’incrémentent d’un numéro d’ordre (tous les 10). Cet ID permet d’insérer
des règles dans une liste.
(config)#ip access-list standard ACL_IPv4_STD
(config-std-nacl)#permit | deny ?
(config)#exit
(config)#ip access-list extended ACL_IPv4_EXT
(config-ext-nacl)#permit | deny ?
(config)#exit
(config)#ipv6 access-list ACL_IPv6
(config-ipv6-acl)#permit | deny ?
Case J142V, OCH | Brazzaville - 86, avenue Barthelemy BOGANDA Immeuble Migitel | Pointe-Noire
WEB : [Link] - Email : congo@[Link] - Tél : 00242 226 150 357
Jours 7 – Liste de Contrôle d’Accès (ACL : Access Control List)
Par exemple :
(config)#ip access-list extended IPv4_LAN
(config-ext-nacl)#permit tcp [Link] [Link] any eq 80
(config-ext-nacl)#permit tcp [Link] [Link] any eq 443
#show access-lists
Extended IP access list IPv4_LAN
10 permit tcp [Link] [Link] any eq www
20 permit tcp [Link] [Link] any eq 443
1.4. Logique des ACLs appliquées sur les interfaces
Logique des ACLs appliquées sur les interfaces
Le routeur parcourt la liste d’accès et valide chaque règle jusqu’à trouver une
correspondance.
Si une correspondance est trouvée, le routeur prend la décision permit ou deny
correspondante. Il ne lit pas la suite de la liste.
Une ACL se termine toujours par une règle deny any implicite.
On imagine aisément que plus il y a de règles à examiner, plus il y a de la charge sur le
matériel qui contrôle le trafic.
1.5. Masque générique
Il ne faut pas confondre un masque générique (wilcard mask) avec un masque de sous-
réseau (subnet mask). Un masque générique est un masque de filtrage.
Case J142V, OCH | Brazzaville - 86, avenue Barthelemy BOGANDA Immeuble Migitel | Pointe-Noire
WEB : [Link] - Email : congo@[Link] - Tél : 00242 226 150 357
Jours 7 – Liste de Contrôle d’Accès (ACL : Access Control List)
Quand un bit aura une valeur de 0 dans le masque, il y aura vérification de ce bit sur
l’adresse IP de référence.
Lorsque le bit aura une valeur de 1, il n’y en aura pas.
Cette notion est utilisée dans les configurations OSPFv2 sous Cisco IOS.
Masque de réseau
Un masque de réseau est un masque de division ou de regroupement. Une addition
booléenne d’une adresse IP et d’un masque de réseau est utilisée pour distinguer la
partie réseau de la partie hôte.
En binaire, alors qu’un masque de réseau est nécessairement une suite homogène de
1 et puis de 0, un masque générique peut être une suite quelconque de 1 et de 0 en
fonction du filtrage que l’on veut opérer sur des adresses IP.
Exemples de masque générique
Soit un masque générique [Link] demande une correspondance exacte de l’adresse IP
de référence :
permit [Link] [Link]
Le mot-clé host remplace [Link] :
permit host [Link]
[Link] filtre toutes les adresses IPv4.
permit [Link] [Link]
Le mot-clé any remplace [Link] [Link]
permit any
Filtrer [Link]/24
Réseau : [Link] [Link]
ACL : [Link] [Link]
Filtrer [Link]/30
[Link] [Link]
ACL : [Link] [Link]
Case J142V, OCH | Brazzaville - 86, avenue Barthelemy BOGANDA Immeuble Migitel | Pointe-Noire
WEB : [Link] - Email : congo@[Link] - Tél : 00242 226 150 357
Jours 7 – Liste de Contrôle d’Accès (ACL : Access Control List)
Masques de “summarization”
Filtrer tous les réseaux qui commencent en 192.168 :
ACL : [Link] [Link]
Numéros pairs sur le dernier octet du /24 :
ACL : [Link] [Link]
Numéros impairs sur le troisième octet :
ACL : [Link] [Link]
1.6. Applications
En soi, une ACL n’a pas de portée si elle n’est pas appliquée.
De manière non exhaustive, les ACLs trouvent une quantité d’applications en Cisco IOS:
Filtrage sans état de trafic de données sur des interfaces.
Firewall (filtrage à état) sur des interfaces : ACL bloquante
Filtrage de trafic de trafic de gestion (sur une ligne VTY).
Trafic source dans une règle NAT (inside source list) pour désigner de
nombreuses adresses IP privées à traduire.
Transfert de port
Déboggage pour filtrer les sorties.
… et bien d’autres en ingénérie du trafic (VPN, QoS, filtrage du routage, routage
à la demande, …).
1.7. Direction des ACLs de filtrage
Les liste d’accès s’appliquent sur les interfaces :
pour le trafic entrant sur l’interface, in
pour le trafic sortant de l’interface, out
#show access-lists
Extended IP access list IPv4_LAN
10 permit tcp [Link] [Link] any eq www
20 permit tcp [Link] [Link] any eq 443
(config)#int f0/0
(config-subif)#ip access-group IPv4_LAN in
Case J142V, OCH | Brazzaville - 86, avenue Barthelemy BOGANDA Immeuble Migitel | Pointe-Noire
WEB : [Link] - Email : congo@[Link] - Tél : 00242 226 150 357
Jours 7 – Liste de Contrôle d’Accès (ACL : Access Control List)
Combien d’ACLs de filtrage sur une interface ?
“Une seule ACL par interface par protocole par direction”
Cela signifie que l’on pourra appliquer au maximum pour chaque interface 4 ACLs :
une ACL IPv4 in
une ACL IPv4 out
une ACL IPv6 in
une ACL IPv6 out
1.8. Autres types d’ACLs
Ce document ne couvre pas d’autres types d’ACLs Cisco :
ACLs established
Reflexive ACLs
Dynamic ACLs (sorte de Port Knocking)
Time-based ACLs that use time ranges
Authentication proxy
Turbo ACLs
Distributed time-based ACLs
2. Exemples de mise en œuvre ACLs IOS IPv4
Refuser l’accès d’un hôte à un réseau
Autoriser une plage contiguë d’adresses IP
Autoriser l’accès d’un hôte à une interface
Autoriser des Pings (ICMP)
Autoriser le Web, le mail, FTP et SSH
Autoriser le trafic DNS
Autoriser le trafic de routage
Déboggage du trafic
Filtrage VTY (Telnet, SSH)
Filtrage NTP
Configurations NAT, PAT, transfert de ports (DNAT)
Case J142V, OCH | Brazzaville - 86, avenue Barthelemy BOGANDA Immeuble Migitel | Pointe-Noire
WEB : [Link] - Email : congo@[Link] - Tél : 00242 226 150 357