Les ACLs sur les équipements Cisco
Une ACL qu’est-ce que c’est ?
Une ACL (Access Control List) va nous permettre de filtrer les paquets qui passent sur notre réseau. Elle fait partie des moyens pour sécuriser notre réseau en limitant l’accès à certaines parties.
L’ACL est composée d’une liste d’ACE (Access Control Entry), ces ACEs vont être interprétées de manières séquentielles c’est-à-dire, lorsqu’un paquet arrivera sur l’interface du routeur où nous avons configuré notre ACL celui-ci va regarder la première ACE si celle-ci correspond au trafic qu’il analyse, il va appliquer ce qui est décrit dans l’ACE, si la première ACE ne correspond pas au trafic il va regarder la seconde et ainsi de suite jusqu’à trouver une correspondance. S’il ne trouve aucune correspondance le paquet sera supprimé, en effet lors de la création d’une ACL tout ceux qui ne sont pas directement autorisés dans l’ACL est interdit.
Il existe plusieurs types d’ACL parmi lesquelles :
• ACL standard.
• ACL étendue.
• ACL nommée.
• ACL réflexive.
• ACL dynamique.
Le wildcard mask :
Le wildcard mask est un masque générique, qui permet de spécifier la partie de l’adresse IP qui doit servir de critère de comparaison. Les bits à zéro représentent la partie de l’adresse IP à examiner. par exemple:
si on a comme wildcard mask:
0.0.255.255
cela nous donne en binaire:
0000 0000.0000 0000.1111 1111.1111 1111
Ce qui veut dire que les 16 premiers bits de notre adresse IP devront être analyser.
Dans le cas des ACL, lorsqu’on désire filtrer le paquet provenant d’un réseau en entier on calculera le wildcard mask à partir du masque de sous-réseau grâce à une simple soustraction.
parexemple:
Prenons l’adresse de réseau suivant 192.168.2.0 et son masque de sous réseau 255.255.255.0, pour trouver le wildcard mask on fera la soustraction octet par octet entre 255.255.255.255 et notre masque de sous-réseau 255.255.255.0 ce qui donne:
255.255.255.255
-255.255.255.0
—————-
0 .0 . 0 .255
On a donc comme wildcard mask: 0.0.0.255 la partie de l’adresse IP à examiner sera donc les 24 premier bits soit 192.168.2 ce qui correspond à la partie réseau de notre adresse IP
Les ACL standards
Les ACL standards sont numérotées de 1-99, elles se basent sur les adresses IP de source pour savoir quel paquet filtrer, elles doivent être placées au plus près de la destination.
Ecrire une ACL standard
R1(config)#access-list 10 permit 192.168.2.0 0.0.0.255
Voilà un exemple d’ACL standard. Elle est composée de:
• Le mot clés access-list : qui permet de définir une ACL numéroté.
• Le numéro de l’ACL : un numéro permettant d’identifier une ACL, compris entre 1-99 pour une ACL standard.
• L’action à effectuer: deny (supprimer le paquet), permit (autoriser le paquet).
• L’adresse IP du réseau source : identifier le réseau source.
• Le wildcard mask
Filtrer le trafic venant d’un seul hôte
Avec une ACL standard il est aussi possible de filtrer le trafic venant d’un hôte en particulier grâce au mot-clé host.
Par exemple:
R1(config)#access-list 20 deny host 192.168.2.4
Cette ACL va permette de bloquer le trafic venant de l’hôte ayant l’IP 192.168.2.4 et uniquement de lui.
Les ACL étendues
Contrairement au ACL standard les ACL étendues ne se reposent pas uniquement sur l’adresse IP source, mais sur plusieurs champs de l’en-tête IP et les protocoles utilisés. Les ACL étendues se placent au plus proche de la source (afin d’éviter de gaspiller de la bande passante en envoyant sur le réseau des paquets qui seront supprimées une fois arriver à destination.). Les ACL étendues sont numérotées de 100 à 199.
Ecrire une ACL étendue
R1(config)#access-list 110 permit ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
Voilà un exemple d’ACL étendue. Elle est composée de:
• Le mot clés access-list : qui permet de définir une ACL numéroté.
• Le numéro de l’ACL : un numéro permettant d’identifier une ACL, compris entre 100-199 pour une ACL étendue.
• l’action a effectuer: deny (supprimer le paquet), permit (autoriser le paquet).
• le protocole: protocole a filtré ( IP,TCP,UDP,EIGRP…)
• L’adresse IP du réseau source : identifier le réseau source.
• Le wildcard mask source.
• L’adresse IP du réseau destination : identifier le réseau destination.
• Le wildcard mask destination.
De plus, comme pour les ACL standard nous pouvons filtrer aussi uniquement des hôtes:
R1(config)#access-list 120 deny ip host 192.168.2.3 host 192.168.3.6
Cette ACL va permettre de bloquer le trafic entre l’hôte source 192.168.2.3 et l’hôte destination 192.168.3.6
Filtrage par numéros de port
Les ACL étendues permettent de filtrer le trafic selon le protocole utilisé, grâce au numéro de port correspondant. On pourra spécifier le port source et le port de destination.
R1(config)#access-list 130 permit tcp 192.168.2.0 0.0.0.255 host 192.168.3.8 eq 80
Ici cette ACL vas permette le trafic entre le réseau 192.168.2.0 et l’hôte 192.168.3.8 a destination du port 80 TCP (port http).
Les opérateurs:
• eq: égal à
• neq: Différent de
• lt: Inférieur à (tous les port inférieur)
• gt: Supérieur à (tous les pour supérieur)
Les ACL nommées :
Les ACL nommées sont utilisées pour pouvoir donner un nom à notre ACL et ne plus les identifier par un numéro. En effet on pourra lui donner un nom explicite ce qui nous aidera à déterminer plus facilement le but de notre ACL.
Ecrire une ACL nommée
R1(config)#ip access-list standard MyACl
R1(config-std-nacl)#deny 192.168.1.0 0.0.0.255
R1(config-std-nacl)#permit any
R1(config-std-nacl)#exit
Voila un exemple d’ACL nommée. Elle est composée de:
• le mot clé IP
• le mot clé access-list
• le type d’ACL: standard ou étendue
• le nom de l’ACL.
• puis on spécifie toutes les ACE qui compose notre ACL.
Les ACL réflexives :
Les ACL réflexives, aussi appelées filtre de session IP, elles sont basées sur les sessions TCP et UDP. Lorsqu’un trafic autorisé passe par notre routeur celui-ci va créer une instruction permit pour autoriser le trafic retour. Elle nécessite l’utilisation d’ACL étendues nommées et des mots-clés : reflect et evaluate.
Les ACL dynamiques :
Les ACL dynamiques obligent l’utilisateur à établir une connexion Telnet sur le routeur en fournissant à ce dernier une combinaison nom d’utilisateur/ mot de passe, pour autoriser le trafic de cette utilisateur. Si l’authentification Telnet a réussi, le routeur modifie dynamiquement l’ACL associée, autorisant le trafic provenant de l’IP de l’utilisateur.
Activer une ACL sur une interface :
Maintenant que nous savons comment créer nos ACLs, nous devons appliquer nos ACLs sur nos équipements. On peut appliquer notre ACL sur une interface, la ligne console et les lignes vty.
Mettre une ACL sur une interface
R1(config)#interface fastEthernet 0/1
R1(config-if)#ip access-group 10 in
Dans cette exemple on place notre ACL sur l’interface fastEthernet 0/1 en entré. Pour ce faire, on entre dans le mode de configuration de l’interface. Et on utilise la commande ip access-group suivie du numéro d’ACL ou du nom de l’ACL et du sens in ou out.
Mettre une ACL sur une ligne console ou vty
R1(config)#line console 0
R1(config-line)#ip access-class 10 in
Dans cette exemple on place notre ACL sur la ligne console. Pour ce faire on entre dans le mode de configuration de la ligne console 0. Et on utilise la commande ip access-class suivie du numéro d’ACL et du nom de l’ACL et du sens d’application de l’ACL.