ACL mise en oeuvre

Download Report

Transcript ACL mise en oeuvre

Les Listes de Controle d'Accès
(ACCESS-LISTS)
1
1. Généralités Listes de Controle d'Accès
2. Sécuriser l'accès au routeur
3. Dynamic Access-List - Lock and Key
4. Filtrage de sessions
5. CBAC (Context Based Access Control)
6. Alternative au Listes de Controle d'Accès
2
Les Access Lists
• Généralités
• Une Liste d'Accès est une séquence d'actions d'autorisation (permit) ou
d'interdiction (deny) sur des adresses ou des protocoles de couches
supérieures.
• Il existe différents types de Liste d'Accès:
-
Standard (Standard)
Etendue (Extended)
Nommée (Named)
Dynamiques
Transmission de paquets
sur l'interface
Accès
Ligne Terminal virtuel
(IP)
Liste d'Accès
3
Les Access Lists
• Les numéros de Listes d'Accès
Numéro de Liste d'Accès
Description
1 à 99
Access List Standard IP
100 à 199
Access List Etendue IP
200 à 299
Protocole Type-Code Access List
300 à 399
DECnet Access List
400 à 499
XNS Access List Standard
500 à 599
XNS Access List Etendue
600 à 699
Apple Talk Access List
700 à 799
Adresses MAC Acces List
800 à 899
IPX Access List Standard
900 à 999
IPX Access List Etendue
1000 à 1099
IPX SAP Access List
1100 à 1199
Adresses MAC Acces List Etendue
1200 à 1299
IPX Adresses agrégées Access list
1300 à 1399
Access List Standard IP (extension)
2000 à 2699
Access List Etendue IP (extension)
4
Les Access Lists
• La syntaxe des Listes d'Accès
Router(config)#access-list access-list-number {deny|permit}
source [source-widcard] [log]
Router(config)#access-list access-list-number {deny|permit}
source [source-widcard] destination destination-wildcard
[precedence precedence] [tos tos] [established] [log]
[time-range time-range-name]
5
Les Access Lists
• Les Listes d'Accès nommées
• Les Access-Lists nommées ne sont pas compatibles avec les releases
inférieures à la Release IOS 11.2.
• Un nom ne peut pas être utilisé pour plusieurs type d'Access-lists.
• Usuellement, seuls les filtres de routes et de paquets peuvent utiliser
les Access-lists nommées.
• Utilisez no permit et no deny pour retirer des entrées individuelles de
la liste
RTA(config)#ip access-list extended WEBONLY
RTA(config-ext-nacl)#permit tcp any 10.0.0.0 0.255.255.255 eq 80
RTA(config-ext-nacl)#deny ip any 10.0.0.0 0.255.255.255
RTA(config-ext-nacl)#permit ip any any
RTA(config-ext-nacl)#^Z
RTA#show access-lists
Extended IP access list WEBONLY
permit tcp any 10.0.0.0 0.255.255.255 eq www
deny ip any 10.0.0.0 0.255.255.255
permit ip any any
6
Les Access Lists
• Rappels
• Points à considérer avant de configurer des Listes de controle d'Accès
1. Les Listes d'accès nommées ne sont pas compatibles avec des
releases IOS plus anciennes que IOS 11.2.
2. Toutes les Listes d'Accès n'acceptent pas un nom. Usuellement
seules les Listes d'Accès de filtres de routes et de paquets sur des
interfaces peuvent utiliser un nom.
3. Une Liste d'Accès standard et une Liste d'Accès étendue ne peuvent
pas avoir le même nom.
7
Les Access Lists
• Configuration
• Liste d'Accès standard
• Definit une liste d'accès IP standard en utilisant un nom:
router(config)# ip access-list standard name
1. Dans le mode de configuration access-list , spécifiez une ou plusieurs
conditions permi ou deny:
router(config-std-nacl)# deny| permit
{source [source-wildcard] | any}[log]
2. Exit access-list configuration mode:
router(config-std-nacl)# exit
8
Les Access Lists
• Configuration
• Liste d'Accès standard
• Definit une liste d'accès IP étendue en utilisant un nom :
router(config)#ip access-list extended name
1. Dans le mode de configuration access-list , spécifiez une ou plusieurs
conditions permit ou deny:
router(config-ext-nacl)# deny | permit protocol source source-wildcard
destination destination-wildcard [precedence precedence] [tos tos]
[established] [log] [time-range time-range-name]
2. Sortie du mode de configuration access-list :
router(config-ext-nacl)#exit
9
Les Access Lists
• Les "Time-based Extended Access-list"
• Utilisation d'une "time-based Access List" depuis l'IOS release 12.01(T) avec
la commande time-range
• Bénéfice de l'utilisation de "Time based" Access List :
1. Permet plus de controle sur l'autorisation d'accès à des ressources
pour un utilisateur
2. Fixe les politiques de sécurité "time-based" suivantes :
• Périmètre de sécurité utilisant les fonctions "Cisco IOS Firewall"
ou les Access Lists.
• Confidentialité des données avec "Cisco Encryption Technology" ou
IP Security Protocol (IPSec).
3. Fonctions de politiques de routage et mise en file d'attente améliorées
4. Efficacité pour le coût de reroutage automatique de trafic
5. Supporte la qualité de service (QoS), service-level agreements (SLAs)
quand les fournisseurs de service peuvent changer dynamiquement le
Committed Access rate (CAR).
6. Controle des messages de "logging"
10
Les Access Lists
• Les "Time-based Extended Access-list"
• Configuration
1. Definir un nom d'intervalle de temps:
router(config)#time-range time-range-name
2. Utilisez les commandes periodic et absolute:
router(config-time-range)# periodic days-of-the-week hh:mm
to[days-of-the-week] hh:mm
router(config-time-range)# absolute [start time date] [end time date]
3. Sortie du mode de configuration intervalle de temps:
router(config-time-range)#exit
11
Les Access Lists
• Les "Time-based Extended Access-list"
• Configuration - Exemple
• Seules les listes d'accès nommées ou étendues IP et IPX peuvent utiliser
des intervalles de temps.
• Dans la configuration ci-dessous, RTA est configuré avec la liste-d'accès
nommée STRICT et deux intervalles de temps, NO-HTTP et UDP-YES:
- L'instruction deny empêche le trafic web les jours de la semaine de
8h à 18h.
- L'instruction permit autorise le trafic UDP le week-end de 12h à 20h
RTA(config)#time-range NO-HTTP
RTA(config-time-range)#periodic weekdays 8:00 to 18:00
RTA(config-time-range)#exit
RTA(config)#time-range UDP-YES
RTA(config-time-range)#periodic weekend 12:00 to 20:00
RTA(config-time-range)#exit
RTA(config)#ip access-list extended STRICT
RTA(config-ext-nacl)#deny tcp any any eq http time-range NO-HTTP
RTA(config-ext-nacl)#permit udp any any time-range UDP-YES
RTA(config-ext-nacl)#deny udp any any range netbois-ns netbios-ss
RTA(config-ext-nacl)#permit ip any any
12
Les Access Lists
• Configuration de commentaires
• Rend la configuration des ACLs plus facile à lire
• Disponible depuis la release 12.0.2(T) de l'IOS Cisco
• Commande:
- router(config)#access-list access-list number remark remark
- router(config-std-nacl)#remark remark
RTA(config)#access-list
RTA(config)#access-list
RTA(config)#access-list
RTA(config)#access-list
RTA(config)#access-list
RTA(config)#access-list
RTA(config)#access-list
101
101
101
101
101
101
101
remark Autorise Admin Sous-réseau Telnet vers Serveurs
permit tcp 192.168.1 0.0.0.255 172.16.1.0 0.0.0.255 eq 23
deny tcp any 172.16.1.0 0.0.0.255 eq 23
remark autorise SNMP pour Admin du host uniquement
permit udp host 192.168.1.250 any eq 161
deny udp any any eq 161
permit ip any any
13
Les Access Lists
• Appliquer des Access-Lists
• Les listes de contrôle d'accès sont appliquées à:
- Une ou plusieurs interfaces
- Pour du trafic entrant ou sortant
• Rappelez-vous que vous pouvez appliquer un liste de contrôle d'accès
par protocole, par interface et par direction (in ou out)
• Les Accès-List en sortie demandent moins de temps CPU que les listes d'accès
en entrées et par conséquent sont préférables.
• Commande:
- Router(config-if)#ip access-group access-list-number | access-list-name in|out
14
Les Access Lists
• Appliquer des Access-Lists
• Sécuriser l'accès au routeur - Les ports "Terminal virtuel"
• Les listes d'accès étendues peuvent être
utilisées pout bloquer Telnet (TCP 23)
- Doivent être configurées pour chaque
interface IP sur le routeur
Port
Physique (E0)
0
1
• Appliquer une liste d'accès standard aux
lignes vty est un meilleur choix.
•
•
•
•
2
3
4
Ports
Virtuels
(vty 0-4)
RTA(config)#access-list 5 permit 200.100.50.0 0.0.0.255
RTA(config)#access-list 5 permit host 192.168.1.1
RTA(config)#line vty 0 4
RTA(config-line)#access-class 5 in
15
Les Access Lists
• Appliquer des Access-Lists
• Sécuriser l'accès au routeur - Accès au Serveur Web IOS
• RTA(config)#access-list 17 permit 202.206.100.0 0.0.0.255
RTA(config)#ip http server
RTA(config)#ip http access-class 17
• L'application d'une access-class à un serveur HTTP IOS ne nécessite pas le
mot clé in car ce service accepte uniquement des connexions entrantes.
16
Les Access Lists
• Listes d'accès dynamiques - Lock and Key
• Fonctionnalité IOS qui permet aux utilisateurs d'ouvrir temporairement
une porte dans un pare-feu sans compromettre les restrictions de sécurité
configurées.
• Est configuré en utilisant un type de liste d'accès étendue appelé liste d'accès
dynamique.
• Les utilisateurs "Lock and Key" sont typiquement des utilisateurs avec privilèges
ou des administrateurs système.
• Les listes d'accès dynamiques permettent à des utilisateurs désignés d'obtenir
un accès temporaire à des ressources à partir d'une adresse IP quelconque ou
à partir d'une adresse IP spécifique que vous choisissez.
17
Les Access Lists
• Listes d'accès dynamiques - Lock and Key
1. Vous voulez permettre à un utilisateur ou à un groupe d'utilisateurs
d'accéder de manière sécurisée à un host de votre réseau protégé via
Internet.
- "Lock-and-Key" authentifie l'utilisateur permet un accès limité au travers
de votre routeur pare-feu mais uniquement pour ce host ou ce sous-réseau
et pour une durée déterminée.
2. Vous voulez que certains utilisateurs d'un réseau distant accèdent à un host
du réseau d'entreprise protégé par un pare-feu.
- "Lock and Key" requiert l'authentification des utilisateurs avant d'autoriser
l'accès à des hosts protégés.
18
Les Access Lists
• Listes d'accès dynamiques - Lock and Key
• Fonctionnement
Serveur
Ouvrir une session Telnet depuis 10.1.1.1
Permit 10.1.1.1 pour toute
adresse IP jusqu'à ce que le
temps permis soit écoulé
Username, Password ?
10.1.1.1
Utilisateur Claire, Password Csecret
Utilisateur Claire valide
Fermeture de la session Telnet
19
Les Access Lists
• Listes d'accès dynamiques - Lock and Key
• Fonctionnement
Site d'entreprise
Site distant
IOS Cisco
1. Initiation du Login
2. Challenge
IOS Cisco
3. Réponse
4. Liste d'accès
Serveur
de
Fichiers
5. Données
Internet
Serveur
TACACS+
20
Les Access Lists
• Listes d'accès dynamiques - Lock and Key
• Fonctionnement
Site d'entreprise
Site distant
IOS Cisco
1. Initiation du Login
2. Challenge
IOS Cisco
3. Réponse
4. Liste d'accès
Serveur
de
Fichiers
5. Données
Internet
Serveur
TACACS+
1. L'utilisateur ouvre une session Telnet vers un routeur pare-feu configuré pour "Lock and Key"
21
Les Access Lists
• Listes d'accès dynamiques - Lock and Key
• Fonctionnement
Site d'entreprise
Site distant
IOS Cisco
1. Initiation du Login
2. Challenge
IOS Cisco
3. Réponse
4. Liste d'accès
Serveur
de
Fichiers
5. Données
Internet
Serveur
TACACS+
2. IOS sur Routeur
a- Le routeur reçoit un paquet Telnet
b- Le routeur ouvre une session Telnet
c- Le routeur demande un nom d'utilisateur et un mot de passe
d- Le routeur réalise l'authentification avec le serveur TACACS+
e- Si l'authentification est réussie, la connexion Telnet est libérée
f- L'IOS Cisco crée une entrée temporaire dans la liste d'accès dynamique
22
Les Access Lists
• Listes d'accès dynamiques - Lock and Key
• Fonctionnement
Site d'entreprise
Site distant
IOS Cisco
1. Initiation du Login
2. Challenge
IOS Cisco
3. Réponse
4. Liste d'accès
Serveur
de
Fichiers
5. Données
Internet
Serveur
TACACS+
3. L'utilisateur échange des données à travers le pare-feu
23
Les Access Lists
• Listes d'accès dynamiques - Lock and Key
• Fonctionnement
Site d'entreprise
Site distant
IOS Cisco
1. Initiation du Login
2. Challenge
IOS Cisco
3. Réponse
4. Liste d'accès
Serveur
de
Fichiers
5. Données
Internet
Serveur
TACACS+
4. L'IOS efface l'entrée temporaire de la liste d'accès quand une durée configurée est atteinte
ou lorsque l'administrateur efface cette entrée.
- La durée peut un temps donné ou une valeur absolue.
- L'entrée temporaire de la liste d'accès n'est pas automatiquement effacée lorsque l'utilisateur
termine la session .
24
Les Access Lists
• Listes d'accès dynamiques - Lock and Key
• Configuration
• Définition d'une liste d'accès dynamique
• RTA(config)#access-list 101 permit tcp any host 192.168.1.1 eq telnet
RTA(config)#access-list 101 dynamic UNLOCK timeout 120 permit ip any any
RTA(config)#int s0
RTA(config-if)#ip acces-group 101 in
• timeout xxx dans cette commande est un timeout absolu
25
Les Access Lists
• Listes d'accès dynamiques - Lock and Key
• Configuration - Authentification
• Utilisation de sa propre base de données locale ou centrlisée sur un serveur
RADIUS ou TACACS+.
• Configuration utilisant une base de données locale pour l'authentification
- RTA(config)#username scoupy password bert
RTA(config)#line vty 0 4
RTA(config-line)#login local
• L'étape finale pour configurer "Lock and Key" est d'autoriser le routeur à
créer une entrée d'accès temporaire dans la liste d'accès dynamique.
- router#access-enable [host] [timeout minutes]
- La valeur "idle timeout" (dans cette commande) doit être inférieur à la
valeur absolue du timeout.
• Configuration des lignes VTY
- RTA(config)#line vty 0 4
RTA(config-line)#autocommand access-enable host timeout 20
- autocommand access-enable : L'accès au travers du pare-feu est crée chaque
fois que l'utilisateur s'authentifie via Telnet.
26
Les Access Lists
• Filtrage de sessions
Host A
SYN
Host B
SYN ACK
ACK
• Comment autoriser le trafic permis à entrer et le interdire le trafic non autorisé
• Filtrage du trafic basé 6 bits de code TCP :
- URG (Urgent)
- PSH (Push)
- RST (Reset)
- FIN (Finish)
- ACK (Acknowledgement)
- SYN (Synchronization)
• Les hosts utilisent TCP pour établir une connexion en trois étapes. Cet échange
utilise les bits SYN et ACK.
• La liste d'accès étendue peut vérifier si un paquet fait partie d'une connexion
déjà établie (Established - Bits ACK ou RST à 1)
27
Les Access Lists
• Filtrage de sessions
• Argument "Established"
• established argument utilisé avec le mot clé TCP dans une liste d'accès étendue
(UDP, ICMP et tous les autres protocoles ne peuvent pas utiliser cet argument)
- router(config)#access-list access-list-number permit tcp source-address
source-mask destination-address destination-mask established
- Exemple:
access-list
access-list
access-list
access-list
access-list
101
101
101
101
101
permit tcp any 192.168.1.0 0.0.0.255 established
permit icmp any any
permit udp any any eq 53
deny ip any 192.168.1.0 0.0.0.255
permit ip any any
28
Les Access Lists
• Reflexive Acces-List
- Les listes d'accès "Reflexive" permettent de filtrer le trafic du réseau sue la base
des informations de session des protocoles situés au-dessus d'IP.
• Comme pour l'argument established
- Les listes d'accès "Reflexive":
- Autorisent les sessions issues de
l'intérieur du réseau.
- Interdisent les sessions issues de
l'extérieur du réseau.
• Contrairement à l'argument established
- Les listes d'accès "Reflexive":
- Fonctionnent pour tous les protocoles
et pas uniquement TCP.
- Réalisent une correspondance dynamique
entre le trafic entrant et les paramètres
du trafic sortant .
• Peuvent être définies uniquement avec les listes d'accès étendues nommées
• Moyen très efficace pour sécuriser un réseau car elle évite la majorité des cas
de "spoofing" ou de déni de service (DoS).
• Fournit un controle accru sur le trafic entrant et simple à utiliser
29
Les Access Lists
• Reflexive Acces-List
• Configuration
interface Serial 1
description Accès à Internet via cette interface
ip access-group filtresentrants in
ip access-group filtressortants out
!
ip reflexive-list timeout 120
!
ip access-list extended filtresortants
permit tcp any any reflect tcptraffic
!
ip access-list extended filtresentrants
permit bgp any any
permit eigrp any any
deny icmp any any
evaluate tcptraffic
1. Crée la liste d'accès
30
Les Access Lists
• Reflexive Acces-List
• Configuration
interface Serial 1
description Accès à Internet via cette interface
ip access-group filtresentrants in
ip access-group filtressortants out
!
ip reflexive-list timeout 120
!
ip access-list extended filtresortants
permit tcp any any reflect tcptraffic
!
ip access-list extended filtresentrants
permit bgp any any
permit eigrp any any
deny icmp any any
evaluate tcptraffic
1. Crée la liste d'accès
2. Crée le filtre
31
Les Access Lists
• Reflexive Acces-List
• Configuration
interface Serial 1
description Accès à Internet via cette interface
ip access-group filtresentrants in
ip access-group filtressortants out
!
ip reflexive-list timeout 120
!
ip access-list extended filtresortants
permit tcp any any reflect tcptraffic
!
ip access-list extended filtresentrants
permit bgp any any
permit eigrp any any
deny icmp any any
evaluate tcptraffic
1. Crée la liste d'accès
2. Crée le filtre
3. l'applique à une interface
32
Les Access Lists
• Reflexive Acces-List
• Fonctions des listes d'accès "Reflexive"
• Les listes d'accès "Reflexive" contiennent des critères pour définir des
accès ou entrées conditionnelles et temporaires.
- Création d'une nouvelle session depuis l'intérieur du réseau et fermeture
de celle-ci quand elle se termine.
• Evaluation de ces entrées en séquence et lorsqu'une correspondance est
trouvée, l'évaluation est terminée.
• Difficile à tromper car plusieurs critères de filtrage sont vérifiés avant de
permettre l'accès
33
Les Access Lists
• Reflexive Acces-List
• Caractéristiques d'une entrée temporaire
• Toujours une entrée de type "permit"
• Spécifie le même protocole que le paquet original sortant
• Spécifie les mêmes ports source et destination (TCP et UDP) que le paquet
original sortant, sauf que les numéros de ports sont croisés.
• Pour les protocoles qui n'ont pas de numéros de ports tel ICMP et IGMP
d'autres critères sont spécifiés. Par exemple le type de paquet pour ICMP.
• Le trafic entrant est évalué avec l'entrée de la liste d'accès "Reflexive"
jusqu'à ce que cette entrée expire. Si le paquet entrant correspond avec les
critères de l'entrée celui-ci est acheminé dans le réseau.
• L'entrée expirera lorsque le dernier paquet de la session passera sur l'interface.
• Si aucun paquet pour cette session n'est détecté pendant une durée déterminée
(timeout) l'entrée expire. Les entrées temporaires de la liste d'accès "Reflexive"
sont effacées en fin de session.
34
Les Access Lists
• Reflexive Acces-List
• Exemple
• Les listes d'accès "Reflexive" sont
configurées sur l'interface externe
Serial 1
Interne
Externe
Serial1
Internet
Reflect (Entrée)
Evalue
• Ceci évite que du trafic IP entre par le routeur et dans le réseau interne sans
qu'une session soit déjà établie depuis l'intérieur du réseau
35
Les Access Lists
• Reflexive Acces-List
• Exemple
• Les listes d'accès "Reflexive" sont
configurées sur l'interface interne
Ethernet0
Interne
Externe
Internet
Ethernet0
Reflect (Entrée)
DMZ
Serveur
Web
Serveur
DNS
Evalue
• Ceci autorise le trafic externe à accéder aux services de la DMZ,tels le DNS,
mais évite que du trafic IP entre par le routeur et dans le réseau interne
sans qu'une session soit déjà établie depuis l'intérieur du réseau.
36
Les Access Lists
• Reflexive Acces-List
• Commandes de configuration
1. Définition d'une liste d'accès étendue nommée qui sera appliquée à
l'interface de sortie.
Router(config)#ip access-list extended extended-list-name
2. Configuration de la liste d'accès étendue nommée pour une entrée décrivant
du trafic.
Router(config-ext-nacl)#permit ip-protocol any any reflect name [timeout seconds]
3. Application de la liste d'accès à l'interface de sortie
Router(config-if)#ip access-group extended-list-name out
37
Les Access Lists
• Reflexive Acces-List
• Commandes de configuration
4. Définition d'une liste d'accès étendue nommée qui va filtrer le trafic
entrant.
Router(config)#ip access-list extended extended-list-name
5. Configuration cette liste d'accès étendue nommée pour évaluer le trafic
entrant.
Router(config-ext-nacl)#evaluate name
38
Les Access Lists
• Reflexive Acces-List
• Commandes de configuration
6. Application de la liste d'accès étendue nommée à l'interface externe pour
du trafic entrant.
Router(config-if)#ip access-group extended-list-name in
7. (Option) Spécification d'un timeout global pour les entrées de la liste d'accès
"Reflexive".
Router(config)#ip reflexive-list timeout seconds
• Les entrées des listes d'accès "reflexive" expirent si aucun paquet pour la session n'a été
détecté pendant une durée prédéterminée.
• Le timeout global par défaut est de 300 sec.
39
Les Access Lists
• Reflexive Acces-List
• Exemple de configuration
Reflect
E0
S0
Internet
Evaluate
• Création de la liste d'accès "reflexive"
- RTA(config)#ip access-list extended SORTIE
- RTA(config-ext-nacl)#permit ip any any reflect Trafic_permis
- RTA(config-ext-nacl)#exit
- RTA(config)#interface serial0
- RTA(config-if)#ip access-group SORTIE out
• Création d'une liste d'accès qui correspond au trafic entrant
- RTA(config)#ip access-list extended ENTREE
- RTA(config-ext-nacl)#evaluate Trafic_permis
- RTA(config-ext-nacl)#exit
- RTA(config)#interface serial0
- RTA(config-if)#ip access-group ENTREE in
• Si on le désire, un timeout global peut être fixé
- RTA(config)#ip reflexive-list timeout 200
40
Le controle d'accès CBAC
• Context-Based Access Control
• Context-Based Access Control est un ensemble d'outils pour la sécurité
• Le filtrage de paquet par CBAC se fait après l'examen des en-têtes des
couches 3 et 4
• CBAC fait partie de la fonctionnalité Pare-feu de l'IOS Cisco
- Disponible dès l'IOS 11.2
- Des fonctions ont été ajoutées à CBAC dans la Release 12.0.5(T)
- La fonctionnalité de Pare-feu n'est pas disponible sur toutes les plateformes
• CBAC c'est:
- Plus qu'une liste d'accès améliorée
- Un ensemble d'outils de sécurité qui inclut:
- Filtrage de trafic
- Blocage Java
- Inspection de trafic
- Traçage d'alerte et audit
- Détection d'intrusion
41
Le controle d'accès CBAC
• Context-Based Access Control
• CBAC a été conçu pour reconnaître un certain nombre de protocoles applicatifs
qui permettent à des hosts externes de changer de port pendant le transfert
d'informations.
• CBAC trace l'état des connexions TCP et UDP incluant les numéros de ports et
adresses IP de chaque extrémité.
• Quand le trafic d'un réseau externe tente d'entrer dans le réseau protégé, CBAC
vérifie le trafic avec la table d'états pour être certain que le paquet fait partie
d'une connexion déjà établie ou autorisée.
• CBAC examine le paquet pour déterminer quel protocole applicatif est utilisé.
• CBAC supporte les protocoles utilisant plusieurs ports. La majorité des protocoles
multimédia de type "streaming" et d'autres protocoles (FTP, RPC et SQL*Net)
utilise plusieurs ports.
42
Le controle d'accès CBAC
• Context-Based Access Control
• Fonctionnement
USER1
1. L'utilisateur User1 initie
une session Telnet
S0
3. Autre trafic Telnet
bloqué
2. Trafic retour de l'utilisateur
User1, session Telnet permise
E0
S1
Pare-feu
Réseau interne protégé
43
Le controle d'accès CBAC
• Context-Based Access Control
• Fonctionnement
USER1
1. L'utilisateur User1
initie une session
Telnet
2. Trafic retour de
l'utilisateur User1,
session Telnet permise
E0
3. Autre trafic Telnet
bloqué
S0
S1
Pare-feu
Réseau interne protégé
• Ouverture temporaire sur les interfaces du pare-feu. Ces ouvertures sont crées quand
du trafic reconnu existe dans le réseau interne.
• Ces ouvertures permettent au trafic retour de passer le pare-feu et à des ports additionnels
d'entrer dans le réseau interne en retour au travers du pare-feu
• Le trafic en retour est autorisé au travers du pare-feu uniquement si celui-ci fait partie
de la même session que le trafic original reconnu par CBAC et sortant par le pare-feu.
44
Le controle d'accès CBAC
• Context-Based Access Control
• Fonctionnement
Les listes d'accès en entrée
sur S0 et S1 sont configurées
pour bloquer le trafic Telnet
Pas de listes d'accès configurées
en sortie sur E0
USER1
1. L'utilisateur User1
initie une session
Telnet
2. Trafic retour de
l'utilisateur User1,
session Telnet permise
E0
3. Autre trafic Telnet
bloqué
S0
S1
Pare-feu
Réseau interne protégé
• L'utilisateur USER1 initie une session Telnet au travers du pare-feu, CBAC crée une
ouverture temporaire dans la liste d'accès sur S0 pour permettre le trafic Telnet en
retour pour la session Telnet de l'utilisateur USER1.
• Si nécessaire, CBAC créera une ouverture similaire dans la liste d'accès en sortie
sur E0 pour permettre le trafic retour.
45
Le controle d'accès CBAC
• Context-Based Access Control
• Fonctionnement
• Il est nécessaire de spécifier quels protocoles vous voulez inspecter
• Spécifiez une interface et le sens (Entrée ou Sortie) sur laquelle l'inspection
est réalisée.
• Seuls les ports de contrôle des connexions sont inspectés et supervisés par CBAC
- Sessions FTP : Le port de commande (port 21) et le port des données (port 20)
sont supervisés pour les états
- Seul le port 21 est inspecté.
• CBAC détecte et évite des attaques au niveau applicatif (Denial os Service -DoS)
- CBAC inspecte les numéros de séquence des segments TCP pour vérifier si
ceux-ci sont bien dans l'intervalle attendu.
- CBAC élimine tout paquet suspect. Vous pouvez configurer CBAc pour qu'il
élimine les connexions à demi ouvertes
- CBAC peut détecter un taux inhabituel très élevé de nouvelles connexions et
générer un message d'alerte.
• Avec UDP, service en mode non connecté, il n'y a pas de session. Le paquet UDP
est repéré par Adresse Source/destination et ports source/destination.
- CBAC détermine si l'espacement de paquets UDP similaires est correct
- Timeout configurable
46
Le controle d'accès CBAC
• Context-Based Access Control
• Où et quand configurer CBAC?
• CBAC ne peut pas filtrer tous les protocoles
applicatifs (ports TCP/UDP)
• CBAC dans une direction:
- Sur une seule interface
• CBAC dans deux ditrections sur un ou
plusieurs interfaces:
- Configuré dans deux directions quand
les réseaux de chaque côté du pare-feu
doivent être protégés.
• CU-SeeMe (version Whie Pine)
• FTP
• H323 ( NetMeeting, ProSgare,..)
• Http (blocage Java)
• Java
• Microsoft NetShow
• UNIX commands "r" (rlogin, rexec, rsh)
• RealAudio
• CBAC peut filtrer toutes les sessions
TCP/UDP sans inspecter les protocoles
applicatifs
• RPC (Sun RPC pas DCE RPC)
• CABC est disponible uniquement pour du
trafic IP ( ICMP ne peut pas être inspecté
par CBAC)•••
• SQL*Net
• Microsoft RPC
• SMTP (Simple Mail Transfer Protocol)
• SreamWorks
• TFTP (Trivial File Transfer Protocol)
• VDOLive
47
Le controle d'accès CBAC
• Context-Based Access Control
• Choisir une interface
• Il faut décider de configurer CBAC sur une interface interne ou externe du pare-feu
- "Interne" fait référence au côté par lequel les sessions sont initiées pour que leur
soit autorisé à traverser le pare-feu
- "Externe" fait référence au côté opposé au côté interne. Les sessions ne sont
jamais initiées du côté Externe (elles seront bloquées).
• Si CBAC est configuré pour les deux directions, il faut configurer un sens en premier.
- Quand vous configurez CBAC pour l'autre direction, les désignations d'interface
seront échangées.
• CBAC utilise deux topologies de base :
- Avec et sans DMZ (Demilitarized Zone)
48
Le controle d'accès CBAC
• Context-Based Access Control
• Choisir une interface
Interne
• CBAC est configuré sur l'interface S0
ce qui empêche l'ouverture d'une session
depuis l'extérieur
Externe
Internet
E0
RA
S0
Filtre
CBAC
• La DMZ (Demilitarized Zone) est définie
et son accès se fait par E1.
Interne
Externe
Internet
S0
• La DMZ contient des services accessibles
par l'extérieur.
• CBAC empêche l'entrée du trafic dans le
réseau interne sauf si celui-ci a été initié
depuis le réseau interne.
E0
RA
E1
DNS/MAIL
DMZ
HTTP
Filtre
CBAC
49
Le controle d'accès CBAC
• Context-Based Access Control
• Conseils de configurations
• Si votre pare-feu a seulement
deux connexions:
- Une vers le réseau Interne
- Une vers le réseau Externe
L'utilisation de listes d'accès
en entrée fonctionne très bien
car les paquets sont bloqués
avant d'avoir une chance
d'affecter le routeur lui-même.
50
Le controle d'accès CBAC
• Context-Based Access Control
• Conseils de configurations
• Interface Externe
- Liste d'accès en sortie sur l'interface Externe : Liste d'accès Standard ou Etendue
- Liste d'accès en entrée sur l'interface Externe : Liste d'accès Etendue
• Interface Interne
- Liste d'accès en entrée sur l'interface Interne ou liste d'accès en sortie sur
l'interface Externe : Liste d'accès Standard ou Etendue
- Liste d'accès en sortie sur l'interface Interne ou liste d'accès en entrée sur
l'interface Externe: Liste d'accès Etendue obligatoire
- Il n'est pas nécessaire de configurer une liste d'accès Etendue sur chacune
des interfaces.
51
Le controle d'accès CBAC
• Context-Based Access Control
• Définition des Règles d'Inspection CBAC
• Les règles d'inspection CBAC spécifient quels protocols applicatifs IP doivent
être inspectés par CBAC sur une interface.
- Une seule règle d'inspection et une exception doivent être utilisées si vous
utilisez CBAC dans les deux directions.
- Si CBAC est configuré dans les deux sens sur une seule interface du pare-feu,
vous devez configurer deux règles, une pour chaque sens.
- Une règle d'inspection doit préciser chaque protocole applicatif
- La règle d'inspection est une suite d'instructions reprérée par un nom
- Les règles d'inspection ont des options pour controler la génération de
messages d'alerte, les traces d'audit et la fragmentation des paquets IP
52
Le controle d'accès CBAC
• Context-Based Access Control
• Règles d'Inspection de protocoles applicatifs
• Pour configurer l'inspection CBAC
pour un protocole applicatif ( sauf
RPC et Java), utilisez la commande
suivante:
- RTA(config)#ip inspect name inspection-name
protocol [timeout seconds]
• Répéter cette commande pour chaque protocole:
- RTA(config)#ip inspect name PIX-515 http
- RTA(config)#ip inspect name PIX-515 ftp
- RTA(config)#ip inspect name PIX-515 udp
• Appliquer à l'interface désirée:
- RTA(config)#interface S0
- RTA(config)#ip inspect PIX-515 out
Protocole Applicatif
Mot clé
CU-SeeMe
cuseeme
FTP
ftp
H323
h323
Microsoft NetShow
netshow
UNIX commandes "r"
rcmd
RealAudio
realaudio
SMTP
smtp
RPC
rpc
SQL*Net
sqlnet
StreamWorks
streamworks
TFTP
tftp
VDOLive
vdolive
53
Le controle d'accès CBAC
• Context-Based Access Control
• Règles d'Inspection pour Java
• Commande:
- RTA(config)#ip inspect name
inspection-name http [java-list access-list]
[timeout seconds]
• Exemple de configuration :
- RTA(config)#access-list 24 deny
200.100.50.0 0.0.0.255
- RTA(config)#access-list 24 deny
169.199.0.0 0.0.255.255
- RTA(config)#access-list 24 permit any
- RTA(config)#ip inspect name PIX-515
http java-list 24
- RTA(config)#ip inspect name PIX-515 tcp
- RTA(config)#interface S0
- RTA(config)#ip inspect PIX-515 out
• Les Applets Jave peuvent représenter
un risque pour la sécurité
- Il faut configurer CBAC pour filtrer les
Applets Java sur le pare-feu.
• Le filtrage des Applets Java doit faire la
distinction entre les Applets certifiées ou
non en établissant une liste de sites.
• CBAC ne peut pas détecter ou bloquer les
Applets Java encapsulées.
54
Le controle d'accès CBAC
• Context-Based Access Control
• Règles d'Inspection pour TCP et UDP
• L'inspection CBAC peut être configuré pour permettre l'entrée des paquets TCP
et UDP dans le réseau Interne sans inspecter l'application.
être inspectés par CBAC sur une interface.
• Avec l'inspection TCP/UDP, les paquets entrants dans le réseau doivent correspondre
avec les informations adresse source/destination , ports Source/destination des
paquets qui ont quitté le réseau précédemment.
• Avec UDP, le pare-feu permet le retour des paquets s'ils sont reçus dans un temps
prédéterminé après la dernière requête transmise.
• Utilisez les commandes suivantes:
- RTA(config)#ip inspect name inspection-name tcp [timeout seconds]
- RTA(config)#ip inspect name inspection-name udp [timeout seconds]
55
Le controle d'accès CBAC
• Context-Based Access Control
• Fragmentation IP et application d'une règle d'Inspection
à une interface
• Pour configurer la fragmentation IP utilisez la commande suivante:
- RTA(config)#ip inspect name inspection-name fragment [max number timeout seconds]
• Pour appliquer une règle d'inspection à une interface:
- RTA(config-if)#ip inspect name inspection-name (in |out)
• Exemple:
- RTA(config)#interface Ethernet0
- RTA(config)#ip inspect PIX-515 out
56
Le controle d'accès CBAC
• Context-Based Access Control
• Timeout globaux
Temps ou valeur de seuil
à changer
Commande
Valeur par Défaut
Temps d'attente pour
l'établissement d'une session TCP
après lequel la
session sera effacée.
ip inspect tcp synwait-time seconds
30 secondes
Temps d'attente avant fermeture
définitive d'une session TCP quand
le
pare-feu détecte un indicateur FIN
ip inspect tcp finwait-time seconds
5 secondes
Temps d'attente avant fermeture
définitive d'une session TCP sur
détection d'inactivité (idle timeout)
ip inspect tcp idle-time seconds
3600 secondes
Temps d'attente avant fermeture
définitive d'une session UDP sur
détection d'inactivité (idle timeout)
ip inspect udp idle-time seconds
30 secondes
Temps d'attente avant fermeture
définitive d'une session DNS sur
détection d'inactivité (idle timeout)
ip inspect udp dns-timeout seconds
5 secondes
57
Le controle d'accès CBAC
• Context-Based Access Control
• Timeout globaux
Temps ou valeur de seuil
à changer
Commande
Valeur par Défaut
Nombre de sessions "semi-ouvertes"
qui déclenche l'effacement de ces
sessions
ip inspect max-incomplete high number
500 sessions
Nombre de sessions "semi-ouvertes"
qui arrête l'effacement de ces
sessions
ip inspect max-incomplete low number
400 sessions
Taux d'établissement de nouvelles
sessions à partir duquel les sessions
semi-ouvertes sont effacées
ip inspect one-minute high number
500 sessions par
minute
Taux d'établissement de nouvelles
sessions à partir duquel les sessions
semi-ouvertes ne sont plus effacées
ip inspect one-minute low number
400 sessions par
minute
Nombre de sessions TCP semiouvertes
avec la même adresse de host destination qui déclenche l'effacement de ces
sessions
ip inspect tcp max-incomplete host number
block-time minutes
50 sessions
0 minute
58
Le controle d'accès CBAC
• Context-Based Access Control
• Vérification de CBAC
Commande
Fonction
show ip inspect name inspection-name
Affiche la configuration d'une règle d'inspection
show ip inspect config
Affiche la configuration complète de l'inspection
CBAC
show ip inspect interfaces
Affiche la configuration des interfaces auxquelles
sont affectées des règles d'inspection et des listes
d'accès
show ip inspect session [detail]
Affiche les sessions qui sont en cours tracées et
inspectées par CBAC
show ip inspect all
Affiche toute la configuration CBAC, les sessions
en cours tracées et inspectées par CBAC
59