Vous êtes sur la page 1sur 66

ACL : notions avances

Le principe des ACL a t expliqu au chapitre prcdent


Ces ACL de base prsentent des limitations qui peuvent tre
rsolues par lutilisation des :
ACL dynamiques
ACL rflexives
ACL caractre temporel
turbo ACL
ACL dpendantes du contexte : le CBAC

RE16 1
Commenter une ACL

Alors que nous allons srieusement compliquer lcriture et le


rle 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 diffrente 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

RE16 2
Mthode de travail

Il est important de respecter les conseils suivants :

il faut dabord bien rflchir 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 hsiter 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
rseau exploit

RE16 3
ACL dynamique

Une ACL dynamique permet de rsoudre le problme de


lauthentification
Les ACL classiques utilisent ladresse IP pour dterminer
quelle machine communique, mais il ny a pas de vrification
de lidentit de lutilisateur lui-mme
Il est souvent utile de demander lutilisateur de sidentifier :
nom dutilisatreur
mot de passe
Il faut alors utiliser une ACL dynamique

RE16 4
ACL dynamique

Il faut les utiliser quand :


on veut quun utilisateur particulier distant (ou un petit groupe)
puisse accder certaines ressources du rseau, travers
Internet
on veut quun groupe dhtes du rseau local puisse accder un
hte dun autre rseau protg par un firewall
Il est possible de limiter la dure de lautorisation de connexion

RE16 5
ACL dynamique

1. Un utilisateur sollicite une session telnet sur le firewall


configur avec une ACL dynamique (ligne vty)
2. LIOS Cisco ouvre une session telnet et demande son nom et
son mot de passe lutilisateur
3. Lauthentification peut tre assure par le firewall lui-mme ou
par un serveur TACACS+ ou RADIUS
4. Quand lutilisateur est indentifi, le firewall met fin la session
telnet
5. Il cre ensuite une entre temporaire dans lACL dynamique
(cette instruction temporaire permet de limiter laccs
certaines machines)
6. Les donnes sont changes travers le firewall
7. LIOS dtruit lentre temporaire au bout dun certain temps
paramtrable (soit en mesurant une dure dinactivit, soit en
mesurant le temps de connexion)RE16 6
ACL dynamique

ACL dynamique car elle napparat que sur sollicitation de


lutilisateur, et aprs authentification de celui-ci

Je laisse passer seulement si il sidentifie ! Je midentifie en faisant un telnet

RE16 7
ACL dynamique

Exemple avec authentification locale au routeur

dfinition de lutilisateur et de son mot de passe

username toto password tutu


autorisation du telnet sur l@IP de linterface du routeur
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
entre dynamique qui autorise tout le trafic IP
login local
autocommand access-enable timeout 5

dfinition dune ligne vty

commande dactivation de la partie dynamique de lACL :


lauthentification se fera en local elle sera ajoute aprs un telnet authentifi
elleRE16
restera dans lACL pendant 5 minutes 8
ACL dynamique

Lentre dynamique ne peut pas tre la seule entre de lACL


Linstruction ajoute dans une liste dynamique lest toujours au
dbut de la liste
Il ne faut quune instruction dynamique par ACL (seule la
premire sera prise en compte)
Utiliser un nom diffrent pour chaque instruction dynamique
Il faut autoriser le telnet sur le routeur pour que tout cela
puisse marcher
Il faut toujours dfinir un temps de connexion maximum

RE16 9
ACL dynamique

Utilise un mcanisme dauthentification des utilisateurs (et pas


seulement des htes)
Permet de rduire la taille des ACL classiques en rduisant le
nombre des instructions ncessaires
Avec cette technique, on peut spcifier quel utilisateur peut
accder des ressources (dfinies en @IP et n de port), en
spcifiant depuis quels htes il a le droit de le faire
On peut ainsi donner un accs dynamique un utilisateur
travers un firewall, sans compromettre les autres restrictions
de scurit

RE16 10
Proxy dauthentification

Les ACLs dynamiques obligent lutilisateur initier une


session telnet
Le proxy dauthentification permet dobtenir peu prs le
mme fonctionnement, mais en passant par un navigateur
Internet
Il peut tre utilis depuis lintrieur du rseau comme depuis
lextrieur

RE16 11
Proxy dauthentification
Les utilisateurs qui sont bloqus par une ACL peuvent (si le
routeur est configur en ce sens) utiliser un simple navigateur
web pour sidentifier auprs du serveur TACACS+ ou RADIUS
Ils doivent se connecter au serveur HTTP rsidant dans le
routeur prvu cet effet
Ce serveur HTTP remplace le serveur telnet comme
intermdiaire entre lutilisateur et le serveur TACACS+ ou
RADIUS
Aprs authentification, le serveur donnera au routeur
linstruction quil doit ajouter en tte dACL pour permettre
lutilisateur de rentrer sur le rseau

