Les
routeurs Cisco offrent une facilité très importante avec les access-lists,
celle d’imiter les Firewalls. En effet, ces listes peuvent filtrer les paquets
entrant ou sortant des interfaces d’un routeur selon quelques critères :
-
l’adresse source pour les access-lists standards.
-
l’adresse source, l’adresse de destination, le protocole ou le numéro de port
pour les access-lists étendues.
Ces
listes peuvent être utilisées dans de très nombreux cas, dès qu’une notion de
filtrage de flux apparaît.
On
déclare l’access-list et on met les conditions que l’on souhaite :
access-list numéro_access_list permit/deny conditions
cela
se fait en mode configuration globale conf
Ensuite
on affecte l’access-list à une interface :
access-group
numéro_access_list
cela
se fait en mode conf-if
le
choix du numéro d’une access-list se fait comme ce qui suit :
En IP de
1 à 99 : access-list standard
de 100 à 199 :
access-list étendue
En IPX de
800 à 899 : access-list standard
de 1000 à 1099 :
access-list étendue
Appletalk de 600 à 699
Permit
et deny pour permettre ou rejeter les conditions mentionnées.
Par
défaut, une access-list interdit tout (elle interdit tout ce qui n’a pas été
autorisé ou interdit)
Parmi
les conditions figurent des adresses sources ou adresses de destination.
Un
masque permet d’indiquer sur quels bits de l’adresse on souhaite un contrôle.
Un
0 signifie que le bit correspondant est vérifié, tandis qu’un 1 signifie qu’il
est ignoré (même type et même rôle que les masques d’adresse IP, mais la
signification des 0 et 1 se trouve inversée).
On
peut remplacer 0.0.0.0 en adresse par
le mot any et 0.0.0.0 en masque par host.
Pour
retirer les access-lists on réécrit les mêmes commandes précédées d’un no.
Le
débuggage :
show ip interface : Pour savoir si une access-list
a été positionnée sur une interface
show access-lists : Pour connaître la configuration des
access-lists
clear access-list numéro: Pour effacer une access-list.
Numéro
d’access-list : de 1 à 99
Mode
de configuration : conf
Syntaxe : access-list numéro_access_list permit/deny
adresse_source masque
Ensuite,
on affecte cette access-list à l’une des interfaces du routeur
Mode
de configuration : conf-if
Syntaxe : access-group numéro_access_list in/out
In/out
selon que l’access-list va être appliquée en entrée ou en sortie de l’interface
choisie. (par défaut out)
Exemples :
M2 M1
e1 e2
1)
Nom_routeur(conf)# access-list 1 deny 192.168.0.1 host
Nom_routeur(conf)#interface e1
Nom_routeur(conf-if)#ip
access-group 1 out
Les
paquets venant de 192.168.0.1 ne peuvent pas sortir de l’interface e1.
On
peut pinguer e1 mais pas la machine M1.
2)
Nom_routeur(conf)# access-list 2
permit 192.168.0.0 0.0.255.255
Nom_routeur(conf)#interface e0
Nom_routeur(conf-if)#ip
access-group 2
Seuls
les paquets ayant comme adresse-source 192.168.x.x sont autorisés à sortir de
e0.
Avec
la commande access-list 2 permit 192.168.0.0 0.0.255.255, il y a un deny
any implicite.
3 )
Nom_routeur(conf)# no access-list 2
permit 192.168.0.0 0.0.255.255
Retire l’access-list 2
Numéro
d’access-list : de 100 à 199
Mode
de configuration : conf
Syntaxe : access-list numéro_access_list permit/deny
protocole adresse_source masque adresse_destination masque opérateur opérande
Ensuite,
on affecte cette access-list à l’une des interfaces du routeur
Mode
de configuration : conf-if
Syntaxe : access-group numéro_access_list in/out
Exemples:
1)
Nom_routeur(conf)# access-list 101
deny tcp 192.168.1.0 0.0.0.255
192.168.2.0 0.0.0.255 eq 21
Nom_routeur(conf)# access-list 101
deny tcp 192.168.1.0 0.0.0.255
192.168.2.0 0.0.0.255 eq 20
Nom_routeur(conf)#access-list 101 permit ip 192.168.1.0 0.0.0.255 any
Nom_routeur(conf)#interface e0
Nom_routeur(conf-if)#ip
access-group 101
Dans
cet exemple, on interdit tous les paquets venant des machines 192.168.1.x de faire du FTP (port tcp 20
et 21) vers les machines 192.168.2.x. Mais on autorise tous les autres
protocoles IP pour les machines 192.168.1.x vers toutes les autres
destinations, sinon par défaut c’est interdit.
2)
Nom_routeur(conf)# access-list 102
permit tcp 192.168.1.0 0.0.0.255
any eq 25
Nom_routeur(conf)#interface e1
Nom_routeur(conf-if)#ip
access-group 102
On ne
permet qu’aux machines 192.168.1.x de faire du SMTP vers l’interface e1.
3)
Nom_routeur(conf)# no
access-list 102 permit tcp
192.168.1.0 0.0.0.255 any eq 25
Retire l’access-list 102