LISTES D’ACCÈS ÉTENDUES

Niveau 4 du modèle OSI : peut agir au niveau des ports des requêtes. Une seule liste par sens (in ou out) sur une interface. Il est plus efficace de bloquer les requêtes entrant dans l’interface. Le but des listes d’accès étendues est de pouvoir appliquer plusieurs règles à une liste d’accès, permettant d’avoir des règles précises sur les requêtes à l’entrée ou la sortie d’une interface. Elles permettent/interdisent l’accès à un hôte/réseau/port depuis un hôte/réseau/port avec un protocole donné. On pourra alors appliquer une liste sur chaque sens (in ou out) d’une interface, le sens in correspond aux requêtes entrantes dans l’interface, et donc out correspond aux requêtes sortant de l’interface. Les règles out sont en général utilisées pour régler les permissions qu’aura l’équipement lui-même dans la topologie du réseau.

>en
#conf t
#(config) ip access-list extended {name}
#(config) ip access-list extended ssh

Détail liste d’accès étendue :

#(config-ext-nacl)
{numéro_de_séquence}
{permit|deny} permit : règle d’autorisation, deny : règle d’interdiction
{protocole:ahp|eigrp|esp|gre|icmp|ip|ospf|tcp|udp}
{IP_source} {Wildcard_mask} {optionnel : port}
{IP_Destination} {Wildcard_mask} {optionnel : port}
[log]
  • Les règles ACL sont lues dans l’ordre où elles ont éte entrées, la liste d’accès utilise automatiquement une numérotation de 10 en 10 pour chaque règle ajoutée à la liste.
  • On peut utiliser ce comportement pour effacer des règles, ou intercaler de nouvelles règles en précisant le numéro de séquence qui correspond à ce que l’on souhaite faire.
  • On indique si l’on souhaite créer une règle d’autorisation ou de refus.
  • On indique le protocole de la règle que l’on veut créer : icmp (ping), tcp, udp, ip (qui regroupe les protocoles tcp et udp).
  • On donne l’adresse de la source de la requête, que ce soit un hôte unique ou un réseau entier. On a la possibilité de préciser un numéro de port ou une plage de ports.
  • On indique l’adresse de destination de la règle, que ce soit un hôte unique ou un réseau entier. On a aussi la possibilité de cibler un port ou une plage de ports.
  • On peut aussi demander que le nombre de fois que la règle a été utilisée soit visible lorsque l’on fait un show access-lists
#(config-ext-nacl) permit tcp host 192.168.1.1 host 192.168.2.253 eq 22
#(config-ext-nacl) deny tcp 192.168.1.0 0.0.0.255
#(config) int {interface}
#(config) int g0/0
#(config-if) access-group {acl_name} {in|out}
#(config-if) access-group ssh in

On a créé la liste étendue à laquelle on a donné le nom ssh.
Cette list ne permet la connexion en SSH sur l´hôte 192.168.2.253 que depuis l'hôte 192.168.1.1.
Cette règle sera appliquée sur l’interface g0/0, sur les paquets entrant dans l’interface. On pourra voir si la règle est utilisée en entrant la commande : do show ip access-list On peut créer des listes d’accès ne se limitant pas au protocol ip en omettant de préciser ip avant la création de l’access-list, notemment pour la sécurisation des réseaux Novell, SPX...

Schema Etude

Seulement en configurant RO 1. Seul le PC2 peut afficher le site web du Ser1 2. Seul le PC2 peut se connecter en SSH sur le switch SW0 3. Le réseau 192.168.2.0 ne peut accéder au réseau 192.168.1.0 qu’avec le protocole HTTP.

R0 (config)# ip access-list extended intg01in 1. R0 (config-ext-nacl)# permit tcp host 192.168.1.1 host 192.168.2.250 eq 80 R0 (config-ext-nacl)# deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.250 eq 80 2. R0 (config-ext-nacl)# permit tcp host 192.168.1.1 host 192.168.2.253 eq 22 R0 (config-ext-nacl)# permit ip any any

R0 (config)# ip access-list extended intg00in 3. R0 (config-ext-nacl)# permit tcp 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 eq 80 2. R0 (config-ext-nacl)# permit tcp host 192.168.2.253 eq 22 host 192.168.1.1 R0 (config-ext-nacl)# permit tcp any eq 80 any

Schema Etude InterSite

Le serveur DHCP sur le SRV1 distribue des adresses dans tous les réseaux.

A. Seuls les postes du VLAN 10 peuvent se connecter en SSH aux équipements réseau.
B. Les postes du VLAN 20 ne peuvent pas se connecter au serveur web du SRV0.
C. Les équipements du VLAN 30 et 20 ne peuvent pas communiquer avec les postes en VLAN 10

Après avoir fait les configurations initiales : - interfaces de routeurs allumées - configuration des VLANs sur les switchs et routeurs - configuration des trunks sur les switchs - adressage statique des routeurs(avec encapsulation), serveurs, switchs, postes admins - configuration du service dhcp