RE16 12
Proxy dauthentification

Les diffrences entre les ACL dynamiques et le proxy


dauthentification sont :
lACL dynamique est active 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
(ncessit 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

RE16 13
ACL rflexive

Permet de filtrer les paquets IP en fonction des informations de


session (qui a commenc ?) des couches suprieures
On peut ainsi autoriser un certain trafic, seulement si il a t
initi depuis lintrieur du rseau
On pouvait dj 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 rflexives permettent de faire ce type de filtrage avec
TCP, mais aussi UDP et ICMP

RE16 14
ACL tendue : rappel
Quand on utilise un numro de port pour filtrer, il faut savoir que
seul le port destination est filtr
Si je mets une ACL pour interdire host
denvoyer des requtes HTTP, le serveur ne
verra jamais rien

Si je mets une ACL qui filtre le trafic HTTP en


entre, alors host peut faire une requte, le
serveur peut rpondre, et cette rponse ne sera
pas bloque en entre du routeur !
Le filtrage ne se fait que sur le port destination

On peut nautoriser le trafic HTTP que en rponse


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-tte TCP, et


nest donc pas valable pour UDP RE16et ICMP 15
ACL rflexive

Les sessions TCP sont suivies grce aux bits ACK, RST et FIN
des en-ttes TCP
La fin de la session TCP est repre de la faon suivante :
quand le bit FIN de len-tte TCP est plac 1, le routeur devine
que la session va se terminer, il attend 5 secondes pour laisser le
temps lhte et au serveur de terminer leur session, puis il
bloque le trafic
quand le bit RST est mis 1, le routeur dtecte une interruption
abrupte de session et bloque immdiatement le trafic
par dfaut au bout dun certain temps (paramtrable) dinactivit
pour cette session

RE16 16
ACL rflexive

Les sessions UDP sont suivies par les couples


@IP source/destination
n port source/destination

La fin de la session ne peut tre dtecte que par dfaut au


bout dun certain temps dinactivit

RE16 17
ACL rflexive

Il y a deux restrictions lutilisation des ACL rflexives :

elles doivent tre utilises 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 numro de port en cours de session (par exemple
FTP en mode actif)

RE16 18
FTP : rappel

Le mode par dfaut de FTP est le mode actif


En mode actif :
le client ouvre une connexion de contrle sur le port 21 du serveur
quand le client demande des donnes le serveur utilise son port 20
pour lui envoyer

En mode passif :
le client ouvre une connexion de contrle sur le port 21 du serveur
le serveur lui indique un numro de port pour le transfert des
donnes
quand le client demande des donnes, il sollicite une connexion
sur le port que le serveur lui a indiqu

Le mode actif est donc incompatible


RE16 avec les ACLs rflexives 19
ACL rflexive : exemple 1

S1

interface Serial1 ct rseau local ct rseau


dinterconnexion
description Acces Internet
ip access-group inboundfilters in
ip access-group outboundfilters utilisation dACL nommes
out
! sessions considres comme inactives et par
ip reflexive-list timeout 120 consquent interdites au bout de 120 secondes
!
ip access-list extended dfinition de lACL nomme outboudfilters, elle
outboundfilters ne contient quune instruction : autoriser tout le
trafic IP, mais en pistant au passage les
permit tcp any any reflect
sessions sous le nom tcptrafic
tcptraffic
! dfinition de lACL nomme inboundfilters :
ip access-list extended on autorise tout le trafic BGP
inboundfilters on autorise tout le trafic EIGRP
permit bgp any any on interdit tout trafic ICMP
permit eigrp any any tout le reste est valu selon la rgle tcptrafic
deny icmp any any
evaluate tcptraffic RE16 20
ACL rflexive : exemple 1

S1

interface Serial1 ct rseau local ct rseau


dinterconnexion
description Acces Internet
ip access-group inboundfilters in
ip access-group outboundfilters
out
!
ip reflexive-list timeout 120
!
ip access-list extended remarque : on peut intercaler des instructions
outboundfilters classiques (non rflexives), elles sont alors
normalement values. Ceci est utile quand on
permit tcp any any reflect
ne souhaite pas tout pister !
tcptraffic
!
ip access-list extended
inboundfilters
permit bgp any any
permit eigrp any any
deny icmp any any
evaluate tcptraffic RE16 21
ACL rflexive : exemple 2

interface Ethernet 0 E0 S1
description Acces a notre reseau
ip access-group inboundfilters in ct rseau local ct rseau
dinterconnexion
ip access-group outboundfilters
DMZ
out
! www
smtp
ip reflexive-list timeout 120 dns
!
ip access-list extended
outboundfilters laccs la DMZ doit tre possible linitiative
deny icmp any any lextrieur :
on ne peut pas mettre lACL rflexive sur S1
evaluate tcptraffic
il faut la mettre sur E0
!
ip access-list extended
inboundfilters
permit tcp any any reflect
tcptraffic
RE16 22
ACL caractre temporel
Ce genre dACL permet dinterdire certains trafics pendant
certains priodes
La rfrence de temps utilise est lhorloge interne du routeur,
il est dans ce cas intressant dutiliser le protocole NTP
(Network Time Protocol ) pour bien synchroniser tous les
quipements

les connexions telnet sont autorises les lundi,


mercredi et vendredi de 8h 17h

RE16 23
Turbo 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 sries 7200,
7500, et suprieures

RE16 24
Context Based Acces Control : CBAC

Les ACL tendues permettent de filtrer le trafic en sortie du


rseau car seul le port destination est filtr.
Le retour vers le client ne peut tre filtr car le numro de port
utilis est alatoire
un faux retour ne peut pas filtr
Les ACL rflexives sont plus performantes que les ACL
tendues car elles tiennent compte de linformation de session
un faux retour sera bloqu en entre, sauf si il arrive pendant
une session ouverte
Le CBAC est plus performant car il tient compte en plus
dinformations protocolaires de niveau application

RE16 25
CBAC

Les limitations des ACL classiques sont :


le filtrage ne se fait que sur les @IP et ports source et destination
les ports ouverts le sont tout le temps

Les limitations des ACL rflexives sont :


elles ne fonctionnent pas avec les applications qui ngocient les
ports
elles ne permettent pas de limiter le nombre de sessions
autorises simultanment
elles ne tiennent pas compte des informations du protocole de
niveau application

RE16 26
CBAC

Les paquets qui arrivent sur linterface externe du firewall sont


inspects par les ACL classiques
Seuls les paquets qui passent ce premier barrage sont
inspects par le CBAC
CBAC interdit ou autorise uniquement le trafic TCP ou UDP
spcifi
Des tables dtat sont mises jour grce 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


RE16 protocol [timeout seconds] 27
CBAC

Le CBAC est capable de reconnatre les commandes des


protocoles dapplications sur les canaux de contrle
Le CBAC utilise les numros de squence de tous les
segments TCP
Utilis pour protger un serveur, le CBAC est aussi capable de
reconnatre certaines attaques de niveau application comme le
DoS. Dans ce cas, il peut :
gnrer des messages dalerte
bloquer les paquets concerns

RE16 28
CBAC : client sortant

Le trafic autoris en sortie (tout ou seulement certains


protocoles) est inspect pour :
en extraire les informations de session et dtat du protocole de
transport mais aussi du protocole dapplication
ajouter une ACL en entre pour laisser entrer le trafic rponse

Le trafic autoris en entre est inspect pour :


voir si il fait partie dune session en cours
voir si il est conforme la table dtat des protocoles de transport
et dapplication

RE16 29
CBAC : client sortant

RE16 30
CBAC : client entrant

Le CBAC utilise des temporisations et des valeurs seuil pour


grer les tats des sessions
Les sessions qui ne sont pas tablies compltement (de part et
dautre) au bout dun certain temps sont fermes par envoi
dune fin de session de part et dautre
Fixer des valeurs de temporisation de session protge des
attaques DoS en librant les resources du serveur
Le nombre de sessions demi-ouvertes est ainsi contrlable, ce
qui protge le serveur

RE16 31
CBAC : client entrant

Plusieurs seuils sont possibles pour bloquer les attaques DoS :


le nombre de connexions simultanes possibles
le nombre de connexions par unit de temps
le nombre de demi-connexion par hte

Ce type de filtrage est mettre en oeuvre uniquement sur les


protocoles dapplication que lon veut filtrer, tous les autres
tants interdits

RE16 32
CBAC

RE16 33
CBAC

Les protocoles de niveau transport supports sont :


TCP (canal de contrle seulement)
UDP (canal de contrle seulement)

RE16 34
CBAC

Les protocoles de niveau application supports sont :


RPC
FTP
TFTP
UNIX R-commands (rlogin, rexec, rsh, ...)
SMTP
HTTP Java
SQL*Net
RTSP (RealNetworks)
H.323 (NetMeeting, ProShare, CUSeeMe)
Autres multimedia :
Microsoft NetShow
StreamWorks
VDOLive RE16 35
Alertes et rapports daudit

CBAC gnre des alertes temps rel et des rapports daudit


Les rapports daudit sont envoys un serveur Syslog Spour
rendre compte de toutes les transactions qui sont apparues sur le
rseau
On peut configurer les alertes et rapports daudit sur la base des
protocoles dapplication

RE16 36
Configuration du CBAC

Les tapes de la mise en fonction du CBAC sont :


fixer les paramtres des alertes et des rapports daudit
fixer les temporisations et les seuils (nombre de connexions)
definir le Port-to-Application Mapping (PAM)
definir les rgles dinspection
appliquer les rgles dinspection et les ACL aux interfaces
Tester le fonctionnement

RE16 37
CBAC : alertes

no ip inspect alert-off

Met en route les alertes qui sont envoyes


la console
Une alerte est gnre quand un paquet IP
se voit rejet par le CBAC

RE16 38
CBAC : 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

RE16 39
CBAC : temporisations

Router(config)#
ip inspect tcp synwait-time seconds
Spcifie combien le firewall laissera de temps pour que la
connexion TCP atteigne ltat tablie

Router(config)#
ip inspect tcp finwait-time seconds
Spcifie combien le firewall attendra de temps lchange des bits
FIN avant dinterdire la session

RE16 40
CBAC : temporisations

Router(config)#
ip inspect tcp idle-time seconds
ip inspect udp idle-time seconds
Spcifie le temps maximum dinactivit autoris

Router(config)#
ip inspect dns-timeout seconds
Mme chose pour une session DNS

RE16 41
CBAC : seuils

Router(config)#
ip inspect max-incomplete high number
Dfinition du nombre maximum de demi-sessions. Quand ce nombre
est atteint, le routeur dtruit les sessions les plus anciennes jusqu ce
que le nombre atteigne le seuil bas dfini ci-dessous

Router(config)#
ip inspect max-incomplete low number
Dfinition du nombre de demi-sessions ouvertes qui provoque
larret de la destruction des plus anciennes

RE16 42
CBAC : seuils

Router(config)#
ip inspect one-minute high number
Dfinition du nombre maximum de nouvelles demi-
sessions autorises par minute. Si ce nombre est
dpass, le firewall detruit les plus anciennes jusqu
ce que leur nombre atteigne le seuil bas dfini ci-
dessous
Router(config)#
ip inspect one-minute low number
Dfinition du nombre de demi-sessions ouvertes qui
provoque larret de la destruction des plus anciennes

RE16 43
CABC : limitation du nombre
de demi-connexions par hte

Router(config)#
ip inspect tcp max-incomplete host number
block-time seconds
Dfinition du nombre maximum de demi-sessions TCP vers le mme hte
destination avant que le routeur ne commence les dtruire
Quand le nombre de demi-sessions vers le mme hte a t dpass, le firewall
dtruit les dtruit de la faon suivante :
si block-time est 0, la plus vielle demi-session est dtruite pour faire place la
nouvelle
si block-time plus grand que 0, toutes les demi-connexions existantes sont dtruites,
et les nouvelles connexions vers cet hte sont interdites pendant le temps
correspondant block-time

RE16 44
CBAC : Port-to-Application
Mapping
Il est possible de configurer les numros de port que le
firewall attribue aux applications
CBAC utilise le PAM pour dterminer quel port est
attribu aux applications

RE16 45
CBAC : 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
Mme chose pour un hte particulier

Router(config)#
access-list permit acl_num ip_addr wildcard_mask
ip port-map appl_name port port_num list acl_num
Mme chose pour un rseau
RE16particulier 46
CBAC : port mapping

Router#
show ip port-map
montre toutes les informations relatives au port
mapping
Router#
show ip port-map appl_name
mme chose pour une application
Router#
show ip port-map port port_num
mme 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
RE16 47
CBAC : inspection dun
protocole dapplication

Router(config)#
ip inspect name inspection-name protocol [alert {on|
off}] [audit-trail {on|off}] [timeout seconds]
Dfinit le protocole dapplication inspecter
Sera appliqu une interface
Alertes, rapports daudit et timeout sont configurables par protocole et sont
prioritaires sur les rglages 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
RE16 48
CBAC : java

Router(config)#
ip inspect name inspection-name http java-list
acl-num [alert {on|off}] [audit-trail {on|off}]
[timeout seconds]
Contrle 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 RE16 49
CBAC : application RPC

Router(config)#
ip inspect name inspection-name rpc
program-number number [wait-time minutes]
[alert {on|off}] [audit-trail {on|off}]
[timeout seconds]
Autorise certains numros de programmes RPC
wait-time limite la dure de connexion

Router(config)# ip inspect name FWRULE rpc


program-number 100022 wait-time 0 alert off
audit-trail on RE16 50
CBAC : SMTP

Router(config)#
ip inspect name inspection-name smtp [alert
{on|off}] [audit-trail {on|off}] [timeout
seconds]
Nautorise que les commandes lgales 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
autorises

Router(config)# ip inspect name FWRULE smtp


RE16 51
CBAC : fragmentation
des paquets

Router(config)#
ip inspect name inspection-name fragment max
number timeout seconds
Utilis pour se protger contre certaines attaques de
type DoS :
max : nombre maxi de fragments avant
rassemblage
timeout : attente maximum de rassemblage
avant rejet
Router(config)# ip inspect name FWRULE
fragment max 254 timeout 4
RE16 52
CBAC : application une
interface

Router (config-if)#
ip inspect inspection-name {in | out}
Applique une rgle dinspection (repre par son nom) une interface

Router(config)# interface e0/0


Router(config-if)# ip inspect FWRULE in
Applique une rgle dinspection linterface e0/0 dans le sens entrant

RE16 53
CBAC : mthode de travail

Sur les interfaces depuis lesquelles le trafic sera initi :

appliquer lACL dans le sens entrant qui autorise uniquement le trafic dsir
appliquer les rgles dinspection dans le sens entrant, ces rgles
sappliquant au trafic autoris

Sur les autres interfaces

appliquer lACL dans le sens entrant qui interdit tout le trafic non dsir

Le firewall appliquera le filtrage dynamique au sens du CBAC

RE16 54
CBAC : exemple 1

RE16 55
CBAC : 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 htes du rseau 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 rgles dinspection et lACL linterface e0/0
en entre (patte inside du firewall)
RE16 56
CBAC : 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 lextrieur

Router(config)# interface e0/1


Router(config-if)# ip access-group 102 in
Applique lACL linterface e0/1 en entre (patte outside du
routeur) RE16 57
CBAC : exemple 2

RE16 58
CBAC : 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 htes du rseau 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 rgles dinspection et lACL linterface e0/0 en entre
(patte inside du firewall) RE16 59
CBAC : 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 lextrieur et
destination de lhte 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 rgles dinspection et lACL linterface e0/1 en entre
(patte outside du firewall) RE16 60
CBAC : 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 lextrieur et destination


de lhte 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


RE16 e1/0 61
CBAC : 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.3:35009)=>(172.30.0.50:34233)
tcp SIS_OPEN
Session 6156F0CC (10.0.0.3:35011)=>(172.30.0.50:34234)
tcp SIS_OPEN
Session 6156AF74 (10.0.0.3:35010)=>(172.30.0.50:5002) tcp
SIS_OPEN RE16 62
CBAC : 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 gnrales

