1. Université Cadi Ayyad
Année universitaire : 2012/2013
Département Réseaux et Télécoms
ACL
TURBO, RÉFLEXIVE ET CONTEXTUELLE
Proposé par :
Mr N.Idboufker
réalisé par :
Kawtar ZERHOUNI
08/12/2012
1
3. INTRODUCTION
ACL de base présentent des limitations qui peuvent être résolues par
l’utilisation des :
• turbo ACL
• ACL « réflexives »
• ACL contextuelle : le CBAC
08/12/2012
3
4. TURBO ACL
ACL standard / étendue
• Recherche séquentielle d’un match temps de recherche augmente
avec la taille de l’ACL
Fonction Turbo
• Compile les ACLs dans des tables de recherche
« lookup tables »
temps de recherche fixe !
• 5 itérations quelque soit la taille de l’ACL
08/12/2012
4
5. TURBO ACL: CONFIGURATION
Sur une ACL standard ou étendue :
#access-list 101 deny tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 eq telnet
#access-list 101 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 eq http
#access-list 101 deny tcp 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255 eq http
#access-list 101 deny icmp 192.168.1.0 0.0.0.255 200.200.200.0 0.0.0.255
On ajoute la commande:
access-list compiled
08/12/2012
5
6. TURBO ACL: FONCTIONNEMENT
Inde Source Source Dest IP Dest IP IP protoco Port Port
x IP (MS) IP (LS) (MS) (LS) Flags le e L-3 source desti
+ L-4 natio
Flags n
0 192.168 1.0 192.168 2.0 * TCP * 23
1 192.168 1.0 192.168 2.0 * TCP * 80
2 192.168 1.0 192.168 3.0 * TCP * 80
3 192.168 1.0 200.200 200.0 * ICMP * *
08/12/2012
7
7. EXEMPLE POUR IP SOURCE (MS)
Index Valeur/ mask ACL Entrée en Bitmap
0 192.168/255.255 1111
• 1 seule valeur pour les champs IP Source (MS)
• 1 1 1 1: les 4 entrées de l’ACL 101 ont toutes
la même adresse IP source (MS)
08/12/2012
8
8. EXEMPLE POUR IP DEST (MS)
Par contre pour la partie Dest IP (MS) le tableau Bitmap aura la
forme:
Index Valeur/mask ACL entrée en Bitmap
0 192.168/255.255 1110
1 200.200/255.255 0001
Maintenant : les tables sont crées dans la mémoire du routeur !
08/12/2012
9
9. TURBO ACL: FONCTIONNEMENT
Une fois un paquet arrive:
• Extraction des champs IP Source (MS)…
• Comparaison avec les tables !
La procédure se fait par niveau :
• Parallèlement dans un même niveau
• De façon séquentielle d’un niveau à un autre
Exemple paquet reçu :
• Source IP (MS ) : 192.168
• Source IP (LS ) : 1.1
• Destination IP ( MS ) : 200.200
• Destination IP (LS ) : 200.1
• L-3 Protocol field + L-4 Flags : 0001 (ICMP)
10
08/12/2012
10. Source IP (MS) Source IP (LS) Dest IP (MS) Dest IP (LS) Protocole
1111 1111 0001 0001 0001
L1
And And
1111 0001 0001
L2
And
L3
11
08/12/2012
0001
11. TURBO ACL: LIMITATIONS
Nécessite de la mémoire : entre 2 et 4Mb de plus
Si l’ACL est très grande: plus de temps pour compiler
access-list compiled : n’a pas d’argument
Utilisée seulement avec ACL standard ou étendue !
12
08/12/2012
12. ACL RÉFLEXIVE
Permet de filtrer le trafic en fonction des informations de
session des couches sup.
Ainsi, autoriser un certain trafic, par exemple s’il vient de
l’intérieur de notre réseau
ACL étendues + option established, mais uniquement pour
TCP
ACL réflexives permettent de faire ce type de filtrage avec
TCP, mais aussi UDP et ICMP
13
08/12/2012
13. ACL RÉFLEXIVE: FONCTIONNEMENT
• Création dynamique d’une entrée temporaire caractérisée par:
entrée toujours: permit
Même Protocole que le paquet original
@IP source/dest inversées
N°port source/dest inversés
• Une fois la session terminée suppression de l’entrée
temporaire !
14
08/12/2012
14. ACL RÉFLEXIVE: FONCTIONNEMENT
• Session TCP:
Bit FIN = 1 session va se terminer !
Attente 5s afin que le hôte et le serveur terminent la session, puis blocage
du trafic,
Bit RST=1 interruption brutale de session
Blocage immédiat du trafic
Par défaut : blocage de trafic après un temps d’inactivité de session
• Session UDP:
@IP source/dest
N° port source/dest
Fin de session: par défaut après un temps d’inactivité
15
08/12/2012
15. ACL RÉFLEXIVE : CONFIGURATION
S1
côté réseau local côté réseau
d’interconnexion
Interface Serial 1
description Acces to the Internet
ip access-group inboundfilters in utilisation d’ACL nommées
ip access-group outboundfilters out
! sessions considérées comme inactives donc interdites
ip reflexive-list timeout 120 au bout de 120 secondes
!
définition ACL nommée outboudfilters: contient une
ip access-list extended outboundfilters instruction : autoriser tout le trafic TCP, et crée une
permit tcp any any reflect tcptraffic ACL nommée tcptraffic
!
ip access-list extended inboundfilters
définition de l’ACL nommée inboundfilters :
permit eigrp any any autorise tout le trafic EIGRP
deny icmp any any interdit tout trafic ICMP
tout le reste est évalué selon l’ACL tcptrafic
evaluate tcptraffic
16
08/12/2012
16. ACL RÉFLEXIVE: CONFIGURATION
Extended IP access list inboundfilters
permit eigrp any any
show access-list avant une deny icmp any any
session TCP evaluate tcptraffic
Extended IP access list outboundfilters
permit tcp any any reflect tcptraffic
Extended IP access list inboundfilters
permit eigrp any any
deny icmp any any
après une
evaluate tcptraffic
connexion Telnet
Extended IP access list outboundfilters
permit tcp any any reflect tcptraffic
Reflexive IP access list tcptraffic
permit tcp host 172.19.99.67 eq telnet host 192.168.60.185 eq 11005
17
08/12/2012
17. ACL RÉFLEXIVE: LIMITATIONS
Utilisée seulement avec ACL étendue nommée
Ne peut être utilisée avec une application qui
change de numéro de port !
18
08/12/2012
18. ACL CONTEXTUELLE
CBAC: Context Based Access Control
fait partie de la fonctionnalité Pare-feu de l'IOS Cisco
Plus performant que réflexive : tient compte des informations de la
couche application.
Supporte les protocoles utilisant plusieurs numéros de port
19
08/12/2012
19. CBAC : FONCTIONNEMENT
Paquets arrivant sur une interface inspectés par ACL de cette
interface
Seuls paquets qui passent ce barrage: inspectés par le CBAC
Des tables d’état mises à jour grâce aux informations de session,
pour chaque connexion active,
CBAC interdit ou autorise uniquement le trafic TCP ou UDP
spécifié
Le filtrage se fait par l’ajout dynamique d’entées temporaires
d’ACL
20
08/12/2012
20. CBAC: CONFIGURATION
• Étapes:
• Choisir l’interface
• Configurer l’ACL sur cette interface
• fixer les temporisations et les seuils
• définir les règles d’inspection: spécifie quel trafic sera
inspecté (application)
• appliquer les règles d’inspection aux interfaces
21
08/12/2012
21. CBAC: CONFIGURATION
• Time out et seuils
• Détermine le temps pendant lequel il gère les informations
relatives aux sessions et pour déterminer quand une session
se termine !
• contrôle le nombre total de sessions ouvertes ainsi que
celles nouvellement établies sur une certaine durée
• Gère des compteurs de demi-sessions.
• TCP = session n'a pas atteint l'état établi
UDP = routeur n'a pas détecté de trafic de retour
22
08/12/2012
22. CBAC: CONFIGURATION
• Les protocoles de niveau application supportés
• FTP
• TFTP
• UNIX R-commands (rlogin, rexec, rsh, ...)
• SMTP
• HTTP Java
• SQL*Net
• RTSP (RealNetworks)
• Autres multimedia :
• Microsoft NetShow
• StreamWorks
• VDOLive
23
08/12/2012
24. CBAC : CONFIGURATION
Router(config)# ip inspect name OUTBOUND tcp
Router(config)# ip inspect name OUTBOUND udp
• Configure CBAC pour l’inspection du trafic TCP et UDP
Router(config)# access-list 101 permit ip 10.0.0.0
0.0.0.255 any
Router(config)# access-list 101 deny ip any any
• Autorise le trafic initié par les hôtes du réseau 10.0.0.0/24
Router(config)# interface e0/0
Router(config-if)# ip inspect OUTBOUND in
Router(config-if)# ip access-group 101 in
• Applique les règles d’inspection et l’ACL à l’interface e0/0 en entrée
25
08/12/2012
25. CBAC : CONFIGURATION
Router(config)# access-list 102 permit icmp any
host 10.0.0.3
Router(config)# access-list 102 permit tcp any
host 10.0.0.3 eq www
Router(config)# access-list 102 deny ip any any
• Autorise seulement le trafic ICMP et HTTP vers 10.0.0.3, initié depuis
l’extérieur
Router(config)# interface e0/1
Router(config-if)# ip access-group 102 in
• Applique l’ACL à l’interface e0/1 en entrée
26
08/12/2012
26. CBAC: LIMITATIONS
Inspecte que le trafic spécifié: contrôle plus fin, mais beaucoup
d’entrées « ip inspect » pour couvrir tous les types de connexions,
demande une connaissance des protocoles et des applications
utilisés
trafic généré par le routeur lui-même n’est pas inspecté
trafic envoyé au routeur lui-même n’est pas inspecté
Seul le mode passif de FTP est compatible avec le CBAC
27
08/12/2012
27. CONCLUSION
ACL réflexives plus performantes que les ACL étendues :
tiennent compte de l’information de session
CBAC plus performant : tient compte en plus d’informations
protocolaires de niveau application,
• Permet ainsi de renforcer la sécurité d’un site
28
08/12/2012