ACL: Access Control List

Une ACL est une liste de règles permettant de filtrer ou d’autoriser du trafic sur un réseau en fonction de certains critères (IP source, IP destination, port source, port destination, protocole, ...). Une ACL permet de soit autoriser du trafic (permit) ou de le bloquer (deny). Il est possible d’appliquer au maximum une ACL par interface et par sens (input/output).
Une ACL est analysée par l’IOS de manière séquentielle.
Dès qu’une règle correspond au trafic, l’action définie est appliquée, le reste de l’ACL n’est pas analysé.
Toute ACL par défaut bloque tout trafic. Donc tout trafic ne correspondant à aucune règle d’une ACL est rejeté.
Remarque: Les ACLs servent également à identifier un trafic afin d’être traité par un processus, dans ce cas le trafic correspondant à un « permit » est traité, et celui correspondant à un « deny » est ignoré.
Il existe deux types d'ACL:
  • ACL standard : Permet d’analyser du trafic en fonction de:
    • Adresse IP source
  • ACL étendue: permet d’analyser du trafic en fonction de:
    • Adresse IP source;
    • Adresse IP destination;
    • Protocole (tcp, udp, icmp, ...);
    • Port source;
    • Port destination;
    • Etc.
Remarques:
  • Les ACLs standard sont à appliquer le plus proche possible de la destination en raison de leur faible
    précision.
  • Les ACLs étendues sont à appliquer le plus proche possible de la source.
Les ACLs peuvent être identifiées soit par un numéro ou soit par un nom et on parle:
  • ACL numérique
  • ACL nommée
Configuration d'une ACL numérique standard ou d'une ACL nommée standard
Configuration d'une ACL numérique étendue ou d'une ACL nommée étendue
Comment modifier une ACL:
Comment supprimer une ACL:
Application, vérification et désactivation d'une ACL:

TP1: Autoriser l'accès au réseau pour un hôte sélectionné

Cette figure illustre un hôte sélectionné disposant d'une autorisation d'accès au réseau. Tout trafic originaire de l'hôte PC­2 et destiné au réseau  172.16.1.0/24  est autorisé, alors que tout autre trafic originaire du réseau 172.16.0.0/24 et destiné à 172.16.1.0/24 est refusé.
Configuration du routeur R1 :
              Routeur(config)#access­list 1 permit host 172.16.0.1
              Routeur(config)#interface fastEthernet f0/1
              Routeur(config)#ip access­group 1 in

Tester en faisant un ping depuis PC­2 et PC­3 vers la machine PC­1

2. Refuser l'accès au réseau pour un hôte sélectionné

Cette   figure   montre   que   le   trafic   originaire   de   l'hôte   PC­1   et   destiné   au   réseau
172.16.1.0/24 est refusé, alors que tout autre trafic originaire du réseau 172.16.0.0/24 et destiné à accéder au réseau 172.16.1.0/24 est autorisé.
Cette configuration refuse tous les paquets de l'hôte 172.16.0.2/24 via fastEthernet 0/1 sur R1 et autorise tout le reste. Vous devez utiliser la commande access list 1 permit any pour autoriser explicitement tout le reste, parce qu'il existe une clause implicite de refus dans chaque ACL.
  • Tout d'abord donner les éléments TCP/IP à chaque machine, aux différentes interfaces du routeur et tester la communication entre ces dernières.
Définition de l'acl:
Routeur(config)#access­list 1 permit host 172.16.0.1
Applicaition de l'acl à l'interface f0/1:
Routeur(config)#interface fastEthernet f0/1
Routeur(config)#ip access­group 1 in

Tester en faisant un ping depuis PC­2 et PC­3 vers la machine PC­1

TP2: Refuser l'accès au réseau pour un hôte sélectionné

