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.
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