Vous êtes sur la page 1sur 9

ACL : Rsum thorique (v0.4.

0)
Les listes d'accs sont une matire importante et basique du CCNA. Ici, il s'agit seulement d'appliquer des filtres sur les interfaces afin de bloquer du trafic qui les traverse. Toutefois, leur principe s'applique d'autres circonstances qui dpassent notre tude ...

1. DFINITION
Une liste d'accs est un ensemble d'instructions bases sur des protocoles de couche 3 et de couches suprieures pour filtrer le trafic. L'tude exige seulement que nous les appliquions partir des interfaces. Les ACLs font partie des fonctionnalits de type "firewall" des IOS Cisco. On se contentera d'tudier les ACLs standard et tendue dsignes par un numro ou nom. Notons que l'on trouvera aussi des ACLs rflexives, bases sur le temps et Context-based access control (CBAC). Ces dernires ne sont pas abordes par le CCNA. Elles font parties du cours scurit.

2. TYPES DE PROTOCOLES
Les types de protocoles que nous allons pouvoir configurer dans les instructions de filtrage sont : le port source

l'adresse IP source

une partie de l'adresse source

le port de destination

l'adresse IP de destination

une partie de l'adresse de destination

3. UTILIT
Une liste d'accs va servir :

A supprimer des paquets pour des raisons de scurit (pour du trafic de donnes ou des accs VTY)

A filtrer des mises jour de routage

A filtrer des paquets en fonction de leur priorit (QoS)

A dfinir du trafic intressant pour des configurations spcifiques (NAT, ISDN, etc.)

4. LOGIQUE

Une liste d'accs, comportant une suite d'instructions de filtrage, va tre applique sur une interface du routeur, pour le trafic entrant ou pour le trafic sortant. Il va falloir appliquer une logique sur les interfaces en sortie ou en entre :

5. CARACTRISTIQUES

Les paquets peuvent tre filtrs en entre (quand ils entrent sur une interface) avant la dcision de routage

Les paquets peuvent tre filtrs en sortie (avant de quitter une interface) aprs la dcision de routage.

Le mot clef IOS est "deny" pour signifier que les paquets doivent tre filtrs ; prcisment les paquets seront refuss selon les critres dfinis.

Le mot clef IOS est "permit" pour signifier que les paquets ne doivent pas tre filtrs ; prcisment les paquets seront permis selon les critres dfinis.

La logique de filtrage est configure dans les listes d'accs.

Une instruction implicite rejette tout le trafic la fin de chaque liste d'accs

6. TRAITEMENT
Le traitement d'une liste d'accs se droule en deux tapes : 1. Recherche de correspondance (examen de chaque paquet)

2. Action (deny ou permit) Ensuite , 3. Si pas de correspondance, instruction suivante 4. Si aucune correspondance, l'instruction implicite est applique

7. DIFFRENCE ENTRE LISTE D'ACCS STANDARD ET LISTE D'ACCS TENDUE

Une liste d'accs standard examinera seulement l'adresse IP source.

Une liste d'accs 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 vrifier une partie des adresses avec un masque gnrique (wildcard mask).

8. DSIGNATION D'UNE LISTE D'ACCS


On donnera soit un numro ou un nom une liste d'accs (un ensemble d'instructions de filtrage) appliquer sur une interface en entre ou en sortie. Si on utilise un numro on aura le choix dans une plage de nombres en fonction du protocole de couche 3:

Protocole IP IP tendu Apple Talk IPX IPX tendu

Plage 1 - 99 et 1300 - 1999 100 - 199 et 2000 - 2699 600 - 699 800 - 899 900 - 999

Protocole IPX Service Advertising 1000 - 1099


Si on utilise un nom, il faudra dsigner le type de liste : standard ou tendue.

9. LE MASQUE GNRIQUE (WILDCARD MASK)


Il ne faut pas confondre un masque gnrique (wilcard mask) avec un masque de rseau. Un masque gnrique est un masque de filtrage. Quand un bit aura une valeur de 0 dans le masque, il y aura vrification de ce bit sur l'adresse IP de rfrence. Lorsque le bit aura une valeur de 1, il n'en y aura

