Standard ACL

standard acl placement explanation schema

1. Qu’est-ce que l’ACL standard ?

Lors de la gestion d’un réseau, il est souvent nécessaire de contrôler le trafic autorisé ou refusé.
C’est là qu’une ACL Standard (ACL) devient utile.

Une ACL standard est un ensemble de règles qui filtre le trafic IPv4 en se basant uniquement sur l’adresse IP source.
Elle n’évalue pas les adresses IP ou les ports de destination. Si vous avez besoin de cela, vous utiliserez une ACL Extended, qui sera abordée dans la prochaine leçon.

Exemple de scénario

Dans cet exemple, nous voulons contrôler l’accès à un serveur juridique à l’aide d’un ACL standard :

  • Autoriser le réseau Legal 192.168.1.0/24 à accéder au serveur Legal 192.168.3.1
  • Bloquer l’accès du réseau RH 192.168.2.0/24 au même serveur
Exemple d'ACL standard autorisant le réseau légal et bloquant le trafic RH

Il s’agit d’un cas d’utilisation typique où les ACL standard sont utiles pour contrôler l’accès en fonction de la source.

Configuration sur un routeur Cisco

Nous allons maintenant configurer ce comportement étape par étape sur le routeur R1.

Étape 1 : Entrer dans le mode de configuration globale

R1# configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#

Étape 2 : Créer l’ACL standard

Pour créer une Standard ACL, utilisez la commande ip access-list standard.

R1(config)# ip access-list standard ? 
  <1-99>        Standard IP access-list number
  <1300-1999>   Standard IP access-list number (expanded range)
  WORD          Access-list name

Nous choisissons ici le nombre 10, qui fait partie des plages valides pour les ACL standard :

  • De 1 à 99 (Range Classique)
  • De 1300 à 1999 (Range Etendu)
R1(config)# ip access-list standard 10 
R1(config-std-nacl)# permit ?
  Hostname or A.B.C.D  Address to match
  any                  Any source host
  host                 A single host address

Étape 3 : Autoriser le réseau Legal

Nous voulons autoriser le trafic en provenance du réseau 192.168.1.0/24.

R1(config-std-nacl)# permit ?
  Hostname or A.B.C.D  Address to match
  any                  Any source host
  host                 A single host address

Ici, nous choisissons de faire correspondre une adresse de réseau :

R1(config-std-nacl)# permit 192.168.1.0 ?      
  A.B.C.D  Wildcard bits
  log      Log matches against this entry
  

Nous ajoutons ensuite le wildcard mask:

R1(config-std-nacl)# permit 192.168.1.0 0.0.0.255

Expliquons cette commande :

  • 192.168.1.0 est le réseau que nous voulons faire correspondre.
  • 0.0.0.255 est appelé un wildcard mask

Qu’est-ce qu’un wildcard mask?

C’est l’inverse d’un masque de sous-réseau. Il indique au routeur quelles parties de l’adresse doivent correspondre :

  • 0 signifie « doit correspondre exactement »
  • 255 signifie « toute valeur est autorisée »

Ainsi, 0.0.0.255 signifie :
« Correspond à toute adresse comprise entre 192.168.1.0 et 192.168.1.255 »

Étape 4 : Refuser le réseau RH

Nous bloquons maintenant tout le trafic provenant du réseau HR 192.168.2.0/24.

R1(config-std-nacl)# deny 192.168.2.0 0.0.0.255

Cette règle bloque toutes les adresses IP comprises entre 192.168.2.0 et 192.168.2.255.

Important : le refus implicite

Chaque ACL se termine par une règle invisible qui bloque tout le reste :

Tout paquet qui ne correspond pas à une règle d’autorisation sera automatiquement refusé.

Ainsi, même si vous n’ajoutez pas de refus, il est toujours présent par défaut.

C’est à ce moment-là que l’ACL est créée. Mais elle n’est pas encore active.

Dans la section suivante, nous l’appliquerons à l’interface correcte du routeur afin qu’il puisse commencer à filtrer le trafic.

2. Où appliquer l’ACL standard

Une fois que votre ACL standard est créée, elle ne fera rien tant que vous ne l’appliquerez pas à une interface.
Cette étape indique au routeur où l’ACL doit fonctionner et dans quelle direction il doit inspecter les paquets.

Stratégie de placement

Une ACL standard filtre le trafic uniquement sur la base de l’adresse IP source.
En raison de cette limitation, la meilleure stratégie consiste à l’appliquer le plus près possible de la destination.

Pourquoi pas près de la source ?
Si vous l’appliquez trop tôt, vous risquez de bloquer accidentellement le trafic qui aurait dû atteindre d’autres parties du réseau.

Dans notre exemple, nous voulons :

  • Autoriser 192.168.1.0/24 (légal)
  • Bloqué 192.168.2.0/24 (HR)
  • Protéger l’accès au serveur 192.168.3.1
standard acl placement explanation schema

Le serveur Legal se trouve derrière l’interface G0/2 du routeur R1.

Nous appliquons donc l’ACL à G0/2, qui est le plus proche de la destination.

Cela permet de s’assurer que seul le trafic autorisé atteint le serveur.

Comment appliquer l’ACL

Nous allons maintenant appliquer le numéro ACL 10 que nous avons créé précédemment.

Étape 1 : Entrer dans le mode de configuration de l’interface

Tout d’abord, accédez à l’interface qui mène à la destination.

R1(config)# int g0/0

Étape 2 : Vérifier les options ACL disponibles

Utilisez la commande ip access-group. Le routeur vous indiquera les formats pris en charge :

