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.
Aucun commentaire:
Enregistrer un commentaire