Module 4 : listes de contrôle d’acces
4.1.1 Qu'estce qu'une ACL?
Définition d’une ACL :
Outil pour autoriser ou bloquer les paquets en fonction des critères
définis (adresses IP, protocoles, etc.).
Structure d'une ACL :
Composée d'Access Control Entries (ACEs), qui sont des règles
séquentielles d'autorisation ou de refus.
Fonctionnement :
Le routeur compare les informations du paquet avec chaque ACE
dans l’ordre.
Si le paquet correspond à une règle, l’action correspondante est
appliquée.
Une règle implicite de refus est ajoutée à la fin de toute ACL.
Applications des ACL :
Filtrage de trafic.
Sécurisation du réseau.
Gestion de la qualité de service (QoS).
NAT et redirection.
Configuration basique :
ACL doit être appliquée à une interface pour filtrer le trafic entrant
ou sortant.
4.1.2 Filtrage des paquets
Le filtrage de paquets contrôle l'accès réseau en analysant les paquets
entrants ou sortants à partir de critères spécifiques, et en décidant de les
transmettre ou de les rejeter. Ce processus intervient aux couches 3
(réseau) et 4 (transport) du modèle OSI.
Les routeurs Cisco permettent deux types de listes de contrôle d'accès
(ACL) :
ACL standard : Filtre uniquement à la couche 3 en utilisant
l’adresse IPv4 source.
ACL étendue : Filtre à la fois à la couche 3 (adresses IPv4 source
et/ou destination) et à la couche 4 (ports TCP/UDP et types de
protocoles), offrant un contrôle plus granulaire.
Applications du filtrage de paquets :
Contrôle d'accès réseau.
Restriction des flux indésirables.
Sécurisation des communications.
Avantages des ACL étendues :
Plus de flexibilité grâce au filtrage multicritères.
Contrôle précis des applications en fonction des ports ou protocoles
spécifiques.
4.1.3 ACLs numérotées et nommées
Les listes de contrôle d'accès (ACL) peuvent être numérotées ou
nommées.
1. ACL numérotées :
o Standard : Numéros de 1 à 99 ou 1300 à 1999 (gamme
étendue).
o Étendues : Numéros de 100 à 199
ACL nommées :
Méthode privilégiée pour créer des ACL.
Permet d'attribuer des noms alphanumériques significatifs à la liste.
Exemple :
R1(config)# ip access-list extended FTP-FILTER
R1(config-ext-nacl)# permit tcp [Link] [Link] any eq ftp
Ce qui suit résume les règles à suivre pour les listes de contrôle d'accès
nommées:
Attribuer un nom pour identifier l'objectif de la ACL.
Les noms doivent se composer de caractères alphanumériques.
Les noms ne doivent pas contenir d'espaces ni de signes de
ponctuation.
Il est conseillé d'écrire le nom en MAJUSCULES.
Il est possible d'ajouter et de supprimer des entrées de la liste de
contrôle d'accès.
4.1.4 Fonctionnement de l'ACL
ACL entrante :
Analyse les paquets avant le routage.
Idéal pour bloquer le trafic provenant d'une source spécifique.
Réduit la charge des recherches de routage.
ACL sortante :
Analyse les paquets après le routage, quelle que soit leur interface
d'entrée.
Utile pour appliquer des règles communes à plusieurs interfaces
d’entrée.
Procédure de traitement :
1. Le routeur lit l'adresse IPv4 source dans l'en-tête du paquet.
2. Chaque ACE (Access Control Entry) de l'ACL est comparée
séquentiellement :
o Si une correspondance est trouvée, l’action (autoriser ou
refuser) est appliquée, et les autres ACE sont ignorées.
3. Si aucune correspondance n’est trouvée, le paquet est refusé par
défaut à cause du refus implicite.
4. Une ACL doit inclure au moins une règle d'autorisation, sinon
tout le trafic sera bloqué par le refus implicite
4.4.1 Deux méthodes pour modifier une ACL
Utiliser un éditeur de texte
Utiliser les numéros d'ordre
4.4.2 Méthode de l'éditeur de texte
Étapes pour corriger une ACL avec un éditeur de texte :
1. Copiez l'ACL à partir de la configuration en cours d'exécution et
collez-la dans l'éditeur de texte.
2. Modifier dans un éditeur de texte
3. Supprimer l'ancienne ACL sur le routeur
4. Coller l'ACL corrigée
Exemple :
Avantages de cette méthode :
Clarté : Toutes les règles sont visibles et modifiables avant
l'application.
Réduction des erreurs : Permet de tester ou vérifier les règles
avant de les insérer dans le routeur.
Flexibilité : Pratique pour les ACLs avec de nombreuses règles ou
des configurations complexes.
4.4.3 Méthode du numéro de séquence
La méthode du numéro de séquence permet de modifier une ACL en
supprimant ou en ajoutant des ACE
[Link] les numéros de séquence
[Link] en mode d'édition de l'ACL :
Utiliser ip access-list <type> <numéro> pour accéder à la
configuration de l'ACL.
3. Supprimer une ACE existante
4. Ajouter une nouvelle ACE avec le même numéro
5. Vérifier les modifications
Exemple :
4.5 Implémentation des ACLs (Listes de Contrôle d'Accès)
4.5.2 Appliquer une liste de contrôle d'accès
4.5.3 Où placer les ACLs?
Exemple :
4.6 Atténuer les attaques avec les ACL
Les ACLs jouent un rôle essentiel dans la sécurisation des réseaux en
bloquant les menaces telles que l’usurpation d’adresse IP et les attaques
DoS (Déni de Service).
Usurpation d’adresse IP :
L'usurpation d'adresse IP remplace le processus normal de création de
paquets en insérant un en-tête IP personnalisé avec une adresse IP source
différente. Les hackers peuvent masquer leur identité en usurpant
l'adresse IP source.
Par exemple, dans la figure, l'interface S0/0/0 est connectée à Internet et
ne doit jamais accepter de paquets entrants provenant des adresses
suivantes:
Toutes les adresses de zéros([Link]).
Les adresses de diffusion
Adresses hôtes locales ([Link]/8)
Adresses d'adressage IP privé automatique (APIPA) ([Link]/16)
Adresses privées (RFC 1918)
Plage d'adresses de multidiffusion IP ([Link]/4)
Ces commandes refusent le trafic malveillant avant qu’il ne pénètre dans le réseau.
Cela garantit que seuls les paquets provenant du réseau local [Link]/24 seront
autorisés à entrer.
4.6.2 Autoriser le trafic nécessaire à passer par un pare-feu
Une stratégie efficace pour limiter les attaques consiste à autoriser
explicitement uniquement certains types de trafic à passer par un pare-
feu.
Services autorisés :
1. DNS (port 53, UDP) : Permet la résolution de noms de domaine.
2. SMTP (port 25, TCP) : Permet l’envoi d’e-mails.
3. FTP (port 21, TCP) : Autorise le transfert de fichiers.
4. SSH (port 22, TCP) : Permet la gestion sécurisée à distance.
5. Syslog (port 514, UDP) : Envoie des journaux système pour
surveillance.
6. SNMP (port 162, UDP) : Permet la gestion et le suivi du réseau via
des traps SNMP.
La figure présente un exemple de topologie avec des configurations de
listes de contrôle d'accès pour autoriser des services spécifiques sur
l'interface série 0/0/0.
4.6.3 Limiter les attaques ICMP
Les pirates peuvent utiliser les paquets d'écho (pings) de l'Internet Control
Message Protocol (ICMP) pour découvrir les sous-réseaux et les hôtes d'un
réseau et pour générer des attaques par inondation DoS.
Messages ICMP recommandés :
Messages entrants (vers le réseau interne) à autoriser :
1. Réponse d'écho (Echo Reply) : permet aux utilisateurs d'envoyer
une ping aux hôtes externes.
2. Source Quench : Demande à l'expéditeur de réduire la vitesse de
transmission des paquets.
3. Inaccessible (Destination Unreachable) : Message généré lorsque
l'accès à un hôte est administrativement refusé (par exemple, par
une ACL).
Messages sortants (depuis le réseau interne) à autoriser :
Echo : Permet de répondre à des pings envoyés par des hôtes externes.
Problème de paramètre - informe l'hôte des problèmes d'en-tête de
paquet.
Paquet trop gros (Packet Too Big) : Permet de gérer la découverte de
la taille maximale du paquet (MTU).
Étouffement de la source - réduit le trafic si nécessaire.
Messages ICMP à bloquer :
Redirection (Redirect) : Manipule les tables de routage.
Configuration ACL :
Entrée sur S0/0/0 (vers le réseau interne) :
Sortie sur G0/0 (vers le réseau externe) :
4.6.4 Limiter les attaques SNMP
Désactivation de SNMP :
Si SNMP n'est pas nécessaire, la solution la plus sûre consiste à
désactiver le service SNMP sur les périphériques IOS avec la
commande suivante :
Filtrage avec des ACL :
Si SNMP est requis, il est important de filtrer les paquets SNMP
provenant de sources non autorisées en utilisant des listes de
contrôle d'accès sur les interfaces concernées.
Note importante : Un paquet SNMP falsifié peut toujours exploiter
des vulnérabilités si l'adresse source est autorisée par l'ACL.
4.7.1 Présentation des listes de contrôle d'accès IPv6
4.7.2 Syntaxe des ACL IPv6
1. Création d'une ACL IPv6 :
La commande de base pour créer une ACL IPv6 est
2. Définir les entrées de l'ACL :
3. Explication des éléments de syntaxe :
deny | permit : Spécifie si le trafic doit être autorisé (permit) ou
refusé (deny).
protocol : Le protocole (par exemple, tcp, udp, icmp, ipv6).
source-ipv6-prefix/prefix-length : L'adresse source IPv6 ou le
préfixe de l'adresse source et sa longueur. Par exemple,
[Link]/32.
o any permet tous les préfixes.
o host source-ipv6-address permet de spécifier une adresse
source unique.
operator [port-number] : Un opérateur comme eq (égal), neq
(non égal), etc., suivi d'un numéro de port (par exemple, eq 80 pour
HTTP).
destination-ipv6-prefix/prefix-length : L'adresse de destination
IPv6 ou le préfixe de l'adresse de destination et sa longueur.
dscp value : La valeur du champ Differentiated Services Code
Point pour le filtrage du trafic selon sa priorité.
fragments : Cette option permet de filtrer les fragments de paquets
IPv6.
log : Cette option permet d'enregistrer les paquets qui
correspondent à cette règle.
log-input : Cela permet de capturer et d'enregistrer les paquets
avec des informations sur l'entrée de l'interface.
sequence value : Un numéro de séquence spécifique pour la règle.
time-range name : Le nom d'une plage horaire définie pour
appliquer la règle uniquement pendant certaines périodes.
4. Appliquer une ACL IPv6 à une interface :
4.7.3 Configurer les ACL IPv6