Cette   figure   montre   que   le   trafic   originaire   de   l'hôte   PC­1   et   destiné   au   réseau 172.16.1.0/24 est refusé, alors que tout autre trafic originaire du réseau 172.16.0.0/24 et destiné à accéder au réseau 172.16.1.0/24 est autorisé.
Cette configuration refuse tous les paquets de l'hôte 172.16.0.2/24 via fastEthernet 0/1 sur R1 et autorise tout le reste. Vous devez utiliser la commande access list 1 permit any pour autoriser explicitement tout le reste, parce qu'il existe une clause implicite de refus dans chaque ACL.
Commencer par affecté les éléments TCP/IP aux machines et aux interfaces du routeur
Configuration de R1 :
Définition de l'acl :
      R1(config)# access-list 1 deny host 172.16.0.2
      R1(config)# access-list 1 permit any

Application de l'acl :
      R1(config)# interface fastethernet 0/1
      R1(config)# ip access-group 1 in

Tester   en   faisant   un   ping   depuis   PC­2   et   PC­3   vers   la   machine   PC­1.   On constate PC­2 communique avec PC­3 mais pas PC­3.

TP3: ACL et connections Telnet et SSH

Autorisation de l’IP 172.16.1.2 uniquement à ouvrir des sessions à distance sur le Routeur R1 :
Donner une adresse IP à l’interface du routeur, activer la connexion à distance avec ssh et créer au moins un compte et un mot de passe:
  • R1(config)# ip domain-name tirera.sn
  • R1(config)# crypto key generate rsa (#donner la taille du module: 1024,2048,)
  • R1(config)# line vty 0 15
  • R1(config-line)# login local
  • R1(config-line)# transport input ssh
  • R1(config-line)# username aly password passer123
  • R1(config)# ip ssh version2
  • R1(config)# ip ssh authentication-retries 5
  • R1(config)# ip ssh time-out 60
Création d’une acl autorisant uniquement la machine dont l’adresse est 172.16.1.2 à ouvrir des sessions à distance :
R1(config)#access­list 2 permit host   172.16.1.2
R1(config)#access­list 2 deny any
R1(config)#line vty 0 4
R1(config­line)#access­class 2 in
Pour tester lancer un terminal et ouvrir une session ssh sur le routeur R1 comme le montre la figure :
Changer l’adresse IP de la machine à 172.16.1.3/24 comme le montre la figure ci­dessous :
Après avoir redémarré la machine relancer le terminal essayer de vous connecter par ssh  sur l’interface du routeur.

On constate que la connexion a été refusé par le routeur comme le montre la figure ci­-dessous :

TP4: Refuser le trafic Telnet (TCP, port 23)

Afin de résoudre les problèmes de sécurité graves, vous pouvez être amené à désactiver l'accès Telnet à votre réseau privé à partir du réseau public. Cette figure montre comment le trafic Telnet du réseau 172.16.1.0/24 (public) destiné au réseau 172.16.0.0/24 (privé) est refusé, ce qui permet de refuser une session Telnet au réseau  172.16.0.0/24  tandis que tout autre trafic IP est autorisé.
Telnet utilise TCP sur le port 23. Cette configuration montre que tout le trafic TCP réseau 172.16.0.0/24 sur le port 23 est bloqué, et que tout autre trafic IP est autorisé.
Configuration R1
      R1(config)#access­list 102 deny tcp any any eq 23
      R1(config)#access­list 102 permit ip any any
      R1(config)#interface fastEthernet 0/0
      R1(config-int)#ip access­group 102 in

Pour les tests activer la connextion à distance sur le routeur et on essaye de se connecter par telnet et faire aussi un ping sur la machine (172.16.0.1) comme le montre la figure:

Le prochain tutoriel portera sur la translation d'adresse NAT, PAT sous CISCO et sous Linux (iptables).

Commentaires

Posts les plus consultés de ce blog

Intégration des containers Docker à l'application GNS3

Le Service DHCP (Dynamic Host Configuration Protocol)

Les VPN : OpenVPN configuration Server sur Ubuntu 16.04, 14.04