Router(config)#
debug ip inspect protocol
debug dun protocole particulier
RE16 63
Enlever le CBAC

Router(config)#
no ip inspect
Enlve toute la configuration CBAC
Remet toutes les temporisations et les seuils
leur valeur par dfaut
Dtruit toutes les sessions existantes
Enlve toutes les ACL dynamiques gnres par
le CBAC

RE16 64
CBAC : limitations

Le CBAC ninspecte que le trafic explicitement spcifi. Cest


un avantage car le contrle peut se faire finement, mais il faut
souvent beaucoup dentres ip inspect pour couvrir tous les
types de connexions
Le CBAC nest pas trs simple dutilisation et demande une
bonne connaissance des protocoles et des applications utiliss
Le trafic que le routeur lui-mme gnre nest pas inspect
Le trafic qui est envoy au routeur lui-mme nest pas inspect
CBAC ne peut inspecter les donnes cryptes (IPSec). Il peut
cependant inspecter les canaux VPN dont il est lorigine
Seul le mode passif de FTP est compatible avec le CBAC

RE16 65
Conclusion

Les ACL tendues permettent de filtrer le trafic en sortie du rseau car seul le port destination
est filtr.
Le retour vers le client ne peut tre filtr car le numro de port utilis est alatoire
un faux retour ne peut pas filtr
Les ACL rflexives sont plus performantes que les ACL tendues car elles tiennent compte de
linformation de session
un faux retour sera bloqu en entre, 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 autorises dans les protocoles connus passent
travers le firewall
le firewall piste les attaques connues
appliqu dans le sens sortie puis entre, le CBAC permet de ne laisser
entrer sur le rseau que ce qui fait partie dune session propre
appliqu dans le sens entre puis sortie, le CBAC permet de se
RE16 66
protger contre les attaques de type DoS