pas. Un masque de rseau est un masque de division ou de regroupement. Une addition boolenne d'une adresse IP et d'un masque de rseau est utilise pour distinguer la partie rseau de la partie hte. En binaire, alors qu'un masque de rseau est ncessairement une suite homogne de 1 et puis de 0, un masque gnrique peut treune suite quelconque de 1 et de 0 en fonction du filtrage que l'on veut oprer sur des adresses IP. Considrons l'exemple suivant :

Adresse de rfrence : Masque gnrique : Adresse de rfrence (binaire) :

10.1.1.0 0.0.0.255 00001010. 00000001. 00000001.00000000 00000000. 00000000. 00000000.11111111

Masque gnrique (binaire) :

En se basant sur le masque en binaire, on peut remarquer que les trois premiers octets de l'adresse de rfrence 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 vrifies. Voici quelques exemples classiques de masque gnrique sur n'importe quelle adresse IP :

Masque gnrique 0.0.0.0

Version binaire

Description

00000000.00000000.00000000.0000000 Tous les bits seront examins 0 00000000.00000000.00000000.1111111 Les 24 premiers bits seront 1 examins 00000000.00000000.11111111.1111111 Les 16 premiers bits seront 1 examins 00000000.11111111.11111111.1111111 Les 8 premiers bits seront 1 examins

0.0.0.255

0.0.255.255

0.255.255.255

255.255.255.255 11111111.11111111.11111111.1111111 L'adresse ne sera pas examine. 1 Tous les bits correspondent

d'emble. 0.0.15.255 00000000.00000000.00001111.1111111 Les 20 premiers bits seront 1 examins 00000000.00000000.00000011.1111111 Les 22 premiers bits seront 1 examins Tous les bits seront examins 00100000.00110000.00000000.1111111 sauf le 3me, le 11me, le 1 12me et les 8 derniers

0.0.3.255

32.48.0.255

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" Concrtement, on pourra gnraliser de la manire suivante. Le masque gnrique utiliser est l'inverse du masque de rseau pour un rseau filtrer. Par exemple, pour filter sur 192.168.1.0/24 (255.255.255.0), on prendra un masque gnrique 0.0.0.255. Autre exemple aussi, pour filter sur 192.168.1.0/27 (255.255.255.224), on prendra un masque gnrique 0.0.0.31.

10. RGLES D'APPLICATION

Placer les listes d'accs aussi prs de que possible de la source des paquets (au niveau de l'interface) s'il s'agit d'une ACL tendue. Par contre, s'il s'agit d'une ACL standard, il faut la placer au plus proche de la destination (puisque c'est ce qu'elle ne vrifie pas).

Placer en tte de liste les rgles (les instructions) qui font l'objet d'une correspondance la plus prcise et les plus gnrales la fin.

Suivre ces deux recommandations tout en respectant les restrictions d'accs qui ont t identifies.

11. SYNTAXE DES COMMANDES


La mise en uvre d'une ACL se droule en deux tapes : 1. chariot. 2. Application sur une interface en entre ou en sortie Cration de la liste, en plaant les instructions les unes aprs les autres suivies d'un retour

11.1. Liste d'accs standard

Router(config)#access-list numro-liste-accs {deny|permit} adresse-source [masquesource] [log]

11.2. Liste d'accs tendue


Router(config)#access-list numro-liste-accs {deny|permit} protocole adressesource masque-source[oprateur port] adresse-destination masque-destination [oprateur por t] [log] O : "oprateur" peut prendre les valeurs suivantes :

lt (less than) gt (greater than) eq (equal) neq (not equal) range (inclusive range).

O le paramtre "port" peut prendre une valeur nominative ou numraire : de 0 65535 ou, par exemple, http, telnet, ftp, etc.

11.3. Liste d'accs nomme


Router(config)#ip access-list standard nom Router(config-ext-nacl)#permit|deny Router(config)#ip access-list extended nom Router(config-ext-nacl)#permit|deny

