Les Listes de contrôle d’Accès


1.    Les Listes de contrôle d’Accès  

1.1. Introduction

Les ACL, ou Access Control List permettent de filtrer ce qui entre ou sort par les interfaces d’un routeur, en fonction :
-         De l’IP Source.
-         De l’IP de destination
-         Du port source
-         Du port de destination
-         Du protocole (IP, TCP, UDP, ICMP)

1.2.                         Fonctionnement des Listes de contrôle d’Accès 

Les instructions d’une liste de contrôle d’accès fonctionnent dans l’ordre séquentiel logique. Si une condition est satisfaite, le paquet est autorisé ou refusé et les autres instructions ne sont pas vérifiés. Si aucune des instructions ne correspond au paquet, une instruction implicite deny any est placée à la fin de la liste par défaut. L’instruction invisible deny any sur la dernière ligne d’une ACL interdit l’accès de tout paquet qui ne correspond pas aux instructions de la liste de contrôle d’accès. Lorsque vous créez une ACL pour la première fois, il est recommandé d’ajouter l’instruction deny à la fin de la liste pour renforcer la présence dynamique de l’interdiction implicite.( voi la figure )
Figure 4.1 : Fonctionnement des listes de contrôle d’accès [4]

1.3.                         Les  Listes de contrôle d’Accès simple

Syntaxe:
Router(config) # access-list  {1-99}  {permit | deny}  [source address]  [source mask]
·        {1-99}  →  numéro de l'access-list, toujours entre 1 et 99 pour une liste standard.
·        {permit | deny}  →  autorise ou interdit le paquet.
·        [source address] →  adresse ip du réseau (ou de la machine) concernée.
·        [source mask]   →  masque générique : C’est l’inverse d’un masque de sous-réseau habituelLorsque tous les bits d'une @IP doivent être comparés, on peut utiliser le mot clé host.Pour qu'une instruction deny ou permit s'applique à toutes les @IP qui ne sont pas indiquées dans les instructions de la liste, il est possible d'utiliser le mot clé any.
 

1.4.                         Les Listes de contrôle d’Accès Etendue.

Une ACL étendue s’intéresse à l’IP source mais aussi l’IP de destination ainsi que les ports (source et dest) et le protocole (IP, ICMP, TCP, UDP).
Syntaxe :
Router(config) # access-list  {100-199}  {permit | deny}  [protocol]
 [source address]    [source mask]  [destination address]  [destination mask]  [operator operand]

·        {100-199}  →  numéro de l'access-list, toujours entre 100 et 199 pour une liste IP étendue.
·        {permit | deny}   autorise ou interdit le paquet.
·        [protocol]  →  protocole sur lequel agit l'access-list  (IP, TCP, UDP, ICMP)
·        [source address]  →   adresse ip du réseau (ou de la machine) source.
·        [source mask]  →  masque générique :  C’est l’inverse d’un masque de sous-réseau habituel [destination address] →  adresse ip du réseau (ou de la machine) destination.
·        [destination mask]        masque générique : C’est l’inverse d’un masque de sous-réseau habituel
[operator operand]    opérateur suivi, en opérande du numéro de port  spécifique  concerné   (eq  = equal , gt = greather than )

 

 

1.4.1.                    Masque générique ou Wildcard Mask

Les ACL comportent toute une adresse source suivie d’un masque :
Router(config) # access-list  5    permit    192.168.1.0     0.0.0.255
Il ne faut pas confondre ce masque générique avec le masque de réseau. En fait, les deux fonctionnent de manière opposée :
-         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 aura pas de vérification.

Exemples :
Router(config) # access-list  5 permit   192.168.1.0        0.0.0.255
Se présente à la sortie d’un routeur. Avec la règle suivante, seuls les 3 premiers octets
Seront vérifiés. Ici, IP Source correspond à la règle.

-         Le mot "any" remplace le masque  255.255.255.255, autrement dit toute adresse IP.
-         Le mot "host" remplace le masque 0.0.0.0, par exemple, 10.1.1.1    0.0.0.0 peut être remplacé par "host 10.1.1.1"

1.5.                         Règles d’utilisation des ACL.

·        Chaque liste d'accès est définie pour un protocole particulier.
·        Il existe deux types principaux de listes d'accès : les listes d'accès STANDARDS (contrôle des @IP sources) ; les listes d'accès ETENDUES (contrôle des @IP source et destination, des protocoles, des N° de ports UDP et TCP, etc.).
·        Chaque interface ne peut utiliser qu'une liste d'accès par protocole.
·        Chaque liste d'accès peut être utilisée par plusieurs interfaces.
·        Une liste d'accès peut être utilisée en entrée pour une interface, et en sortie pour une autre interface.
·        Les listes d'accès utilisent les instructions "permit" (autorisation de transmission) et "deny" (interdiction de transmission).
·        Pour être valide, une liste d'accès doit contenir au moins une instruction "permit".
·        Les listes d'accès sont parcourues par le routeur, dans l'ordre où elles sont écrites.
·        Dès qu'un paquet correspond à une règle, cette règle est appliquée et le filtrage est terminé pour le paquet, pour cette interface.
·        Si un paquet ne correspond pas à la première règle, le routeur examine la règle suivante, etc.
·        Un paquet retransmis par  l'interface d'entrée, peut être interdit par l'interface de sortie.
·        Les paquets interdits par une liste d'accès sont annulés par le routeur.
·        A la fin de chaque liste d'accès, existe une instruction implicite "Deny All" : si un paquet ne correspond à aucune des instructions de la liste d'accès, il est obligatoirement bloqué.
·        Il n'est pas possible de modifier une liste d'accès, par exemple en changeant l'ordre des instructions existantes : il faut l'effacer totalement et la retaper.
·        Le filtrage s'effectue au niveau des interfaces, en entrée ou en sortie :
- Si la liste d'accès est appliquée  en entrée (in) : lorsqu'un routeur reçoit un paquet sur une interface, l'IOS le compare aux différentes instructions de la liste d'accès et regarde s'il correspond à l'une d'entre elles. S'il est autorisé (permit), l'IOS continue à traiter le paquet. S'il est interdit (deny), l'IOS le rejette et renvoie un message ICMP "Host Unreachable".
- Si la liste d'accès est appliquée en sortie (out) : après avoir reçu et aiguillé le paquet vers l'interface de sortie, l'IOS le compare aux différentes instructions de la liste d'accès et regarde s'il correspond à l'une d'entre elles. S'il est autorisé (permit), l'IOS continue à traiter le paquet. S'il est interdit (deny), l'IOS le rejette et renvoie un message ICMP "Host Unreachable".

1.6.                         Vérification des listes de contrôle d’accès

De nombreuses commandes show permettent de vérifier le contenu et l’emplacement des listes de contrôle d’accès sur le routeur.

La commande show access-lists affiche le contenu de toutes les listes de contrôle d’accès sur le routeur.
La commande show ip interface affiche les informations relatives à l’interface IP et indique si des listes de contrôle d’accès sont configurées.
Pour afficher une liste spécifique, ajoutez le nom ou le numéro de la liste de contrôle d’accès en tant qu’option de cette commande. La commande show running-config permet également d’afficher les listes d’accès d’un routeur, ainsi que les informations d’affectation aux interfaces.

Aucun commentaire:

Enregistrer un commentaire