Une liste de contrôle d’accès (ACL) est une liste de règles qui contrôlent et filtrent le trafic en fonction des adresses IP source et destination ou des numéros de port. Cela se produit en autorisant les paquets ou en bloquant les paquets d’une interface sur un routeur, un commutateur, un pare-feu, etc.
Les entrées ou les déclarations individuelles dans une liste d’accès sont appelées entrées de contrôle d’accès (ACE). Chaque entrée ACE définit un flux de trafic (source/destination) qui sera soit autorisé soit bloqué.
En plus du contrôle et du filtrage du trafic dans un réseau, les ACL peuvent également être utilisées comme mesure de sécurité pour la connexion à votre routeur en autorisant uniquement les adresses IP ou les réseaux nécessaires pour accéder au routeur via telnet (ou de préférence avec SSH).
Elles ont également plusieurs autres utilisations comme le contrôle d’accès à la gestion, le filtrage des annonces de route, le filtrage des sorties de débogage, l’identification du trafic pour le cryptage dans les scénarios VPN, etc.
Les listes d’accès sont essentiellement un outil pour faire correspondre les paquets intéressants qui peuvent ensuite être soumis à différents types d’opérations spéciales.
Sur les périphériques Cisco, nous avons deux types principaux d’ACL. Ce sont les listes de contrôle d’accès standard et les listes de contrôle d’accès étendues.
- Listes d’accès standard
Les listes d’accès standard sont la forme de base des listes d’accès sur les routeurs Cisco qui peuvent être utilisées pour faire correspondre les paquets par champ d’adresse IP source dans l’en-tête du paquet. Ces listes d’accès sont plus simples à créer et à comprendre mais les options de correspondance des paquets sont également limitées à la seule adresse source.
- Listes d’accès étendues
Si vous voulez faire correspondre les paquets sur autre chose que l’adresse IP source, vous auriez besoin d’une liste d’accès étendue : numérotée ou nommée. Les listes d’accès étendues peuvent filtrer sur les adresses IP source et destination, ou une combinaison d’adresses et plusieurs autres champs tels que les ports TCP/UDP, etc.
Les listes d’accès standard et étendues peuvent toutes deux être écrites au format numéroté ou nommé, qui ne sont que des façons différentes d’écrire des listes d’accès.
En termes de fonctionnalité, les listes d’accès numérotées et nommées sont équivalentes. Ce que vous pouvez réaliser avec une liste d’accès numérotée peut également être réalisé avec une liste d’accès nommée équivalente, et cela s’applique à la fois aux ACL standard et étendues.
Certaines personnes favorisent le format nommé car il est probablement plus lisible, mais les deux formats sont largement utilisés dans la pratique et les deux sont importants pour votre examen de certification Cisco.
Veuillez vous référer au tableau 1 pour connaître la gamme de numéros qui peuvent être utilisés pour créer des listes d’accès numérotées standard et étendues.
Tableau 1 Gammes de numéros de listes d’accès
Type de liste d’accès | Gamme de numéros |
Listes d’accès standard IP | 1-99 |
Listes d’accès standard IP (gamme étendue) | 1300-.1999 |
Listes d’accès étendues IP | 100-199 |
Listes d’accès étendues IP (plage étendue) | 2000-2699 |
Nous allons considérer ces listes de contrôle d’accès, comment elles fonctionnent et comment les configurer sur les routeurs Cisco.
Veuillez jeter un coup d’œil à la figure 1 ci-dessous que nous utiliserons pour tous nos exemples de configuration.
Le scénario consiste en un routeur unique R1 avec deux interfaces Fa0/0 et Fa0/1 connectées au réseau interne et à Internet, respectivement.
Les listes d’accès viseraient à contrôler l’accès à Internet par les utilisateurs du réseau interne. Ces listes d’accès seraient appliquées à l’interface Fa0/0 dans le sens entrant.
Figure 1 Application de liste d’accès
Exemples de configuration de liste d’accès standard
La liste de contrôle d’accès standard vous permettra d’autoriser ou de refuser le trafic provenant d’une adresse IP ou d’un réseau IP source spécifique.
Création de listes d’accès standard numérotées
Nous allons commencer par configurer une liste d’accès standard d’abord au format numéroté, puis au format nommé. La liste d’accès doit permettre à Bob d’accéder à Internet tout en bloquant tout accès pour Smith enregistrant également les tentatives infructueuses de Smith.
Voyons comment nous pouvons faire cela en utilisant une liste d’accès standard au format numéroté.
R1>enable
R1#configure terminal
Entrez les commandes de configuration, une par ligne. Terminez par CNTL/Z.
R1(config)#access-list 1 permit host 192.168.1.3
R1(config)#access-list 1 deny host 192.168.1.7 log
R1(config)#
Dans l’exemple de configuration ci-dessus, nous avons utilisé le mot-clé host pour identifier les hôtes individuels mais le même résultat peut également être obtenu en utilisant le masque inverse 0.0.0.0.
Appliquons maintenant cette liste d’accès à l’interface Fa0/0 dans la direction entrante.
R1(config)#interface Fa0/0
R1(config-if)#ip access-group 1 ?
in paquets entrants
out paquets sortants
R1(config-if)#ip access-group 1 in
R1(config-if)#end
R1#
Les listes d’accès nominatives ont un numéro de 1 à 99. Lorsque vous mettez une liste d’accès sur un routeur, vous devrez identifier les listes d’accès avec un numéro, par exemple la liste d’accès 1 comme indiqué ci-dessus.
Dans chaque liste d’accès, il y aura un deny all implicite à la fin de l’ACL même si vous ne le spécifiez pas explicitement. Donc si vous avez configuré votre liste d’accès comme ceci voici ce qu’elle ferait.
show access-list 1
La sortie sera:
access-list 1 permit host 192.168.1.3
access-list 1 deny host 192.168.1.7 log
access-list 1 deny any
Création de listes d’accès standard nommées
Créons maintenant une liste d’accès au format nommé et appliquons-la à l’interface Fa0/0, afin d’obtenir le même effet. Ici, nous utiliserions le masque inverse au lieu du mot-clé host pour faire correspondre les hôtes individuels.
R1>enable
R1#configure terminal
Entrez les commandes de configuration, une par ligne. Terminez par CNTL/Z.
R1(config)#ip access-list standard Filter
R1(config-std-nacl)#permit 192.168.1.3 0.0.0.0
R1(config-std-nacl)#deny 192.168.1.7 0.0.0.0 log
R1(config-std-nacl)#interface Fa0/0
R1(config-if)#ip access-group Filter in
R1(config-if)#end
R1#
Extended Access Lists Configuration Examples
Une liste de contrôle d’accès étendue vous permettra de refuser ou d’autoriser le trafic provenant d’adresses IP, et de ports spécifiques.
Elle vous donne également la possibilité de contrôler le type de protocole qui peut être transféré tel que ICMP, TCP, UDP et ainsi de suite. La plage des listes de contrôle d’accès étendues est de 100 à 199 pour les ACL numérotées.
Un exemple d’une ACL étendue numérotée:
access-list 110 permit tcp 92.128.2.0 0.0.0.255 any eq 80
L’ACL 110 autorisera le trafic qui provient de n’importe quelle adresse sur le réseau 92.128.2.0 (réseau source) vers n’importe quelle IP de destination sur le port 80.
L’instruction ‘any’ est là afin d’autoriser le trafic vers n’importe quelle destination IP sur le port 80. La première déclaration de réseau dans la commande access-list (c’est-à-dire 92.128.2.0 0.0.0.255) fait référence à la source du trafic, et la deuxième déclaration de réseau (le mot-clé « any » dans notre exemple) fait référence à la destination du trafic.
Autre exemple:
access-list 111 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
La configuration ci-dessus autorisera tout le trafic IP du réseau source 192.168.1.0/24 vers le réseau de destination 192.168.2.0/24.
Notez également que le masque de sous-réseau dans la configuration ACL est toujours représenté avec un masque inverse (c’est-à-dire qu’au lieu d’utiliser 255.255.255.0, nous utilisons 0.0.0.255).
Création de listes d’accès étendues numérotées
Nous allons maintenant configurer une liste d’accès étendue d’abord en format numéroté et ensuite en format nommé. La liste d’accès doit permettre à Bob (de notre diagramme de réseau ci-dessus) d’accéder aux serveurs Web sur Internet tout en bloquant tout accès Web pour Smith enregistrant également les tentatives infructueuses de Smith pour ouvrir un site Web.
Voyons comment nous pouvons faire cela en utilisant une liste d’accès étendue au format numéroté.
R1>enable
R1#configure terminal
Entrez les commandes de configuration, une par ligne. Terminez par CNTL/Z.
R1(config)#access-list 100 permit tcp host 192.168.1.3 any eq www
R1(config)#access-list 100 deny tcp host 192.168.1.7 any eq www log
R1(config)#interface Fa0/0
R1(config-if)#ip access-group 100 in
R1(config-if)#end
R1#
Création de listes d’accès étendues nommées
Maintenant, configurons la même liste d’accès étendue au format nommé.
R1>enable
R1#configure terminal
Entrez les commandes de configuration, une par ligne. Terminez par CNTL/Z.
R1(config)#ip access-list extended Filter
R1(config-ext-nacl)#permit tcp 192.168.1.3 0.0.0.0 any eq www
R1(config-ext-nacl)#deny tcp 192.168.1.7 0.0.0.0 any eq www log
R1(config-ext-nacl)#interface Fa0/0
R1(config-if)#ip access-group Filter in
R1(config-if)#end
R1#
Nous avons brièvement couvert les listes d’accès dans cet article. Vous pouvez vérifier quelles listes d’accès existent sur votre appareil Cisco en utilisant la commande show access-lists.
Un test final des listes d’accès est effectué en générant réellement le trafic que la liste d’accès est censée autoriser ou refuser et voir les résultats.
Comment appliquer la liste d’accès
Après avoir mis en place la liste d’accès, vous devrez spécifier dans quel sens vous voulez qu’elle fonctionne sur l’interface qui sera appliquée (entrant ou sortant).
Par exemple, « in » signifie entrant vers l’interface et « out » signifie sortant de l’interface. L’ACL est ensuite appliquée sur une interface spécifique en utilisant la commande « access-group ».
Vous pouvez identifier une liste d’accès en lui donnant un nom ou un numéro comme discuté ci-dessus. Voici un ensemble de commandes que vous utiliseriez :
Routeur(config)#interface serial 0
Routeur(config-if)#ip access-group 111 out
Utilisation des listes d’accès pour sécuriser l’accès Telnet à un routeur
Vous pouvez également sécuriser vos lignes telnet sur un routeur via une ACL. Cela vous permettra d’autoriser l’accès à la connexion telnet uniquement pour certains hôtes ou réseaux. Voici un exemple de configuration de la façon dont vous pourriez procéder.
access-list 25 permit 192.168.2.0 0.0.0.255
line vty 0 4
access-class 25 in
Avec cette ACL en place, vous autoriserez uniquement les hôtes du réseau 192.168.2.0/24 à avoir accès à la connexion VTY. Toutes les tentatives provenant d’autres réseaux seraient bloquées.
Un autre exemple : Disons que nous avons une station de gestion spécifique (10.1.1.1) qui devrait être autorisée à accéder au routeur via telnet. Tous les autres hôtes devraient être bloqués.
access-list 10 permit host 10.1.1.1
line vty 0 4
access-class 10 in
.