menu

les-listes-de-controle-dacces-acl

INTRODUCTION

Les listes de contrôle d'accès (en anglais ACL: Access Control List) sont des instructions qui expriment une liste de règles, séquentielles et  logiques, imposé par l'Administrateur Réseau sur un Routeur donnant un contrôle supplémentaire (Filtrage) sur les paquets reçus ou transmis. 
Avec les ACL, l'administrateur réseau pourra interdire (bloquer) ou autoriser des paquets que ce soit en Entrée ou en Sortie d'un routeur. Les instructions étant ordonnées séquentiellement , le paquet est examiné depuis le début de la liste, s'il répond au critère de la première instruction, on applique l'action prescrite (Autoriser ou Refuser) et on ignore les autres instructions, dans le cas contraire on descend à la seconde instruction et ainsi de suite jusqu'en bas (fin) de la liste. Si le paquet en question ne répond au critère d'aucune instruction, il sera implicitement ignoré et supprimé.
Le schéma suivant devrait vous aider à comprendre ce principe.
Ainsi les ACLs ajoutent une couche supplémentaire de sécurité sur notre réseau mais attention, il ne faut pas en abuser. Celà dit qu'il est préférable de laisser la sécurité aux équipements dédiés (Firewalls, IDS/IPS, etc..) et permettre ainsi aux routeurs de se figer uniquement à la fonction de Routage.

A retenir : Il ne peut y avoir qu'une seule ACL par protocole, par interface et par sens (Entrée ou Sortie).
Nous nous limiterons uniquement aux ACLs IP. Il en existe d'autres notamment pour les protocoles AppleTalk, IPx. 

Maintenant que vous avez compris le rôle d'une ACL, passons maintenant aux différentes types d'ACLs.

Les Différents types d'ACLs

En général les ACLs, quelque soit leur type, se basent sur les filtres suivants:
  • L'adresse IP source (Émetteur du Paquet).
  • L'adresse IP de destination.
  • Le type de Protocole du Paquet (TCP, UDP, ICMP, IP).
  • Le Port Source du paquet.
  • Le port destination du paquet. 
Selon les méthodes de filtrage, il en existe  deux types :
  1. Les ACLs Standards
  2. Les ACLs Étendues
Il existe aussi des ACLs Nommées à partir de la version 11.2 de l'IOS Cisco.

Chaque ACL est identifiable par un numéro unique (sauf les ACLs nommées qui sont identifiés par leurs noms). Ainsi pour pouvoir distinguer une ACL standard d'une ACL entendue, un bloc de numéros a été réservé pour chaque type:
Type d’ACL
Bloc de numéros
                          Standard
1-99
                          Etendue
100-199

Différence entre liste d'accès standard et liste d'accès étendue


- Une liste d'accès standard examinera seulement l'adresse IP source.

- Une liste d'accès étendue pourra examiner les adresses IP et les ports aussi bien source que destination, ainsi que type de protocole (IP, ICMP, TCP, UDP).

- Par ailleurs, il sera possible de vérifier une partie des adresses avec un masque générique (wildcard mask).
Pour mettre en place une politique de sécurité basé sur les ACLs sur un routeur cisco, on se doit de suivre les étapes suivantes:

  1. Créer l'ACL.
  2. Sélectionner une interface.
  3. Appliquer l'ACL  sur cette interface selon un sens (Entrée ou Sortie).

Le masque générique (Wildcard Mask)

Il ne faut pas confondre un masque générique (wilcard mask) avec un masque de réseau.
Un masque générique est un masque de filtrage. Quand un bit aura une valeur de 0 dans le masque, il y aura vérification de ce bit sur l'adresse IP de référence. Lorsque le bit aura une valeur de 1, il n'en y aura pas.
Un masque de réseau est un masque de division ou de regroupement. Une addition booléenne d'une adresse IP et d'un masque de réseau est utilisée pour distinguer la partie réseau de la partie hôte.
En binaire, alors qu'un masque de réseau est nécessairement une suite homogène de 1 et puis de 0, un masque générique peut être une suite quelconque de 1 et de 0 en fonction du filtrage que l'on veut opérer sur des adresses IP.
Considérons l'exemple suivant :

Adresse de référence : 10.1.1.0
Masque générique : 0.0.0.255
Adresse de référence (binaire) : 00001010. 00000001. 00000001.00000000
Masque générique (binaire) : 00000000. 00000000. 00000000.11111111
En se basant sur le masque en binaire, on peut remarquer que les trois premiers octets de l'adresse de référence doivent correspondre. La valeur du dernier octet n'a pas d'importance. Autrement dit, avec ce masque, toutes les adresses de 10.1.1.0 jusque 10.1.1.255 seront vérifiées.
Voici quelques exemples classiques de masque générique sur n'importe quelle adresse IP :

Masque générique Version binaire Description
0.0.0.0 00000000.00000000.00000000.00000000 Tous les bits seront examinés
0.0.0.255 00000000.00000000.00000000.11111111 Les 24 premiers bits seront examinés
0.0.255.255 00000000.00000000.11111111.11111111 Les 16 premiers bits seront examinés
0.255.255.255 00000000.11111111.11111111.11111111 Les 8 premiers bits seront examinés
255.255.255.255 11111111.11111111.11111111.11111111 L'adresse ne sera pas examinée. Tous les bits correspondent d'emblée.
0.0.15.255 00000000.00000000.00001111.11111111 Les 20 premiers bits seront examinés
0.0.3.255 00000000.00000000.00000011.11111111 Les 22 premiers bits seront examinés
32.48.0.255 00100000.00110000.00000000.11111111 Tous les bits seront examinés sauf le 3ème, le 11ème, le 12ème et les 8 derniers
- Le mot "any" remplace le 0.0.0.0 255.255.255.255, autrement dit toute adresse IP

- Le mot "host" remplace le masque 0.0.0.0, par exemple, 10.1.1.1 0.0.0.0 peut être remplacé par "host 10.1.1.1"
Dans la suite de ce Tuto, nous détaillerons chaque type d'ACL et nous verrons ensemble comment les configurer sur un routeur Cisco afin d'assurer un filtrage efficace selon nos priorités.