On va bloquer les requêtes au plus près de la source :

  • 1 : Le routeur R1 bloquera les connexions au switch0 et routeur0 depuis le VLAN 20
  • 2 : Le routeur R0 bloquera les connexions au switch1 et routeur1 depuis le VLAN 30
  • 3 : Les switchs n’autoriseront l’accès que depuis le VLAN 10
  • 4 : Le routeur R1 bloquera les connexions au serveur de la direction depuis le VLAN 20
  • 5 : Le routeur R1 bloquera les connexions au VLAN 10 depuis le VLAN 20
  • 6 : Le routeur R0 bloquera les connexions au VLAN 10 depuis le VLAN 30

Sur le routeur R0 :

    > en
    # conf t
    (config) # ip access-list extended g00in
A2  (config-ext-nacl) # permit tcp 192.168.10.0 0.0.0.7 any
A2  (config-ext-nacl) # permit udp 192.168.10.0 0.0.0.7 any
A2  (config-ext-nacl) # permit tcp 192.168.1.0 0.0.0.255 eq 22 192.168.10.0 0.0.0.7 
A2  (config-ext-nacl) # deny tcp 192.168.1.0 0.0.0.255 any eq 22
    (config-ext-nacl) # permit icmp any any
    (config-ext-nacl) # permit ip 192.168.1.0 0.0.0.255 192.168.10.8 0.0.0.7
C6  (config-ext-nacl) # deny ip 192.168.1.0 0.0.0.255 192.168.10.0 0.0.0.7
    (config-ext-nacl) # permit ip any any
    (config-ext-nacl) # exit
    (config) # int g0/0
    (config-if) # ip access-group g00in in

Sur le routeur R1 :

    > en
    # conf t
    (config) # ip access-list extended g00in
A1  (config-ext-nacl) # permit tcp 192.168.10.0 0.0.0.7 any
A1  (config-ext-nacl) # permit udp 192.168.10.0 0.0.0.7 any
A1  (config-ext-nacl) # permit tcp 192.168.10.8 0.0.0.7 eq 22 192.168.10.0 0.0.0.7
A1  (config-ext-nacl) # deny tcp 192.168.10.8 0.0.0.7 any eq 22
B4  (config-ext-nacl) # deny ip 192.168.10.8 0.0.0.7 host 192.168.1.250
B4  (config-ext-nacl) # permit ip 192.168.10.8 0.0.0.7 192.168.1.0 0.0.0.255
C5  (config-ext-nacl) # deny ip 192.168.10.8 0.0.0.7 192.168.10.0 0.0.0.7
    (config-ext-nacl) # permit ip any any
    (config-ext-nacl) # exit
    (config) # int g0/0
    (config-if) # ip access-group g00in in

Configuration sur SW2-1 et SW3-1 ainsi que routeur R0 et routeur R1

    > en
    # conf t
A3  (config) # access-list 10 permit 192.168.10.0 0.0.0.7
    (config) # line vty 0 5
    (conf-line) # access-class 10 in

Configuration détailée
Sur le routeur R0 :

    > en
    # conf t

Création de la liste g00in (je l’ai nommée selon le nom de l’interface et le sens traité)

  • (config) # ip access-list extended g00in

Cette règle autorise les requêtes utilisant le protocole TCP venant du réseau 192.168.10.0/29 sur tous les hôtes de tous les autres réseaux présents sur le routeur R0.

  • A2 (config-ext-nacl) # permit tcp 192.168.10.0 0.0.0.7 any

Cette règle autorise les requêtes utilisant le protocole UDP venant du réseau 192.168.10.0/29 sur tous les hôtes de tous les autres réseaux présents sur le routeur R0

  • A2 (config-ext-nacl) # permit udp 192.168.10.0 0.0.0.7 any

Cette règle autorise les requêtes venant du port 22 depuis le réseau 192.68.1.0/24, et allant sur le réseau 192.168.10.0/29. Cette règle existe afin de ne pas bloquer la réponse que devra donner un hôte lors d’une connexion SSH depuis le VLAN 10.

  • A2 (config-ext-nacl) # permit tcp 192.168.1.0 0.0.0.255 eq 22 192.168.10.0 0.0.0.7

Cette règle empêche les connexions en SSH depuis le VLAN 30, afin d’interdire le plus tôt possible les connexions sur les équipements réseau se situant dans l’autre sous-réseau. Cette règle pourrait potentiellement bloquer les connexions SSH depuis le VLAN 10 si elle se situait avant la règle précédente.

  • A2 (config-ext-nacl) # deny tcp 192.168.1.0 0.0.0.255 any eq 22

Cette règle permet la communication avec le protocole icmp, utilisé par la commande ping, depuis n’importe quelle source jusque n’importe quelle destination.

  • (config-ext-nacl) # permit icmp any any

Cette règle autorise tous les protocoles supportés par le système de liste d’accès à communiquer depuis le VLAN 30 jusqu’au VLAN 20

  • (config-ext-nacl) # permit ip 192.168.1.0 0.0.0.255 192.168.10.8 0.0.0.7

Cette règle interdit tous les protocoles supportés depuis le VLAN 30 à destination du VLAN 10

  • C6 (config-ext-nacl) # deny ip 192.168.1.0 0.0.0.255 192.168.10.0 0.0.0.7

Cette règle permet d’annuler la règle deny any any implicite du système de liste d’accès

  • (config-ext-nacl) # permit ip any any

  • (config-ext-nacl) # exit

  • (config) # int g0/0

On applique enfin notre liste d’accès au traffic entrant dans notre interface :

  • (config-if) # ip access-group g00in in