ACL : Access-list
>>> Pour équipements Cisco
Version PDF

Les ACL (Access Control Lists) permettent de filtrer des paquets suivant des critères définis par l’utilisateur.


Sommaire :

I) Les ACL Cisco
II) Fonctionnement et configuration
1) La logique des ACL
2) Standard IP Access List Configuration
3) Exemple ACL standard
4) Exemple d’interdiction de machine
5) Exemple
6) Les ACL étendue
7) Exemple de syntaxe
8) Les ACL nommées
III) Quelques conseils


I) Les ACL Cisco

Haut de page

Sur des paquets IP, il est ainsi possible de filtrer les paquets entrants ou sortants d’un routeur en fonction :

 De l’IP source
 De l’IP destination

Il existe 2 types d’ACL :

 Standard : uniquement sur les IP sources
 Étendue : sur quasiment tous les champs des en-têtes IP, TCP et UDP

II) Fonctionnement et configuration

Haut de page

1) La logique des ACL

Il est possible de résumer le fonctionnement des ACL de la façon suivante :

 Le paquet est vérifié par rapport au 1er critère défini
 S’il vérifie le critère, l’action définie est appliquée
 Sinon le paquet est comparé successivement par rapport aux ACL suivants
 S’il ne satisfait aucun critère, l’action deny est appliquée

Les critères sont définit sur les informations contenues dans les en-têtes IP, TCP ou UDP

Des masques ont été défini pour pouvoir identifier une ou plusieurs adresses IP en une seule définition

 Ce masque défini la portion de l’adresse IP qui doit être examinée
 0.0.255.255 signifie que seuls les 2 premiers octets doivent être examinés
 deny 10.1.3.0 avec 0.0.0.255 : refus de toutes les IP commençant par 10.1.3

2) Standard IP Access List Configuration

Fonctionnement des ACL :
 Test des règles les unes après les autres.
 Si aucune règle n’est applicable, rejet du paquet.

Définition d’une règle :

access-list number [deny|permit] source [source-wildcard]

Number compris entre 1 et 99 ou entre 1300 et 1999

access-list number remark test

Activation d’une ACL sur une interface :

ip access-group [ number | name [ in | out ] ]

Visualiser les ACL :

show access-lists number  : toutes les ACL quelque soit l’interface.

show ip access-lists number  : les ACL uniquement liés au protocole IP.

3) Exemple ACL standard

Switch# configure terminal 
Switch(config)# access-list 1 remark stop tous les paquets d'IP source 172.16.3.10
Switch(config)# access-list 1 deny 172.16.3.10 0.0.0.0
Switch(config)# access-list 1 permit 0.0.0.0 255.255.255.255
Switch(config)# interface fastethernet0
Switch(config-if)# ip address 172.16.1.1 255.255.255.0
Switch(config-if)# ip access-group 1 out
access-list 1 deny 172.16.3.10 0.0.0.0

 Refuse les paquets d’IP source 172.16.3.10.
 Le masque (également appelé wildcard mask) signifie ici que tous les bits de l’adresse IP sont significatifs.

access-list 1 permit 0.0.0.0 255.255.255.255

 Tous les paquets IP sont autorisés.
 Le masque 255.255.255.255 signifie qu’aucun bit n’est significatif.

4) Exemple d’interdiction de machine

Switch# configure terminal 
Switch(config)# access-list 1 remark stop tous les paquets d'IP source 172.16.3.10
Switch(config)# access-list 1 deny host 172.16.3.10
Switch(config)# access-list 1 permit any
Switch(config)# interface fastethernet0
Switch(config-if)# ip address 172.16.1.1 255.255.255.0
Switch(config-if)# ip access-group 1 out

Une notation améliorée est possible pour remplacer :

 le masque 255.255.255.255 qui désigne une machine.

=> Utilisation du terme host

 0.0.0.0 avec le wildcard masque à 255.255.255.255 qui désigne tout le monde.

=> Utilisation du terme any

5) Exemple

Switch# configure terminal 
Switch(config)# access-list 1 remark Stoppe tous les paquets d'IP source 172.16.3.10
Switch(config)# access-list 1 deny host 172.16.3.10
Switch(config)# access-list 1 permit any
Switch(config)# access-list 2 remark Autorise que les trames d'IP source 172.16.3.0/24
Switch(config)# access-list 2 permit 172.16.3.0 0.0.0.255
Switch(config)# interface fastethernet0
Switch(config-if)# ip address 172.16.1.1 255.255.255.0
Switch(config-if)# ip access-group 1 out
Switch(config)# exit
Switch(config)# interface fastethernet1
Switch(config-if)# ip address 172.16.2.1 255.255.255.0
Switch(config-if)# ip access-group 2 in

