Définition des ACLs
Les listes de contrôle d’accès sont des listes de conditions qui sont appliquées au trafic circulant via une interface de routeur.
Ces listes indiquent au routeur les types de paquets à accepter ou à rejeter. L’acceptation et le refus peuvent être basés sur des conditions précises. Les ACL permettent de gérer le trafic et de sécuriser l’accès d’un réseau en entrée comme en sortie.
Des listes de contrôle d’accès peuvent être créées pour tous les protocoles routés, tels que les protocoles IP (Internet Protocol) et IPX (Internetwork Packet Exchange). Des listes de contrôle d’accès peuvent également être configurées au niveau du routeur en vue de contrôler l’accès à un réseau ou à un sous-réseau.
Les listes d’accès filtrent le trafic réseau en commandant aux interfaces d’un routeur d’acheminer ou de bloquer des paquets routés.
Voici
les principales raisons pour lesquelles il est nécessaire de créer des listes
de contrôle d’accès :
- Limiter le trafic réseau et accroître les performances. En limitant le trafic vidéo, par exemple, les listes de contrôle d’accès permettent de réduire considérablement la charge réseau et donc d’augmenter les performances.
- Contrôler le flux de trafic. Les ACL peuvent limiter l’arrivée des mises à jour de routage. Si aucune mise à jour n’est requise en raison des conditions du réseau, la bande passante est préservée.
- Fournir un niveau de sécurité d’accès réseau de base. Les listes de contrôle d’accès permettent à un hôte d’accéder à une section du réseau tout en empêchant un autre hôte d’avoir accès à la même section. Par exemple, l’hôte A peut accéder au réseau réservé aux ressources humaines, tandis que l’hôte B ne peut pas y accéder.
- Déterminer le type de trafic qui sera acheminé ou bloqué au niveau des interfaces de routeur. Il est possible d’autoriser l’acheminement des messages électroniques et de bloquer tout le trafic via Telnet.
- Autoriser un administrateur à contrôler les zones auxquelles un client peut accéder sur un réseau.
- Filtrer certains hôtes afin de leur accorder ou de leur refuser l’accès à une section de réseau. Accorder ou refuser aux utilisateurs la permission d’accéder à certains types de fichiers, tels que FTP ou HTTP.
Fonctionnement des listes de contrôle d’accès
Une liste de contrôle d’accès est un groupe d’instructions qui définissent si les paquets sont acceptés ou rejetés au niveau des interfaces d’entrée et de sortie.Pour prendre ces décisions, les paquets sont comparés avec une instruction de condition d’une liste d’accès, puis acceptés ou rejetés selon l’action définie dans l’instruction.
L’ordre des instructions ACL est important. La plate-forme logicielle Cisco IOS teste le paquet par rapport à chaque instruction de condition en partant du début de la liste jusqu’à la fin. Lorsqu’une condition est satisfaite dans la liste, le paquet est accepté ou rejeté et les autres instructions ne sont pas vérifiées. Si une instruction de condition autorisant l’accès à tout le trafic est située en haut de la liste, aucune instruction ajoutée en dessous ne sera vérifiée.
Création de listes de contrôle d’accès
Les ACL sont créées en mode de configuration globale. Il existe différents types de listes de contrôle d’accès : standard, étendues, IPX et AppleTalk. Au moment de configurer les listes de contrôle d’accès d’un routeur, vous devez identifier chaque liste en lui attribuant un numéro unique. Ce numéro identifie le type de liste d’accès créé et doit être compris dans la plage de numéros valide pour ce type.Après avoir accédé au mode de commande approprié et décidé d’un numéro de type de liste, l’utilisateur saisit les instructions de la liste d’accès à l’aide de la commande access-list, suivi des paramètres appropriés. La seconde partie du processus consiste à les assigner à l’interface qui convient. Cette première étape est la première d’un processus qui en compte deux. La seconde partie du processus consiste à assigner l’ACL à l’interface qui convient.
Sous TCP/IP, les listes de contrôle d’accès sont affectées à une ou à plusieurs interfaces et peuvent filtrer le trafic entrant ou sortant à l’aide de la commande ip access-group disponible à partir du mode de configuration d’interface. Lorsque vous affectez une ACL à une interface, vous devez spécifier la direction du filtre (entrée ou sortie). La direction du filtre peut être définie de manière à vérifier les paquets qui sont reçus ou envoyés par une interface. Pour déterminer si une liste de contrôle d’accès concerne le trafic entrant ou sortant, l’administrateur réseau doit regarder les interfaces comme s’il était positionné à l’intérieur du routeur. Il s’agit d’un point très important. Les paquets reçus par une interface sont filtrés par une liste de contrôle d’accès pour trafic entrant tandis que les paquets envoyés par une interface sont filtrés par une liste de contrôle d’accès pour trafic sortant. Après avoir créé une liste d’accès numérotée, vous devez l’affecter à une interface. Une liste de contrôle d’accès contenant des instructions numérotées ne peut pas être modifiée. Elle doit être supprimée à l’aide des instructions de l’ACL en utilisant la commande no access-listnuméro-de-liste pour être ensuite recréée.
Rôle du masque générique
Le masque de sous-réseaux et le masque générique représentent deux choses différentes même s'ils sont tous les deux appliqués à des adresses IP. Les masques de sous-réseaux utilisent les uns et les zéros binaires pour identifier les parties réseau, sous-réseaux et hôte d'une adresse IP. Les masques génériques utilisent les uns et les zéros binaires pour filtrer des adresses IP individuelles ou de groupes pour autoriser ou refuser un accès à des ressources à l'aide d'une adresse IP précise. Le masque générique agit typiquement "à l'inverse" du masque sous-réseaux. Les seules ressemblances entre un masque générique et un masque de sous-réseaux sont leur taille de trente deux bits et leur usage de uns et de zéros binaires.
Cependant, dans un masque générique, la signification des uns et des zéros n’est pas la même que dans le masque de sous-réseau.
Les type de contrôle d’accès
Listes de contrôle d’accès standard
Les
listes d’accès standard vérifient l’adresse d’origine des paquets IP qui sont
routés. Selon le résultat de la comparaison, l’acheminement est autorisé ou
refusé pour un ensemble de protocoles complet en fonction des adresses réseau,
de sous-réseau et d’hôte. À titre d’exemple, l’adresse d’origine et le
protocole des paquets qui entrent par l’interface Fa0/0 sont vérifiés. Si
l’accès leur est accordé, les paquets sont acheminés à travers le routeur vers
une interface de sortie. Dans le cas contraire, ils sont abandonnés au niveau
de l’interface d’entrée.
Fonctionnement des ACL
- Test des règles les unes après les autres
- Si aucune règle n'est applicable, rejet du paquet
Définition d'une règle
- access-list number [deny | permit] source [source-wildcard]
Number compris entre 1 et 99 ou entre 1300 et 1999
- access-list number remark test
Activation d'une ACL sur une interface
- ip access-group [ number | name [ in | out ] ]
Visualiser les ACL
- show access-lists [ number | name ] : toutes les ACL quelque soit l'interface
- show ip access-lists [ number | name ] : les ACL uniquement liés au protocole IP
Exemple 1
interface Ethernet0
ip address 172.16.1.1 255.255.255.0
ip access-group 1 out
access-list 1 remark stop tous les paquets d'IP source 172.16.3.10
access-list 1 deny 172.16.3.10 0.0.0.0
access-list 1 permit 0.0.0.0 255.255.255.255
ip address 172.16.1.1 255.255.255.0
ip access-group 1 out
access-list 1 remark stop tous les paquets d'IP source 172.16.3.10
access-list 1 deny 172.16.3.10 0.0.0.0
access-list 1 permit 0.0.0.0 255.255.255.255
- access-list 1 deny 172.16.3.10 0.0.0.0
Refuse les paquets d'IP source 172.16.3.10
Le masque (également appelé wildcard mask) signifie ici que tous les bits de l'adresse IP sontsignificatifs
Le masque (également appelé wildcard mask) signifie ici que tous les bits de l'adresse IP sontsignificatifs
- access-list 1 permit 0.0.0.0 255.255.255.255
Le masque 255.255.255.255 signifie qu'aucun bit n'est significatif
Exemple 2
interface Ethernet0
ip address 172.16.1.1 255.255.255.0
ip access-group 1 out
access-list 1 remark stop tous les paquets d'IP source 172.16.3.10
access-list 1 deny host 172.16.3.10
access-list 1 permit any
ip address 172.16.1.1 255.255.255.0
ip access-group 1 out
access-list 1 remark stop tous les paquets d'IP source 172.16.3.10
access-list 1 deny host 172.16.3.10
access-list 1 permit any
Une notation améliorée est possible pour remplacer
le masque 255.255.255.255 qui désigne une machine
Utilisation du terme host
0.0.0.0 avec le wildcard masque à 255.255.255.255 qui désigne tout le monde
Utilisation du terme any
le masque 255.255.255.255 qui désigne une machine
Utilisation du terme host
0.0.0.0 avec le wildcard masque à 255.255.255.255 qui désigne tout le monde
Utilisation du terme any
Exemple 3
interface Ethernet0
ip address 172.16.1.1 255.255.255.0
ip access-group 1 out
interface Ethernet1
ip address 172.16.2.1 255.255.255.0
ip access-group 2 in
access-list 1 remark Stoppe tous les paquets d'IP source 172.16.3.10
access-list 1 deny host 172.16.3.10
access-list 1 permit any
access-list 2 remark Autorise que les trames d'IP source 172.16.3.0/24
access-list 2 permit 172.16.3.0 0.0.0.255
ip address 172.16.1.1 255.255.255.0
ip access-group 1 out
interface Ethernet1
ip address 172.16.2.1 255.255.255.0
ip access-group 2 in
access-list 1 remark Stoppe tous les paquets d'IP source 172.16.3.10
access-list 1 deny host 172.16.3.10
access-list 1 permit any
access-list 2 remark Autorise que les trames d'IP source 172.16.3.0/24
access-list 2 permit 172.16.3.0 0.0.0.255
Listes de contrôle d’accès étendues
Les
listes d’accès étendues sont utilisées plus souvent que les listes d’accès
standard car elles fournissent une plus grande gamme de contrôle. Les listes d’accès étendues vérifient les
adresses d’origine et de destination du paquet, mais peuvent aussi vérifier les
protocoles et les numéros de port. Cela donne une plus grande souplesse pour
décrire ce que vérifie la liste de contrôle d’accès. L’accès d’un paquet peut
être autorisé ou refusé selon son emplacement d’origine et sa destination, mais
aussi selon son type de protocole et les adresses de ses ports. Une liste de
contrôle d’accès étendue peut autoriser le trafic de messagerie issu de
l’interface Fa0/0 vers des destinations S0/0 données tout en refusant des
transferts de fichiers et des navigations sur le Web. Lorsque des paquets sont
éliminés, certains protocoles envoient un paquet d’écho à l’émetteur, pour lui
indiquer que la destination était inaccessible.
- access-list number { deny | permit } protocol source sourcewildcard destination dest.-wildcard
- access-list 101 deny ip any host 10.1.1.1
- access-list 101 deny tcp any gt 1023 host 10.1.1.1 eq 23
- access-list 101 deny tcp any host 10.1.1.1 eq http
Listes de contrôle d’accès nommées
Les
listes de contrôle d’accès nommées IP ont été introduites dans la plate-forme
logicielle Cisco IOS version 11.2, afin d’attribuer des noms aux listes d’accès
standard et étendues à la place des numéros. Les avantages procurés par une
liste d’accès nommée sont les suivants:
- Identifier de manière intuitive une liste d’accès à l’aide d’un nom alphanumérique.
- L’IOS ne limite pas le nombre d’ACL nommées qui peuvent être configurées.
- Les ACL nommées permettent de modifier des listes de contrôle d’accès sans avoir à les supprimer, puis à les reconfigurer. Il est important de noter qu’une liste d’accès nommée permet de supprimer des instructions, et d’insérer des instructions uniquement à la fin de la liste. Même avec des listes d’accès nommées, il est préférable d’utiliser un éditeur de texte pour les créer.
Prenez
en considération les éléments suivants avant de mettre en œuvre des listes de
contrôle d’accès nommées.
Les
listes de contrôle d’accès nommées ne sont pas compatibles avec les versions de
la plate-forme logicielle Cisco IOS antérieures à la version 11.2.
Un même
nom ne peut pas être utilisé pour plusieurs listes de contrôle d’accès. Par
exemple, il n’est pas possible de spécifier à la fois une ACL standard et une
ACL étendue nommée George.
Il est important
de connaître les listes d’accès nommées en raison des avantages présentés
ci-avant. Le fonctionnement des listes d’accès avancées, telles que les listes
d’accès nommées, est présenté dans le cursus CCNP.
Une
liste de contrôle d’accès nommée est créée avec la commande ip access-list. L’utilisateur passe en mode de configuration d’ACL. En mode de
configuration de liste de contrôle d’accès, précisez une ou plusieurs
conditions d’autorisation ou de refus. Cela détermine si le paquet est acheminé
ou abandonné lorsque l’instruction ACL est satisfaite.
Une ACL numéroté peut être composé de nombreuses régles. La seule façon de la modifier et de faire
no access-list number
Puis de la redéfinir
Avec les ACL nommées, il est possible de supprimer qu'une seule ligne au lieu de toute
l'ACL
Sa définition se fait de la manière suivante
no access-list number
Puis de la redéfinir
Avec les ACL nommées, il est possible de supprimer qu'une seule ligne au lieu de toute
l'ACL
Sa définition se fait de la manière suivante
- Router(config)# ip access-list extended bart
- Router(config-ext-nacl)# deny tcp host 10.1.1.2 eq www any
- Router(config-ext-nacl)# deny ip 10.1.1.0 0.0.0.255 any
- Router(config-ext-nacl)# permit ip any any
- Pour supprimer une des lignes, il suffit de refaire un
- ip access-list extended bart
- Puis un no deny ip 10.1.1.0 0.0.0.255 any
L'accès au Telnet avec une ACL
Pour utiliser une ACL dans le but de controler l'accès au telnet (donc au vty)
access-class number { in | out }
access-class number { in | out }
line vty 0 4
login
password Cisco
access-class 3 in
!!
access-list 3 permit 10.1.1.0 0.0.0.255
login
password Cisco
access-class 3 in
!!
access-list 3 permit 10.1.1.0 0.0.0.255
Bonjour,
RépondreSupprimerTrès bien expliqué, cependant vous écrivez "qu'il est important de noter qu’une liste d’accès nommée permet de supprimer des instructions, et d’insérer des instructions uniquement à la fin de la liste"
Or il me semble que nous pouvons insérer un énoncé entre deux déjà existant grâce à des numéros d'énoncés dans la liste nommée (standard ou étendue). Me trompe-je ?
Merci