Les ACL CISCO (standard, étendu, dynamique, CBAC......)

Les ACL

Access Control List (ACL) — liste de contrôle d'accès en français — désigne deux choses en sécurité informatique :

un système permettant de faire une gestion plus fine des droits d'accès aux fichiers que ne le permet la méthode employée par les systèmes UNIX.

en réseau, une liste des adresses et ports autorisés ou interdits par un pare-feu.


Les ACL’s standards  (ip source)

0 à 99  (le met dans le routeur le plus proche du réseau quand veut interdir)

# access-list  num-liste {deny | permit} @ip-Source masque-gén
#access-list num-liste  permit any
# int fa0/0        
# ip access-group num-liste {in | out}  (out  par défaut)

Les ACL’s étendus (filtrage plus précis (source – destination – port – protocoles) 

100 à 199

access-list  num-liste  {permit | deny} protocole @ip-src  src-mask @ip-dest  dest-mask [operator  port]

protocole :  IP, TCP, UDP, ICMP                                          

Operator  :  lt (inférieur) - gt (supérieur) - eq (égal)  / neq 









ACLs nommées

Router(config)# ip access-list { standard | extended } nom-ACL

Router (config-nacl)# deny/ permit {source [masque-source] | any }
Router(config) # interface                                   
Router(config-if)# ip access-group nom {in | out}


Exemple :

Une acl nommée "Notelnet" empêchant aux hôtes du sous-réseau   
192.168.2.0 d'ouvrir des sessions telnet avec un serveur 211.21.43.6

  ip access-list  extended  notelnet                                        
  deny  tcp 192.168.2.0  0.0.0.255  host 211.21.43.6   eq 23                       
  permit  ip any any
  interface fa0/0                                        
  ip access-group notelnet out



Solution :

         access-list 111 deny icmp 192.168.1.64 0.0.0.63 host 192.168.3.3
          access-list 111 deny udp 192.168.1.128 0.0.0.63 host 192.168.3.3
          access-list 111 permit ip any any

          access-list 112 deny tcp any host 192.168.3.2 eq telnet
          access-list 112 permit ip any any

          ip access-list extended Notelnet
          deny tcp 192.168.1.64 0.0.0.63 host 192.168.3.3 eq telnet
          permit ip any any

Les ACLs Dynamiques

Une ACL dynamique permet de résoudre le problème de l’authentification (login et mdp)

Les ACL classiques utilisent l’adresse IP pour déterminer quelle machine communique, mais il n’y a pas de vérification de l’identité de l’utilisateur lui-même








 Filtrage dynamique : entrées dynamiques pour  les connexions  TCP, UDP et ICMP (les ports  restent ouverts uniquement le temps de la session)

Surveillance de numéros de séquences des paquets entrants et sortants pour suivre le flux des connexions  (TCP)

Protection contre les attaques (man in the middle) et le piratage de sessions

Suivi des états de session (demi-ouvertes – ouvertes – fermée) pour éviter les attaques Syn flood

Suivi des protocoles udp et icmp  - journalisation des sessions (dates et heurs – ports – les ip sources et destination ect..)

Suivi des applications spécifiques (FTP – VOIP (MCGP) – communications multimédias (H.323) – SQLnet)

ACL à caractère temporel

         Ce genre d’ACL permet d’interdire certains trafics pendant certains périodes
         La référence de temps utilisée est l’horloge interne du routeur, il est dans ce cas intéressant d’utiliser le protocole NTP (Network Time Protocol ) pour bien synchroniser tous les équipements



ACLs réflexives

         Permet de filtrer les paquets IP en fonction des informations de session (qui a commencé ?) des couches supérieures
         On peut ainsi autoriser un certain trafic, seulement si il a été initié depuis l’intérieur du réseau
         On pouvait déjà obtenir ce fonctionnement avec des ACL étendues, en utilisant l’option established, mais cette option ne vaut que pour TCP (UDP est en effet un protocole non connecté)
         Les ACL réflexives permettent de faire ce type de filtrage avec TCP, mais aussi UDP et ICMP

Contre le spoofing -  DOS attacks – vérification de la source et la destination, les numéros des ports et non seulement les bits ACK ou RST

Listes d'accès réflexives sont pas elles-mêmes appliquées directement à une interface, mais sont "imbriqués" l'intérieur d'une liste d'accès IP nommé étendue qui est appliquée à l'interface.

Par exemple, si un paquet TCP sortant est transmis à l'extérieur de votre réseau, et ce paquet est le premier paquet d'une session TCP, puis une nouvelle entrée dans la liste d'accès réflexive temporaire sera créé. Cette entrée est ajoutée à la liste d'accès réflexive, qui s'applique au trafic entrant.

End session : removed 5 s after two set set FIN bits or RST bit
Udp : TTL

Configuration  (soit e ou s)


Outside 








Cela empêche le trafic IP à partir de l'entrée du routeur et le réseau interne, à moins que le trafic soit parti d'une session déjà en place à l'intérieur du réseau interne.


Apply access lists to the interface, for inbound and outbound  TCP   traffic:
ip access-group inboundfilters in
ip access-group outboundfilters out
ip access-list extended outboundfilters
permit tcp any any reflect tcptraffic  timeout (seconds)
 
 
ip access-list extended inboundfilters
permit eigrp any any
deny icmp any any
evaluate tcptraffic
 
ip reflexive-list timeout 120



Inside




Dans cette topologie, les listes d'accès réflexives sont configurés pour l'interface interne Ethernet 0. Cela permet au trafic externe pour accéder aux services dans la zone démilitarisée (DMZ), tels que les services DNS, mais empêche le trafic IP d'entrer dans votre réseau interne
À moins que le trafic soit parti d'une session déjà en place à l'intérieur du réseau interne.

Exemple



Les sessions TCP sont suivies grâce aux bits ACK, RST et FIN des en-têtes TCP

Les sessions UDP sont suivies par les couples
                   @IP source/destination
                   n° port source/destination

La fin de la session ne peut être détectée que par défaut au bout d’un certain temps d’inactivité

CBAC

·        ACl classiques : Le filtrage ne se fait que sur les @IP et ports source et destination
    Les ports ouverts le sont tout le temps

         Les ACL réflexives sont plus performantes que les ACL étendues car elles tiennent compte de l’information de session

Les limitations des ACL réflexives sont :

Elles ne fonctionnent pas avec les applications qui négocient les ports
elles ne permettent pas de limiter le nombre de sessions autorisées simultanément
elles ne tiennent pas compte des informations du protocole de niveau application

         Le CBAC est plus performant car il tient compte en plus d’informations protocolaires de niveau application


Exemple Pratique  1








Exemple 2






Rapport :

Router(config)# logging on
Router(config)# logging 10.0.0.3
Router(config)# ip inspect audit-trail

Temporisation

ip inspect tcp synwait-time seconds
ip inspect tcp finwait-time seconds
ip inspect tcp idle-time seconds
ip inspect udp idle-time seconds   (max d’inactivité autorisé)
ip inspect dns-timeout seconds

Seuil

ip inspect max-incomplete high number (nombre maximum de demi-sessions
ip inspect max-incomplete low number (nombre maximum de demi-sessions)


BONNE CHANCE

mohameddouhaji7@gmail.com