ACLs (Access Control Lists)

Publié par

Les ACL permettent de créer des règles autorisant ou interdisant l’accès à un réseau.

Il y a 2 types d’ACL:

  • ACL Standards: configuration de la source . Ils doivent être placés au plus près de la destination.
    • numéro de 1 à 99
  • ACL étendues: configuration de la source, la destination ainsi que le port. Ils doivent être placés au plus près de la source.
    • numéro de 100 à 199

Reprenons le schéma de l’article sur la sécurisation du routeur.

Imaginons que le PC Compta1 ait été victime de phishing. L’attaquant a pu faire du lateral pivoting et prendre le contrôle du serveur. Nous avons pu obtenir l’adresse IP publique de l’attaquant dans les logs du serveur. Nous allons donc lui interdire l’accès.

Dans un premier temps, nous allons créer l’ACL puis, ensuite, nous allons associer cette ACL à une interface du routeur, en entrée ou en sortie.

Nous allons bloquer le spammeur avec une ACL standard en créant une ACL interdisant l’adresse 223.0.1.4 et en l’appliquant sur l’interface VLAN2 du routeur. On se connecte donc au routeur (Router4 sur le schéma).

ROUTEUR(config)#access-list 1 deny host 223.0.1.4

Puis on applique cette liste à l’interface VLAN2 en sortie du routeur.

ROUTEUR(config)#int gigabitethernet 0/0/0.2
ROUTEUR(config-subif)#ip access-group 1 out

Vérifions la configuration:

interface GigabitEthernet0/0/0.2
 encapsulation dot1Q 2
 ip address 192.168.2.254 255.255.255.0
 ip access-group 1 out
 ip nat inside

On peut également vérifier que l’ACL 1 est bien présente.

ROUTEUR#sh run | begin access-list 1
access-list 1 deny host 223.0.1.4

On vérifie le ping depuis le router20 qui a l’adresse IP 223.0.1.4 vers notre routeur.

Router#ping 223.0.0.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 223.0.0.1, timeout is 2 seconds:
UUUUU
Success rate is 0 percent (0/5)

L’adresse IP est bien bloquée.

Par contre, si on ping le routeur principal depuis un autre routeur, le ping ne passera pas non plus.

Pourquoi ?

Une règle implicite est ajoutée à la fin de notre ACL.

access-list 1 deny 223.0.1.4
access-list 1 deny any

Il faut permettre aux autres routeurs de pouvoir contacter l’adresse 223.0.0.1. On modifie cette dernière règle.

ROUTEUR(config)#access-list 1 permit any
ROUTEUR#sh run | begin access-list 1
access-list 1 deny host 223.0.1.4
access-list 1 permit any

De cette façon, Router20 ne pinge plus 223.0.0.1. Par contre, Router21, lui, le peut de nouveau.

Nous venons de bloquer le spammeur. Celui-ci s’en est rendu compte et a décidé de changer son adresse IP par 223.0.2.3

Ajoutons cette adresse à notre ACL.

ROUTEUR#sh run | begin access-list 1
access-list 1 deny host 223.0.1.4
access-list 1 deny host 223.0.2.3
access-list 1 permit any

Le routeur lit les règles de haut en bas.

Nous devons donc placer les règles au bon endroit !


Passons aux ACL étendues. Nous allons interdire l’accès via SSH depuis certaines adresses. Nous devons être au plus proche de la source. Nous allons donc sur le Router20.

Router(config)#access-list 100 deny tcp host 223.0.1.4 any eq 22
Router(config)#access-list 100 permit ip any any
Router(config)#interface gi0/2
Router(config-if)#ip access-group 100 in

Ici, on interdit à l’adresse 223.0.1.4 de se connecter en SSH vers toutes les adresses du réseau, puis on autorise tout le reste. Enfin, on applique cette règle à l’interface concernée.


Il est important de se souvenir que les règles ACL se lisent de haut en bas. Les règles les plus précises doivent être placées en haut et les plus générales en bas.

Créer une ACL standard:

routeur(config)#access-list n°1-99 deny/permit réseau masqueInversé

Créer une ACL étendue:

routeur(config)#access-list n°100-199 deny/permit protocole réseauSource masqueInversé réseau Destination masqueInversé n°port

Source: Administrez une architecture réseau avec CISCO