Title: ACL : notions avanc
1ACL notions avancées
- Le principe des ACL a été expliqué au chapitre
précédent - Ces ACL de base présentent des limitations qui
peuvent être résolues par lutilisation des - ACL dynamiques
- ACL réflexives
- ACL à caractère temporel
- turbo ACL
- ACL dépendantes du contexte le CBAC
2Commenter une ACL
- Alors que nous allons sérieusement compliquer
lécriture et le rôle des ACL, il est utile de de
les commenter dans la configuration du routeur ou
du firewall - Un commentaire dACL sera visible dans la
configuration, mais il sera aussi affiché par la
commande show access-lists - Une remarque dACL est donc différente dun
commentaire introduit par !
Miami(config) access-list 102 remark Allow
traffic to file server Miami(config) access-list
102 permit ip any host 128.88.1.6
3Méthode de travail
- Il est important de respecter les conseils
suivants - il faut dabord bien réfléchir à ce que lon veut
autoriser et interdire - ce travail doit se faire avant de faire quoi que
ce soit sur les routeurs - il faut sarranger pour pouvoir copier/coller
les ACLs - ne pas hésiter à stocker des ACLs dans des
fichiers texte pour faire une sorte de
librairie dACLs - si possible, tester les ACLs hors ligne avant de
les installer sur le réseau exploité
4ACL dynamique
- Une ACL dynamique permet de résoudre le problème
de lauthentification - Les ACL classiques utilisent ladresse IP pour
déterminer quelle machine communique, mais il ny
a pas de vérification de lidentité de
lutilisateur lui-même - Il est souvent utile de demander à lutilisateur
de sidentifier - nom dutilisatreur
- mot de passe
- Il faut alors utiliser une ACL dynamique
5ACL dynamique
- Il faut les utiliser quand
- on veut quun utilisateur particulier distant (ou
un petit groupe) puisse accéder à certaines
ressources du réseau, à travers Internet - on veut quun groupe dhôtes du réseau local
puisse accéder à un hôte dun autre réseau
protégé par un firewall - Il est possible de limiter la durée de
lautorisation de connexion
6ACL dynamique
- Un utilisateur sollicite une session telnet sur
le firewall configuré avec une ACL dynamique
(ligne vty) - LIOS Cisco ouvre une session telnet et demande
son nom et son mot de passe à lutilisateur - Lauthentification peut être assurée par le
firewall lui-même ou par un serveur TACACS ou
RADIUS - Quand lutilisateur est indentifié, le firewall
met fin à la session telnet - Il crée ensuite une entrée temporaire dans lACL
dynamique (cette instruction temporaire permet de
limiter laccès à certaines machines) - Les données sont échangées à travers le firewall
- LIOS détruit lentrée temporaire au bout dun
certain temps paramétrable (soit en mesurant une
durée dinactivité, soit en mesurant le temps de
connexion)
7ACL dynamique
- ACL dynamique car elle napparaît que sur
sollicitation de lutilisateur, et après
authentification de celui-ci
Je midentifie en faisant un telnet
Je laisse passer seulement si il sidentifie !
8ACL dynamique
- Exemple avec authentification locale au routeur
définition de lutilisateur et de son mot de passe
username toto password tutu interface
ethernet0 ip address 172.18.23.2
255.255.255.0 ip access-group 101
in access-list 101 permit tcp any host
172.18.23.2 eq telnet access-list 101 dynamic
mytestlist timeout 120 permit ip any any line vty
0 login local autocommand access-enable timeout 5
autorisation du telnet sur l_at_IP de linterface
du routeur
entrée dynamique qui autorise tout le trafic IP
définition dune ligne vty
- commande dactivation de la partie dynamique de
lACL - elle sera ajoutée après un telnet authentifié
- elle restera dans lACL pendant 5 minutes
lauthentification se fera en local
9ACL dynamique
- Lentrée dynamique ne peut pas être la seule
entrée de lACL - Linstruction ajoutée dans une liste dynamique
lest toujours au début de la liste - Il ne faut quune instruction dynamique par ACL
(seule la première sera prise en compte) - Utiliser un nom différent pour chaque instruction
dynamique - Il faut autoriser le telnet sur le routeur pour
que tout cela puisse marcher - Il faut toujours définir un temps de connexion
maximum
10ACL dynamique
- Utilise un mécanisme dauthentification des
utilisateurs (et pas seulement des hôtes) - Permet de réduire la taille des ACL classiques en
réduisant le nombre des instructions nécessaires - Avec cette technique, on peut spécifier quel
utilisateur peut accéder à des ressources
(définies en _at_IP et n de port), en spécifiant
depuis quels hôtes il a le droit de le faire - On peut ainsi donner un accès dynamique à un
utilisateur à travers un firewall, sans
compromettre les autres restrictions de sécurité
11Proxy dauthentification
- Les ACLs dynamiques obligent lutilisateur à
initier une session telnet - Le proxy dauthentification permet dobtenir à
peu près le même fonctionnement, mais en passant
par un navigateur Internet - Il peut être utilisé depuis lintérieur du réseau
comme depuis lextérieur
12Proxy dauthentification
- Les utilisateurs qui sont bloqués par une ACL
peuvent (si le routeur est configuré en ce sens)
utiliser un simple navigateur web pour
sidentifier auprès du serveur TACACS ou RADIUS - Ils doivent se connecter au serveur HTTP résidant
dans le routeur prévu à cet effet - Ce serveur HTTP remplace le serveur telnet comme
intermédiaire entre lutilisateur et le serveur
TACACS ou RADIUS - Après authentification, le serveur donnera au
routeur linstruction quil doit ajouter en tête
dACL pour permettre à lutilisateur de rentrer
sur le réseau
13Proxy dauthentification
- Les différences entre les ACL dynamiques et le
proxy dauthentification sont - lACL dynamique est activée par une connexion
telnet sur le routeur, alors que le proxy
dauthentification est activé par HTTP sur le
routeur - le proxy dauthentification ne supporte pas
lauthentification locale (nécessité dun serveur
TACACS ou RADIUS) - contrairement aux ACLs dynamiques, le serveur
dauthentification peut ajouter plusieurs
instruction à lACL - le serveur dauthentification na quune
temporisation absolue, et pas de temporisation
dinactivité
14ACL réflexive
- 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 lintérieur
du réseau - On pouvait déjà obtenir ce fonctionnement avec
des ACL étendues, en utilisant loption
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
15ACL étendue rappel
- Quand on utilise un numéro de port pour filtrer,
il faut savoir que seul le port destination est
filtré
Si je mets une ACL pour interdire à host
denvoyer des requêtes HTTP, le serveur ne verra
jamais rien
Si je mets une ACL qui filtre le trafic HTTP en
entrée, alors host peut faire une requête, le
serveur peut répondre, et cette réponse ne sera
pas bloquée en entrée du routeur ! Le filtrage ne
se fait que sur le port destination
On peut nautoriser le trafic HTTP que en réponse
à une demande de host en utilisant access-list
101 permit tcp any any eq http established
- Cette technique utilise les bits ACK et RST de
len-tête TCP, et nest donc pas valable pour UDP
et ICMP
16ACL réflexive
- Les sessions TCP sont suivies grâce aux bits ACK,
RST et FIN des en-têtes TCP - La fin de la session TCP est repérée de la façon
suivante - quand le bit FIN de len-tête TCP est placé à 1,
le routeur devine que la session va se terminer,
il attend 5 secondes pour laisser le temps à
lhôte et au serveur de terminer leur session,
puis il bloque le trafic - quand le bit RST est mis à 1, le routeur détecte
une interruption abrupte de session et bloque
immédiatement le trafic - par défaut au bout dun certain temps
(paramétrable) dinactivité pour cette session
17ACL réflexive
- Les sessions UDP sont suivies par les couples
- _at_IP source/destination
- n port source/destination
- La fin de la session ne peut être détectée que
par défaut au bout dun certain temps
dinactivité
18ACL réflexive
- Il y a deux restrictions à lutilisation des ACL
réflexives - elles doivent être utilisées uniquement avec les
ACLs étendues (cela ne marche pas avec les
standards qui ne portent pas mention des n de
port) - cette technique ne fonctionne pas avec les
applications qui changent de numéro de port en
cours de session (par exemple FTP en mode actif)
19FTP rappel
- Le mode par défaut de FTP est le mode actif
- En mode actif
- le client ouvre une connexion de contrôle sur le
port 21 du serveur - quand le client demande des données le serveur
utilise son port 20 pour lui envoyer - En mode passif
- le client ouvre une connexion de contrôle sur le
port 21 du serveur - le serveur lui indique un numéro de port pour le
transfert des données - quand le client demande des données, il sollicite
une connexion sur le port que le serveur lui a
indiqué - Le mode actif est donc incompatible avec les ACLs
réflexives
20ACL réflexive exemple 1
S1
- interface Serial 1
- description Acces à Internet
- ip access-group inboundfilters in
- ip access-group outboundfilters out
- !
- ip reflexive-list timeout 120
- !
- ip access-list extended outboundfilters
- permit tcp any any reflect tcptraffic
- !
- ip access-list extended inboundfilters
- permit bgp any any
- permit eigrp any any
- deny icmp any any
- evaluate tcptraffic
côté réseau local
côté réseau dinterconnexion
utilisation dACL nommées
sessions considérées comme inactives et par
conséquent interdites au bout de 120 secondes
définition de lACL nommée outboudfilters, elle
ne contient quune instruction autoriser tout
le trafic IP, mais en pistant au passage les
sessions sous le nom tcptrafic
- définition de lACL nommée inboundfilters
- on autorise tout le trafic BGP
- on autorise tout le trafic EIGRP
- on interdit tout trafic ICMP
- tout le reste est évalué selon la règle tcptrafic
21ACL réflexive exemple 1
S1
- interface Serial 1
- description Acces à Internet
- ip access-group inboundfilters in
- ip access-group outboundfilters out
- !
- ip reflexive-list timeout 120
- !
- ip access-list extended outboundfilters
- permit tcp any any reflect tcptraffic
- !
- ip access-list extended inboundfilters
- permit bgp any any
- permit eigrp any any
- deny icmp any any
- evaluate tcptraffic
côté réseau local
côté réseau dinterconnexion
remarque on peut intercaler des instructions
classiques (non réflexives), elles sont alors
normalement évaluées. Ceci est utile quand on ne
souhaite pas tout pister !
22ACL réflexive exemple 2
- interface Ethernet 0
- description Acces a notre reseau
- ip access-group inboundfilters in
- ip access-group outboundfilters out
- !
- ip reflexive-list timeout 120
- !
- ip access-list extended outboundfilters
- deny icmp any any
- evaluate tcptraffic
- !
- ip access-list extended inboundfilters
- permit tcp any any reflect tcptraffic
E0
S1
côté réseau local
côté réseau dinterconnexion
DMZ
www smtp dns
- laccès à la DMZ doit être possible à
linitiative lextérieur - on ne peut pas mettre lACL réflexive sur S1
- il faut la mettre sur E0
23ACL à caractère temporel
- Ce genre dACL permet dinterdire certains
trafics pendant certains périodes - La référence de temps utilisée est lhorloge
interne du routeur, il est dans ce cas
intéressant dutiliser le protocole NTP (Network
Time Protocol ) pour bien synchroniser tous les
équipements
les connexions telnet sont autorisées les lundi,
mercredi et vendredi de 8h à 17h
24Turbo ACL
- Quand une ACL contient un grand nombre
dinstructions, cela peut gravement ralentir le
fonctionnement du routeur - les Turbo ACLs sont utilisables avec les IOS
Cisco 12.1.5.T et sont disponibles uniquement sur
les routeurs des séries 7200, 7500, et
supérieures
25Context Based Acces Control CBAC
- Les ACL étendues permettent de filtrer le trafic
en sortie du réseau car seul le port destination
est filtré. - Le retour vers le client ne peut être filtré car
le numéro de port utilisé est aléatoire - un faux retour ne peut pas filtré
- Les ACL réflexives sont plus performantes que les
ACL étendues car elles tiennent compte de
linformation de session - un faux retour sera bloqué en entrée, sauf si
il arrive pendant une session ouverte - Le CBAC est plus performant car il tient compte
en plus dinformations protocolaires de niveau
application
26CBAC
- Les limitations des ACL classiques sont
- le filtrage ne se fait que sur les _at_IP et ports
source et destination - les ports ouverts le sont tout le temps
- 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
27CBAC
- Les paquets qui arrivent sur linterface externe
du firewall sont inspectés par les ACL classiques - Seuls les paquets qui passent ce premier barrage
sont inspectés par le CBAC - CBAC interdit ou autorise uniquement le trafic
TCP ou UDP spécifié - Des tables détat sont mises à jour grâce aux
informations de session, pour chaque connexion
active (ouverture, synchronisation,
acquittements, relachement) - Le filtrage se fait par lajout dynamique dACL
ip inspect name inspection-name protocol timeout
seconds
28CBAC
- Le CBAC est capable de reconnaître les commandes
des protocoles dapplications sur les canaux de
contrôle - Le CBAC utilise les numéros de séquence de tous
les segments TCP - Utilisé pour protéger un serveur, le CBAC est
aussi capable de reconnaître certaines attaques
de niveau application comme le DoS. Dans ce cas,
il peut - générer des messages dalerte
- bloquer les paquets concernés
29CBAC client sortant
- Le trafic autorisé en sortie (tout ou seulement
certains protocoles) est inspecté pour - en extraire les informations de session et détat
du protocole de transport mais aussi du protocole
dapplication - ajouter une ACL en entrée pour laisser entrer le
trafic réponse - Le trafic autorisé en entrée est inspecté pour
- voir si il fait partie dune session en cours
- voir si il est conforme à la table détat des
protocoles de transport et dapplication
30CBAC client sortant
31CBAC client entrant
- Le CBAC utilise des temporisations et des valeurs
seuil pour gérer les états des sessions - Les sessions qui ne sont pas établies
complètement (de part et dautre) au bout dun
certain temps sont fermées par envoi dune fin de
session de part et dautre - Fixer des valeurs de temporisation de session
protège des attaques DoS en libérant les
resources du serveur - Le nombre de sessions demi-ouvertes est ainsi
contrôlable, ce qui protège le serveur
32CBAC client entrant
- Plusieurs seuils sont possibles pour bloquer les
attaques DoS - le nombre de connexions simultanées possibles
- le nombre de connexions par unité de temps
- le nombre de demi-connexion par hôte
- Ce type de filtrage est à mettre en oeuvre
uniquement sur les protocoles dapplication que
lon veut filtrer, tous les autres étants
interdits
33CBAC
34CBAC
- Les protocoles de niveau transport supportés sont
- TCP (canal de contrôle seulement)
- UDP (canal de contrôle seulement)
35CBAC
- Les protocoles de niveau application supportés
sont - RPC
- FTP
- TFTP
- UNIX R-commands (rlogin, rexec, rsh, ...)
- SMTP
- HTTP Java
- SQLNet
- RTSP (RealNetworks)
- H.323 (NetMeeting, ProShare, CUSeeMe)
- Autres multimedia
- Microsoft NetShow
- StreamWorks
- VDOLive
36Alertes et rapports daudit
- CBAC génère des alertes temps réel et des
rapports daudit - Les rapports daudit sont envoyés à un serveur
Syslog Spour rendre compte de toutes les
transactions qui sont apparues sur le réseau - On peut configurer les alertes et rapports
daudit sur la base des protocoles dapplication
37Configuration du CBAC
- Les étapes de la mise en fonction du CBAC sont
- fixer les paramètres des alertes et des
rapports daudit - fixer les temporisations et les seuils (nombre
de connexions) - definir le Port-to-Application Mapping (PAM)
- definir les règles dinspection
- appliquer les règles dinspection et les ACL
aux interfaces - Tester le fonctionnement
38CBAC alertes
no ip inspect alert-off
- Met en route les alertes qui sont envoyées à la
console - Une alerte est générée quand un paquet IP se voit
rejeté par le CBAC
39CBAC rapports
ip inspect audit-trail
- Autorise le serveur Syslog et le met en fonction
Router(config) logging on Router(config)
logging 10.0.0.3 Router(config) ip inspect
audit-trail
40CBAC temporisations
Router(config)
ip inspect tcp synwait-time seconds
- Spécifie combien le firewall laissera de temps
pour que la connexion TCP atteigne létat
établie
Router(config)
ip inspect tcp finwait-time seconds
- Spécifie combien le firewall attendra de temps
léchange des bits FIN avant dinterdire la
session
41CBAC temporisations
Router(config)
ip inspect tcp idle-time seconds ip inspect udp
idle-time seconds
- Spécifie le temps maximum dinactivité autorisé
Router(config)
ip inspect dns-timeout seconds
- Même chose pour une session DNS
42CBAC seuils
Router(config)
ip inspect max-incomplete high number
- Définition du nombre maximum de demi-sessions.
Quand ce nombre est atteint, le routeur détruit
les sessions les plus anciennes jusquà ce que le
nombre atteigne le seuil bas défini ci-dessous
Router(config)
ip inspect max-incomplete low number
- Définition du nombre de demi-sessions ouvertes
qui provoque larret de la destruction des plus
anciennes
43CBAC seuils
Router(config)
ip inspect one-minute high number
- Définition du nombre maximum de nouvelles
demi-sessions autorisées par minute. Si ce nombre
est dépassé, le firewall detruit les plus
anciennes jusquà ce que leur nombre atteigne le
seuil bas défini ci-dessous
Router(config)
ip inspect one-minute low number
- Définition du nombre de demi-sessions ouvertes
qui provoque larret de la destruction des plus
anciennes
44CABC limitation du nombre de demi-connexions
par hôte
Router(config)
ip inspect tcp max-incomplete host number
block-time seconds
- Définition du nombre maximum de demi-sessions TCP
vers le même hôte destination avant que le
routeur ne commence à les détruire - Quand le nombre de demi-sessions vers le même
hôte a été dépassé, le firewall détruit les
détruit de la façon suivante - si block-time est à 0, la plus vielle
demi-session est détruite pour faire place à la
nouvelle - si block-time plus grand que 0, toutes les
demi-connexions existantes sont détruites, et les
nouvelles connexions vers cet hôte sont
interdites pendant le temps correspondant à
block-time
45CBAC Port-to-Application Mapping
- Il est possible de configurer les numéros de port
que le firewall attribue aux applications - CBAC utilise le PAM pour déterminer quel port est
attribué aux applications
46CBAC Port Mapping
Router(config)
ip port-map appl_name port port_num
- Fait correspondre un port à une application
Router(config)
access-list permit acl_num ip_addr ip port-map
appl_name port port_num list acl_num
- Même chose pour un hôte particulier
Router(config)
access-list permit acl_num ip_addr
wildcard_mask ip port-map appl_name port port_num
list acl_num
- Même chose pour un réseau particulier
47CBAC port mapping
Router
show ip port-map
- montre toutes les informations relatives au port
mapping
Router
show ip port-map appl_name
- même chose pour une application
Router
show ip port-map port port_num
- même chose pour un port particulier
Router sh ip port-map ftp Default mapping
ftp port 21 system defined Host specific
ftp port 1000 in list 10 user
48CBAC inspection dun protocole dapplication
Router(config)
ip inspect name inspection-name protocol alert
onoff audit-trail onoff timeout seconds
- Définit le protocole dapplication à inspecter
- Sera appliqué à une interface
- Alertes, rapports daudit et timeout sont
configurables par protocole et sont prioritaires
sur les réglages globaux
Router(config) ip inspect name FWRULE smtp alert
on audit-trail on timeout 300 Router(config) ip
inspect name FWRULE ftp alert on audit-trail on
timeout 300
49CBAC java
Router(config)
ip inspect name inspection-name http java-list
acl-num alert onoff audit-trail onoff
timeout seconds
- Contrôle le blocage de java avec une ACL standard
Router(config) ip inspect name FWRULE http
java-list 10 alert on audit-trail on timeout
300 Router(config) ip access-list 10 deny
172.26.26.0 0.0.0.255 Router(config) ip
access-list 10 permit 172.27.27.0 0.0.0.255
50CBAC application RPC
Router(config)
ip inspect name inspection-name
rpcprogram-number number wait-time minutes
alert onoff audit-trail onoff timeout
seconds
- Autorise certains numéros de programmes RPC
- wait-time limite la durée de connexion
Router(config) ip inspect name FWRULE rpc
program-number 100022 wait-time 0 alert off
audit-trail on
51CBAC SMTP
Router(config)
ip inspect name inspection-name smtp alert
onoff audit-trail onoff timeout seconds
- Nautorise que les commandes légales suivantes
pour SMTP DATA, EXPN, HELO, HELP, MAIL, NOOP,
QUIT, RCPT, RSET, SAML, SEND, SOML et VRFY - Sans ce filtre, toutes les transactions SMTP sont
autorisées
Router(config) ip inspect name FWRULE smtp
52CBAC fragmentation des paquets
Router(config)
ip inspect name inspection-name fragment max
number timeout seconds
- Utilisé pour se protéger contre certaines
attaques de type DoS - max nombre maxi de fragments avant réassemblage
- timeout attente maximum de réassemblage avant
rejet
Router(config) ip inspect name FWRULE fragment
max 254 timeout 4
53CBAC application à une interface
Router (config-if)
ip inspect inspection-name in out
- Applique une règle dinspection (repérée par son
nom) à une interface
Router(config) interface e0/0 Router(config-if)
ip inspect FWRULE in
- Applique une règle dinspection à linterface
e0/0 dans le sens entrant
54CBAC méthode de travail
- Sur les interfaces depuis lesquelles le trafic
sera initié - appliquer lACL dans le sens entrant qui autorise
uniquement le trafic désiré - appliquer les règles dinspection dans le sens
entrant, ces règles sappliquant au trafic
autorisé - Sur les autres interfaces
- appliquer lACL dans le sens entrant qui interdit
tout le trafic non désiré - Le firewall appliquera le filtrage dynamique au
sens du CBAC
55CBAC exemple 1
56CBAC exemple 1
Router(config) ip inspect name OUTBOUND
tcp Router(config) ip inspect name OUTBOUND udp
- Configure CBAC pour linspection 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 dinspection et lACL à
linterface e0/0 en entrée (patte inside du
firewall)
57CBAC exemple 1
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 lextérieur
Router(config) interface e0/1 Router(config-if)
ip access-group 102 in
- Applique lACL à linterface e0/1 en entrée
(patte outside du routeur)
58CBAC exemple 2
59CBAC exemple 2
Router(config) ip inspect name OUTBOUND
tcp Router(config) ip inspect name OUTBOUND udp
- Configure CBAC pour linspection 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 dinspection et lACL à
linterface e0/0 en entrée (patte inside du
firewall)
60CBAC exemple 2
Router(config) ip inspect name INBOUND tcp
- Configure CBAC pour linspection du trafic tcp
Router(config) access-list 102 permit icmp any
host 172.16.0.2 Router(config) access-list 102
permit tcp any host 172.16.0.2 eq
www Router(config) access-list 102 deny ip any
any
- Autorise le trafic ICMP et HTTP initié depuis
lextérieur et à destination de lhôte 172.16.0.2
Router(config) interface e0/1 Router(config-if)
ip inspect INBOUND in Router(config-if) ip
access-group 102 in
- Applique les règles dinspection et lACL à
linterface e0/1 en entrée (patte outside du
firewall)
61CBAC exemple 2
Router(config) access-list 103 permit icmp host
172.16.0.2 any Router(config) access-list 103
deny ip any any
- Nautorise que le trafic ICMP initié depuis la DMZ
Router(config) access-list 104 permit icmp any
host 172.16.0.2 Router(config) access-list 104
permit tcp any host 172.16.0.2 eq
www Router(config) access-list 104 deny ip any
any
- Nautorise que le trafic ICMP et HTTP initié
depuis lextérieur et à destination de lhôte
172.16.0.2
Router(config) interface e1/0 Router(config-if)
ip access-group 103 in Router(config-if) ip
access-group 104 out
- Applique les deux ACL à linterface e1/0
62CBAC commandes show
Router
show ip inspect name inspection-name show ip
inspect config show ip inspect interfaces show ip
inspect session detail show ip inspect all
- Affiche les configurations CBAC, les
configurations des interfaces et les sessions
Router sh ip inspect session Established
Sessions Session 6155930C (10.0.0.335009)gt(172.
30.0.5034233) tcp SIS_OPEN Session 6156F0CC
(10.0.0.335011)gt(172.30.0.5034234) tcp
SIS_OPEN Session 6156AF74 (10.0.0.335010)gt(172.
30.0.505002) tcp SIS_OPEN
63CBAC commandes debug
Router
debug ip inspect function-trace debug ip inspect
object-creation debug ip inspect
object-deletion debug ip inspect events debug ip
inspect timers
- Commandes de debug générales
Router(config)
debug ip inspect protocol
- debug dun protocole particulier
64Enlever le CBAC
Router(config)
no ip inspect
- Enlève toute la configuration CBAC
- Remet toutes les temporisations et les seuils à
leur valeur par défaut - Détruit toutes les sessions existantes
- Enlève toutes les ACL dynamiques générées par le
CBAC
65CBAC limitations
- Le CBAC ninspecte que le trafic explicitement
spécifié. Cest un avantage car le contrôle peut
se faire finement, mais il faut souvent beaucoup
dentrées ip inspect pour couvrir tous les
types de connexions - Le CBAC nest pas très simple dutilisation et
demande une bonne connaissance des protocoles et
des applications utilisés - Le trafic que le routeur lui-même génère nest
pas inspecté - Le trafic qui est envoyé au routeur lui-même
nest pas inspecté - CBAC ne peut inspecter les données cryptées
(IPSec). Il peut cependant inspecter les canaux
VPN dont il est à lorigine - Seul le mode passif de FTP est compatible avec
le CBAC
66Conclusion
- Les ACL étendues permettent de filtrer le trafic
en sortie du réseau car seul le port destination
est filtré. - Le retour vers le client ne peut être filtré car
le numéro de port utilisé est aléatoire - un faux retour ne peut pas filtré
- Les ACL réflexives sont plus performantes que les
ACL étendues car elles tiennent compte de
linformation de session - un faux retour sera bloqué en entrée, sauf si
il arrive pendant une session ouverte - Le CBAC est plus performant car il tient compte
en plus dinformations protocolaires de niveau
application - seules les commandes autorisées dans les
protocoles connus passent à travers le firewall - le firewall piste les attaques connues
- appliqué dans le sens sortie puis entrée, le CBAC
permet de ne laisser entrer sur le réseau que ce
qui fait partie dune session propre - appliqué dans le sens entrée puis sortie, le CBAC
permet de se protéger contre les attaques de type
DoS