11.4. Activation d'une liste d'accs sur une interface


Router(config-if)#ip access-group {numro-liste-accs|nom [in | out]}

11.5. Diagnostic
Router#show ip interface [type numro] Router#show access-lists [numro-liste-accs|nom-liste-accs] Router#show ip access-list [numro-liste-accs|nom-liste-accs] On pourra "logguer" le comportement d'une ACL en ajoutant le termelog la fin d'une directive. Unshow loggingdonnera le rsultat.

12. OPTIMISATION DU MASQUE GNRIQUE


Chaque paquet sera vrifi par chaque entre d'une ACL. Il y aura autant de vrification qu'il y a de paquets et d'entres. Des listes d'accs trop longues peuvent engager beaucoup de ressources. Il s'agira de

les optimiser. Aussi, on peut galement laborer des critres de vrifications assez fins. En voici des exemples.

12.1. Summarization d'ACL

Considrons ces huit rseaux filtrer : 192.168.32.0/24 192.168.33.0/24 192.168.34.0/24 192.168.35.0/24 192.168.36.0/24 192.168.37.0/24 192.168.38.0/24 192.168.39.0/24 Les deux premiers octets sont identiques. Ils devront tre vrifis. Le masque gnrique commencera par 0.0. Le troisime octet varie. Il peut tre crit comme dans le tableau suivant conformment la position de chaque bit par rapport sa valeur :

Dcimale 32 33 34 35 36 37 38 39

12 6 3 1 8 421 8 4 2 6 0 0 0 0 0 0 0 0 0 1 0 0 000 0 1 0 0 001 0 1 0 0 010 0 1 0 0 011 0 1 0 0 100 0 1 0 0 101 0 1 0 0 110 0 1 0 0 111

M M M M MDDD

On remarque aisment que les cinq premiers bits correspondent exactement (M) alors que les trois derniers changent. Le masque gnrique sur cet octet sera donc : 7 (00000111) Dans le cas prsent, le dernier octet ne doit pas tre vrifi. Le masque gnrique sera : 0.0.7.255 Notons que cet ensemble d'adresses peut tre rsum avec le masque de super-rseau : "192.168.32.0/21" ou "192.168.32.0 255.255.248.0". Dans ce cas commun dans lequel il faudra vrifier ce groupe d'adresse IP, le masque gnrique sera l'inverse du masque rseau : en soustrayant 255.255.248.0 de 255.255.255.255, on obtient 0.0.7.255

12.2. Filtrage fin

Quelle mthode a t employe pour dcouvrir les bits qui doivent tre filtrs sur une adresse IP ? On a dsign les bits qui ne varient pas d'une adresse une autre et nous les avons marqu avec un masque gnrique la valeur 0 en binaire. Par exemple, pour filtrer sur un octet uniquement les adresses paires :

Dcimale 0 2 4 6 8 10 x pairs

12 6 3 1 8421 8 4 2 6 0 0 0 0 0 0 ? 0 0 0 0000 0 0 0 0010 0 0 0 0100 0 0 0 0110 0 0 0 1000 0 0 0 1010 ? ? ? ? ? ? 0

D D D D DDDM
On constate que le point commun entre toutes ces adresses ne concerne que le dernier bit de l'octet. C'est donc ce dernier qu'il faudra vrifier par rapport une adresse de rfrence. Concrtement, en binaire, on aura un masque sur l'octet de "11111110", "254" en dcimale avec comme octet de rfrence binaire "00000000", "0" en dcimale. Avec la directive "192.168.1.0/0.0.0.254", on filtrera toutes les adresses paires du rseau 192.168.1.0/24. C'est comme si on disait, vrifie :

que le premier octet soit toujours gal 192 en dcimale, que le second octet soit toujours gal 168 en dcimale, que le troisime octet soit toujours gal 1 en dcimale, que le dernier bit du quatrime octet soit toujours gal zro en binaire, soit que sa valeur dcimale soit paire.

13. LIENS ET RFRENCES

Vous aimerez peut-être aussi