6) Les ACL étendue

Les extended ACL permettent de filtrer des paquets en fonction :

 De l’adresse de destination IP
 Du type de protocole (TCP, UDP, ICMP, IGRP, IGMP, ...)
 Port source
 Port destination
 ...

7) Exemple de syntaxe

access-list number { deny | permit } protocol source source-wildcard destination dest.-wildcard

 number : compris entre 100 et 199 ou 2000 et 2699

access-list 101 deny ip any host 10.1.1.1

 Refus des paquets IP à destination de la machine 10.1.1.1 et provenant de n’importe quelle source

access-list 101 deny tcp any gt 1023 host 10.1.1.1 eq 23

 Refus de paquet TCP provenant d’un port > 1023 et à destination du port 23 de la machine d’IP 10.1.1.1

access-list 101 deny tcp any host 10.1.1.1 eq http

 Refus des paquets TCP à destination du port 80 de la machine d’IP 10.1.1.1

8) Les ACL nommées

 Une ACL numérotée peut être composé de nombreuses règles. La seule façon de la modifier et de faire :

no access-list number

 Puis de la redéfinir

 Avec les ACL nommées, il est possible de supprimer qu’une seule ligne au lieu de toute l’ACL
 Sa définition se fait de la manière suivante

Router(config)# ip access-list extended bart
Router(config-ext-nacl)# deny tcp host 10.1.1.2 eq www any
Router(config-ext-nacl)# deny ip 10.1.1.0 0.0.0.255 any
Router(config-ext-nacl)# permit ip any any

 Pour supprimer une des lignes, il suffit de refaire un :

ip access-list extended bart
no deny ip 10.1.1.0 0.0.0.255 any

III) Quelques conseils

Haut de page

La création, la mise à jour, le debuggage nécessitent beaucoup de temps et de rigueur dans la syntaxe

Il est donc conseillé :
 De créer les ACL à l’aide d’un éditeur de texte et de faire un copier/coller dans la configuration du routeur
 Placer les extended ACL au plus près possible de la source du paquet pour le détruire le plus vite possible
 Placer les ACL standard au plus près de la destination sinon, vous risquez de détruire un paquet trop tôt.

Rappel : les ACL standard ne regardent que l’IP source

 Placer la règle la plus spécifique en premier.
 Avant de faire le moindre changement sur une ACL, désactivez celle-ci sur l’interface concerné (no ip access-group).

 
 
 
 
 
Commentaires :

  •  ACL : Access-list    > 29 novembre 2018 15:18, par Allanga

    Bsr j’ai un exo sur ACL et j’ai 2 vlan et 3 postes et 2 serveurs
    Je veux que les stations de travail doivent toutes 3 être en mesure d envoyer une requête ping au 2 serveurs
    R1(config)#access-list 10 permit 192.168.2.0 0.0.0.255 192.168.200.0 0.0.0.255 écho
    R1(config)#access-list 20 permit 192.168.3.0 0.0.0.255 192.168.200.0 0.0.0.255 écho
    R1(config)#access-list 20 permit 192.168.3.0 0.0.0.255 192.168.100.0 0.0.0.255 écho
    R1(config)#access-list 10 permit 192.168.2.0 0.0.0.255 192.168.200.0
    0.0.0.255 écho
    Pourriez vous m’expliquer s il vous plait ou m’envoyer un cours simple à comprende
    Merci


  •  ACL : Access-list    > 30 juillet 2014 12:41, par Merolie-Aimee

    Bonjour,
    Merci pour cet article simplifie sur les acls,en tant que debutante j’ai particulierement un souci sur la facon d’appliquer l’acl sur une interface,a quel moment on le met en in ou en out ? Pour la syntaxe pas de souci.
    merci


    •  ACL : Access-list    > 26 septembre 2014 10:43, par N.Salmon

      Bonjour,
      Concernant le IN et le OUT, il faut penser façon Cisco : les règles IN filtre les paquets qui rentrent sur le routeur Cisco. Les règles OUT filtre les paquets qui sortent du routeur Cisco.


  •  ACL : Access-list    > 20 janvier 2014 17:27, par Adil Ribery

    Vraiment merci pour toute ces informations :)
    Tu as très bien simplifier


  •  ACL : Access-list    > 8 juin 2012 00:42, par leila

    bon soire,
    c’est un très bon article, personnellement je débute avec la notion de configuration des ACLs, ça m’intéresse et je pense demander votre aide si j’aurai des problèmes.Est-ce que possible.
    Et merci de me répondre


    •  ACL : Access-list    > 8 juin 2012 08:54, par N.Salmon

      Bonsoir,
      Pas de problèmes si vous avez besoin d’aide je veux bien vous aider.
      @Bientot