R1(config-if)# ip access-group ?
  <1-199>      IP access list (standard or extended)
  <1300-2699>  IP expanded access list (standard or extended)
  WORD         Access-list name

Étape 3 : Appliquer l’ACL 10 dans la direction sortante

Puisque nous filtrons le trafic sortant du routeur vers le serveur, nous choisissons la direction sortante.

R1(config-if)# ip access-group 10 ?
  in   inbound packets
  out  outbound packets
R1(config-if)# ip access-group 10 out

Résumé

  • Appliquer les ACL standard le plus près possible de la destination
  • Utiliser ip access-group sur l’interface correcte
  • Choisir de filtrer les paquets quittant le routeur

L’ACL est maintenant active et commencera à filtrer le trafic en fonction des règles que vous avez configurées.

3. Vérification des ACL standard

Après l’application de l’ACL, il est important de vérifier que:

  1. L’ACL est correctement rédigée
  2. L’ACL est correctement appliqué à l’interface

Cisco fournit deux commandes à cet effet.

Étape 1 : Vérifier le contenu de l’ACL

Utilisez la commande suivante pour afficher les règles ACL :

R1# show access-lists 10
Standard IP access list 10
    10 permit 192.168.1.0, wildcard bits 0.0.0.255
    20 deny   192.168.2.0, wildcard bits 0.0.0.255

Cela le confirme :

  • Le trafic en provenance de 192.168.2.0/24 est bloqué
  • Le trafic en provenance de 192.168.1.0/24 est autorisé

Étape 2 : Vérifier si l’ACL est appliqué à l’interface

Utilisez la commande suivante pour vérifier que l’ACL est bien active sur l’interface du routeur :

R1# show ip interface g0/0
GigabitEthernet0/0 is up, line protocol is up
  Internet address is 192.168.3.254/24
  Broadcast address is 255.255.255.255
  Address determined by setup command
  MTU is 1500 bytes
  Helper address is not set
  Directed broadcast forwarding is disabled
  Outgoing access list is 10
  Inbound  access list is not set
  Proxy ARP is enabled
  Security level is default
  Split horizon is enabled
  ICMP redirects are always sent
  ICMP unreachables are always sent
  ICMP mask replies are never sent
  IP fast switching is enabled
  IP CEF switching is enabled
  IP mtu 1500

Cela le confirme :

  • L’ACL numéro 10 est appliquée dans la direction sortante.
  • Il est actif sur l’interface G0/0, qui se connecte au serveur de destination.

4. Named Standard ACLs

Par défaut, les ACL standard sont créées à l’aide de nombres (par exemple,10).
Cependant, vous pouvez également utiliser des noms, ce qui rend la configuration plus lisible et plus facile à gérer.

Créons une ACL standard nommée ALLOW_LEGAL_DENY_HR avec la même logique que précédemment.

Exemple d'ACL standard autorisant le réseau légal et bloquant le trafic RH

Étape 1 : Entrer dans le mode de configuration globale

Entrez dans le mode de configuration globale et définissez l’ACL avec un nom descriptif :

R1(config)# ip access-list standard ALLOW_LEGAL_DENY_HR

Cette opération crée une Named ACL in standard mode.

R1(config-std-nacl)# permit 192.168.1.0 0.0.0.255
R1(config-std-nacl)# deny 192.168.2.0 0.0.0.255

Cette configuration signifie :

  • Autoriser tout le trafic en provenance du réseau Legal (192.168.1.0/24)
  • Bloquer tout le trafic en provenance du réseau HR (192.168.2.0/24)

Comme pour les ACL numérotées, il y a toujours un refus implicite à la fin.

5. Application des ACL standard nommées aux interfaces

Comme pour les ACL numérotées, une ACL nommée doit être appliquée à une interface pour devenir active.

Dans cet exemple, nous voulons appliquer l’ACL à l’interface G0/0, qui mène au serveur Legal.

Étape 1 : Entrer dans le mode de configuration de l’interface

R1(config)# interface G0/0

Étape 2 : Appliquer la Named ACL dans la direction outbound

R1(config-if)# ip access-group ALLOW_LEGAL_DENY_HR out
  • Nous choisissons out parce que le trafic est envoyé vers le serveur
  • Cela permet de s’assurer que l’ACL filtre le trafic avant qu’il n’atteigne la destination

6. Vérification le Named Standard ACLs

Vous pouvez vérifier le contenu d’une ACL Named à l’aide de la commande show access-lists, comme pour les ACL numérotées.

R1# show access-lists ALLOW_LEGAL_DENY_HR
Standard IP access list ALLOW_LEGAL_DENY_HR
    10 permit 192.168.1.0, wildcard bits 0.0.0.255
    20 deny 192.168.2.0, wildcard bits 0.0.0.255

Cela confirme que l’ACL a été créée correctement et qu’elle est prête à filtrer le trafic.

7. Conclusion

Ce qu’il faut retenir des ACL standard

Concept cléDescription
Ce qu’il filtreAdresse IP source uniquement
Impossible de filtrerIP, ports ou protocoles de destination
Où l’appliquer ?Le plus près possible de la destination
Évaluation des règlesDe haut en bas – le premier match gagne, les autres sont ignorés
Comportement par défautRefus implicite de tout à la fin (même s’il n’est pas configuré)
Plage de numéros1-99 (classique) ou 1300-1999 (élargi)
Named ACLUtilisez un nom descriptif au lieu d’un numéro pour une meilleure lisibilité.
ActivationNe fonctionne que lorsqu’il est appliqué à une interface à l’aide de ip access-group

Maintenant que vous avez appris ce qu’est une ACL standard, le prochain cours portera sur la configuration d’une ACL étendue.