Standard ACL

Exemple d'ACL standard bloquant le réseau HR 192.168.2.0/24 et autorisant le réseau Legal 192.168.1.0/24 à accéder au serveur Legal 192.168.3.0/24 via le routeur R1

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é.

Une Standard Access Control List (ACL) vous aide à atteindre cet objectif en filtrant le trafic IPv4 sur la base de l’adresse IP source uniquement.

Diagramme ACL standard autorisant le réseau juridique 192.168.1.0/24 et interdisant au réseau RH 192.168.2.0/24 d'accéder au serveur juridique 192.168.3.1

Dans l’exemple ci-dessous :

  • Le réseau Legal (192.168.1.0/24) est autorisé à accéder au serveur Legal (192.168.3.1).
  • Le réseau RH (192.168.2.0/24) se voit refuser l’accès à ce même serveur.

Il s’agit d’un cas d’utilisation parfait pour une ACL standard, car vous ne vous souciez que de la personne qui envoie le trafic, et non de la destination ou du type de trafic.

2. Configurer l’ACL standard

Maintenant que vous avez compris ce qu’est une ACL standard, voyons comment en configurer une étape par étape sur un routeur Cisco.

É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.

Voyons les options disponibles :

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 ferons correspondre un réseau à l’aide du wildcard mask :

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

Cette ligne correspond à n’importe quel hôte entre 192.168.1.0 et 192.168.1.255.

Pourquoi 0.0.0.255 ?

Dans les ACL, nous n’utilisons pas de masques de sous-réseau, mais des wildcard mask.

Un wildcard mask est l’inverse d’un masque de sous-réseau. Il indique au routeur les bits à ignorer lors de la comparaison des adresses IP.

R1(config-std-nacl)# permit 192.168.1.0 0.0.0.255
Masque de Sous RéseauWildcard MaskCorrespondances
255.255.255.00.0.0.255Toutes les IP d’un sous-réseau /24
255.255.255.2550.0.0.0Une IP exact


Ainsi :

permit 192.168.1.0 0.0.0.255 => allows the whole 192.168.1.0/24 network
permit 192.168.1.10 0.0.0.0 => allows only 192.168.1.10

Étape 4 : Refuser le réseau RH

Nous bloquons maintenant tout le trafic en provenance de 192.168.2.0/24 :

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

Cela correspond à toutes les IP du sous-réseau HR et les bloque.

Normalement, vous n’avez pas besoin d’écrire un deny, il y a déjà un deny any implicite à la fin de chaque ACL.
Mais ici, nous l’ajoutons explicitement pour montrer comment refuser manuellement un sous-réseau spécifique.

3. Où appliquer l’ACL standard

Votre ACL est maintenant configuré mais il ne fera rien tant que vous ne l’appliquerez pas à une interface.

Stratégie de placement

Les ACL standard ne filtrent que sur la base de l’adresse IP source.
C’est pourquoi la meilleure pratique consiste à les appliquer le plus près possible de la destination.

Pourquoi ?

En effet, si vous appliquez l’ACL trop tôt, vous risquez de bloquer le trafic avant qu’il n’atteigne d’autres parties du réseau.

Exemple de placement d'une ACL standard appliquant l'ACL à proximité de la destination pour autoriser le réseau juridique et empêcher le réseau RH d'accéder au serveur juridique.

Dans notre exemple :

  • Le réseau légal (192.168.1.0/24) est autorisé
  • Le réseau HR (192.168.2.0/24) est refusé.
  • Le serveur Legal (192.168.3.1) est la destination.
    Nous appliquerons l’ACL sur l’interface G0/0, qui se connecte au serveur de destination.

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

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

Étant donné que le trafic est dirigé vers le serveur, nous l’appliquons à la sortie :

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

Résumé

Ce qu’il faut fairePourquoi
Appliquer l’ACL sur l’interface de sortieÉtant donné que les listes de contrôle standard ne vérifient que l’IP source
Utiliser ip access-group 10 outPour activer l’ACL sur le trafic sortant

Votre ACL est maintenant active et filtre le trafic sur l’interface comme prévu.

4. 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 :

  • ACE 10 : Le trafic en provenance de 192.168.1.0/24 est autorisé.
  • ACE 20 : Le trafic en provenance de 192.168.2.0/24 est bloqué

É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
// OUTPUT OMITTED FOR BREVITY

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.

5. Named Standard ACLs

Nous allons maintenant créer la même logique ACL que précédemment, mais cette fois en utilisant un nom au lieu d’un numéro.

Cela facilite la lecture et la gestion de votre configuration

Exemple d'ACL standard nommée autorisant le réseau juridique 192.168.1.0/24 et interdisant au réseau RH 192.168.2.0/24 d'accéder au serveur juridique à l'aide de l'ACL nommée ALLOW_LEGAL_DENY_HR.

É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 ACL nommée autorise le réseau Legal et bloque le réseau RH, tout comme l’ACL 10.

6. Application des Named Standard ACLs

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

7. Vérification des 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.

8. Conclusion

Ce qu’il faut retenir des ACL standard

Concept cléDescription
Ce qu’il filtreSeule l’adresse IP source
Impossible de filtrerIP, protocoles ou ports de destination
Meilleur EmplacementLe plus près possible de la destination
Évaluation des règlesDe haut en bas – le premier match gagne
Comportement par défautSe termine par un refus implicite de l’accès à tous
Plage de numéros1–99 or 1300–1999
Named ACLPeut utiliser un nom descriptif au lieu d’un numéro

Maintenant que vous avez compris le fonctionnement des ACL standard, passons aux Extended ACL et apprenons à filtrer le trafic en fonction non seulement de l’IP source, mais aussi de la destination, du protocole et du numéro de port.