1
Séminaire SECURITE INFORMATIQUE ANIME PAR A.BATHAOUI
2 ETUDE TECHNIQUE DETAILLEE
DES LISTES DE CONTRÔLE D’ACCES (ACL)
3
Actuellement, plusieurs fournisseurs proposent des systèmes ayant des capacités de filtrage sécurisés très puissantes (ex
Microsoft , Cisco)
Ces Filtres permettent d'accepter ou de refuser du trafic spécifique en entrée ou en sortie du réseau d'entreprise.
Ces filtres sont appelés listes de contrôle d'accès (ACL)
Un routeur examine chaque paquet afin de déterminer s'il doit l'acheminer ou le supprimer en se basant sur des critères spécifiques définis dans les listes l'accès
ETUDE TECHNIQUE DETAILLEE DES
LISTES DE CONTRÔLE D’ACCES (ACL)
4
Les ACL filtrent les paquets en se basant sur l'adresse source, l'adresse de destination et les protocole de couches supérieures
Lorsque le routeur reçoit un paquet et qu'une liste d'accès a été définie en entrée, le système IOS contrôle les critères de la liste à la recherche d'une correspondance
Si le paquet est accepté, le système continue de le traiter, sinon il le supprime, et les autres instructions de l’ACL sont ignorés
Ce contrôle des ACL est effectué en entrée ou en sortie du Routeur grâce à son système IOS
LES LISTES DE CONTRÔLE D’ACCES (ACL)
5
LES LISTES DE CONTRÔLE D’ACCES (ACL)
Après qu'une liste d'accès a été créée sur un routeur, tous les ajouts ultérieurs effectués sont placés en fin de liste,
Donc, vous ne pouvez pas ajouter ou supprimer des entrées de façon sélective
L'ordre des instructions dans une liste d'accès est important Elles sont examinées séquentiellement ce qui veut dire que la première correspondance trouvé est celle qui est prise en compte Il n'est pas possible de réordonner ou de supprimer des entrées sur le filtre ACL
6
Les listes d'accès ACL peuvent être spécifiées pour différents protocoles, comme illustré ci-dessous:
<1-99> Listes d'accès IP standards
<100-199> Listes d'accès IP étendues
<200-299> Listes d'accès avec code du type de protocole
<300-399> Listes d'accès DECnet
<600-699> Listes d'accès Appletalk
<700-799> Listes d'accès avec adresse MAC48 bits
<800-899> Listes d'accès IPX standard
<900-999> Listes d'accès IPX étendues
<1000-1099> Listes d'accès IPX SAP
<1100-1199> Listes d'accès étendues avec adresse MAC 48 bits
<1200-1299> Listes d'accès IPX avec adresse résumée
LES LISTES DE CONTRÔLE D’ACCES (ACL)
7
LES LISTES DE CONTRÔLE D’ACCES (ACL)
Les listes d'accès lP standards se basent sur l'adresse IP source des paquets,
La commande de configuration respecte la syntaxe suivante:
access-list numéro_liste_accès {deny
| permit} source [masque_ACLsource]
l'abréviation any peut être employée pour spécifier une source ou un masque source de 0.0.0.0 255.255.255.255,
8
LES LISTES DE CONTRÔLE D’ACCES (ACL)
Le code suivant est un exemple de ACL standard création d'une liste d'accès standard appliquée à une interface Internet en entrée.
L’exemple de cette liste rejette tout le trafic Internet
spécifiant une adresse source faisant partie des adresses RFC réservées connues et accepte tout le reste du trafic
l'abréviation any peut être employée pour spécifier une source ou un masque source de 0.0.0.0 255.255.255.255,
9
LES LISTES DE CONTRÔLE D’ACCES (ACL)
Définition de ACL standard
access -list 9 deny 127.0. 0. 0.0.0.255.255.255 access -list 9 deny 10.0.0.0 0.255.255.255
access -list 9 deny 172.16.0.0 0.240.255.255 access-list 9 deny 192.168.0.0 0.0.255.255 access -list 9 permit any
**access -list 9 deny any interface serial 0/0
ip address 161.71.73.33 255.255.255.248
! applique la liste d'accès 9 à l'interface interface SERIE 0/0 reliée à Internet en entrée (INPUT)
ip access-list 9 in
interface Ethernet 1/0
ip address 144.254.1.1 255.255.255.0
10
LES LISTES DE CONTRÔLE D’ACCES (ACL)
Les listes d'accès étendues
Les listes d'accès IP étendues se basent sur l'adresse IP source et de destination des paquets.
Elles utilisent des informations de type de protocole optionnelles pour un contrôle plus poussée.
La commande de configuration Cisco respecte la syntaxe suivante:
access-list numéro_liste_accès 100-199 {deny | permit}
protocole
source masque ACL _source
destination masque ACL_destination
[opérateur] [opérande] [precedence priorité]
[tos tos] [established] [log] . .
11
LES LISTES DE CONTRÔLE D’ACCES (ACL)
Un certain nombre de protocoles connus peuvent être spécifié au moyen de ces listes:
Router(config)#access-list 101 permit?
<0-255> Numéro de protocole IP
eigrp Protocole de routage Enhanced IGRP de Cisco gre Tunneling GRE de Cisco
icmp Protocole ICMP (Internet Control Message Protoco/) igmp Protocole IGMP (internet Gateway Message Protoco/) igrp Protocole IGRP de Cisco
ip N'importe quel protocole IP ipinip IP encapsulé dans un tunnel IP
nos IP sur tunnel IP compatible KA9Q (NOS)
tcp Protocole TCP (Transmission Control Protocol) udp Protocole UDP (User Datagram Prorocol)
12
LES PORTS TCP SECURISABLES PAR (ACL)
Voici une liste des numéros de ports TCP les plus utilisés:
Router(config)#access-list-101 permit tcp any any eq ?
<0-65535>
bgp Protocole BGP (Border gateway Protocol,179) chargen Générateur de caractères ( 19)
cmd Commandes distantes (rcmd, 514) daytime Horodate ( 13)
discard Discard (9)
domain Service DNS (Domain Name Service. 53)
echo Echo (7)
exec Exec (rsh, 5 12)
finger Finger (79)
ftp Protocole FTP (File Transfer Protocol)
13
LES PORTS TCP SECURISABLES PAR (ACL)
ftp-data Connexions de données FTP
gopher Gopher (70)
hostname Serveur de noms d'hôtes NIC (lOI) ident Protocole d'identification
irc IRC (Internet Relay Chat 194)
klogin Login Kerberos (543)
kshell Shell Kerberos (544)
login Login (rlogin. 513)
lpd Service d'impression (515)
nntp Protocole NNTP (Network News
TransporT Protocol. 119)
14
LES PORTS TCP SECURISABLES PAR (ACL)
syslog Syslog (514)
tacacs Système de contrôle d'accès TAC (49)
talk Talk (517)
telnet Telnet (23)
time Heure (37)
uucp Programme UNIX-to-UNIX Copy (540)
whois service WHOIS (43)
www World Wide Web (HTTP. 80)
syslog Syslog (514)
tacacs Système de contrôle d'accès TAC (49)
talk Talk (517)
telnet Telnet (23)
time Heure (37)
uucp Programme UNIX-to-UNIX Copy (540)
whois service WHOIS (43)
15 Pour UDP, il existe également une liste des numéros de ports les plus utilisés:
Router(config)#access-list 101 permit udp any any eq ?
<0-65535> Numéro de port
biff Biff (notification de mails. comsat. 512) bootpc Protocole Bootstrap (BOOTP) client (68)
bootps Protocole Bootstrap (BOOTP) serveur (67)
LES PORTS udp SECURISABLES PAR (ACL)
16
discard Discard (9)
dnsix Audit DNSIX (195)
domain Service DNS (Domain Name Service. 53)
echo Echo (7)
mobile-ip Agent IP mobile (434)
nameserver Service de noms IEN 116 (obsolète. 42) netbios-dgm Service de datagrammes NetBios (138) netbios-ns Service de noms NetBios (137)
ntp Protocole NTP (Network Time Protocol, 123)
rip Protocole RIP
LES PORTS udp SECURISABLES PAR (ACL)
17 snmp Protocole SNMP (Simple Netvvork
Management Protocol ) snmptrap Interceptions SNMP (162)
sunrpc RPC(Remote Procedure Call) de Sun ( 111)
syslog Syslog (514)
tacacs Système de contrôle d'accès TAC (49)
talk Talk (517)
tftp Protocole TFTP (Trivial File Transfer Protocol 69)
time Heure (37)
who Service Who (who, 513)
xdmcp Protocole XDMCP (X Display Manager Control Protocol, 177)
LES PORTS udp SECURISABLES PAR (ACL)
18
Pour savoir si le routeur doit transmettre ou bloquer un paquet, le système Cisco lOS teste tous les critères de-la liste dans leur ordre de création
Lorsqu'une correspondance est trouvée, aucune autre instruction n'est examinée.
Sur le plan des performances, si vous avez besoin d'utiliser de très longues listes (plus de 100 entrées par exemple) vous
devriez placer les critères relatifs au trafic le plus fréquent en premier.
Par exemple, si la plus grande partie du trafic entrant provient d'Internet, les critères le concernant devraient figurer en tête de liste.
Les ACCESS-LIST …..
19
Que fait cette ACL Etendue ?
access -list 101 permit tcp any any established
access -list 101 permit tcp any host 144.254.1.4 eq ftp
access -list 101 permit tcp any host 144.254.1.4 eq ftp-data aceess -list 101 permit tcp any host 144.254.1.3 eq www access -list 101 deny ip any any log
!
interface SeriaI 0/0
description to the Internet
ip address 161.71.73.33 255.255.255.248 ip access-list 101 in
Exemple d’une ACL
20
Pour savoir si le routeur doit transmettre ou bloquer un
paquet, le système Cisco lOS teste tous les critères de-la liste dans leur ordre de création
Lorsqu'une correspondance est trouvée, aucune autre instruction n'est examinée.
Sur le plan des performances, si vous avez besoin d'utiliser de très longues listes (plus de 100 entrées par exemple) vous devriez placer les critères relatifs au trafic le plus fréquent en premier.
Par exemple, si la plus grande partie du trafic entrant provient d'Internet, les critères le concernant devraient figurer en tête de liste.
Exemple d’une ACL
21 Le mot clé established est utilisé uniquement avec les filtres
TCP.
Cela veut dire que lorsqu'une session a été initiée à partir d'un nœud interne au réseau en direction d'un nœud externe, l’ACL autorise le trafic en retour.
Pour filtrer les paquets TCP, il contrôle si les bits ACK et RST ont été activés
Lorsqu'ils sont activés, cela signifie que le paquet n'est pas le premier de la session et qu'il appartient par conséquent à une session déjà établie
LES LISTES DE CONTRÔLE D’ACCES (ACL)
22
Les listes d'accès nommées ont été introduites avec la version 11.0 de Cisco lOS.
Au lieu d'identifier des listes d'accès au moyen d'un numéro (de 1 à 199), il est possible d'utiliser une chaîne alphanumérique
Ces listes vous permettent de configurer plus de 99 listes d'accès standards (et plus de 100 étendues) sur un routeur et supportent uniquement les filtres de paquets et de routes.
L'avantage de ces listes est que vous pouvez supprimer des entrées de façon sélective. les entrées ajoutées sont toujours placées à la fin.
Listes d’Accès Nommés
23 Listes d'accès réflexives
Les listes d'accès réflexives ont été introduites avec la version 11.3 de Cisco lOS.
Elles autorisent le filtrage des paquets IP en fonction d'informations de session de couche supérieure.
Un principe de filtrage des listes d'accès réflexives consiste à accepter le trafic IP de sessions provenant du réseau interne et de refuser celui de sessions initiées depuis l'extérieur.
A l'aide de listes d'accès étendues de base, vous pouvez vous rapprocher du filtrage de session en utilisant le mot clé
established mais seulement pour TCP
LES ACL REFLEXIVES
24 Les listes d'accès réflexives sont beaucoup plus adaptées au
véritable filtrage de session.
Une liste réflexive est déclenchée lorsqu'une nouvelle session de couche supérieure à IP (comme TCP ou UDP) est initiée depuis l'intérieur du réseau vers le réseau extérieur.
Lors de son déclenchement, la liste ACL génère une entrée temporaire qui permet au trafic de pénétrer sur le réseau seulement s' il fait partie de la session qui a été établie.
Les critères de filtrage se basent sur les bits ACK et RST ainsi que sur les adresses et numéros de ports sources et de
destination.
LES ACL REFLEXIVES
25 Le filtrage de session utilise des filtres temporaires qui sont
supprimés une fois la session terminé
Pour les sessions TCP,une entrée est supprimée cinq secondes après détection de deux bits FIN ou immédiatement après le bit RST est activé
Deux bits FIN activés dans une session indiquent qu' elle est sur le point de se terminer, et l'intervalle de cinq secondes lui permet de se terminer correctement
Pour UDP, mode non connecté , une session est simplement considérée comme touchant à sa fin lorsque aucun paquet n'a été détecté pendant un laps de temps configurable (période d'expiration).
LES ACL REFLEXIVES
26 Il existe deux restrictions relatives à l'utilisation des listes
d‘ACL réflexives:
Elles peuvent être définies uniquement avec des listes d' accès IP nommées étendues
Elles ne fonctionnent pas avec certaines applications qui
utilisent des numéros de ports changeant en cours de session.
Si un paquet envoyé en réponse contient un numéro de port différent de celui du paquet original, il sera rejeté même s' il fait partie de la même session.
27
Le service FTP, qui se base sur TCP, est un exemple d'application avec numéros de ports changeants.
Si vous initiez une requête FTP depuis votre réseau et
qu'une liste d'accès réflexive a été configurée, la requête ne pourra être satisfaite.
La solution consiste à employer FTP passif à la place,
Notez que l'interface Ethernet est connectée au réseau interne et que l'interface série est reliée à Internet.
L'exemple de configuration autorise à la fois le trafic TCP entrant et sortant sur l' interface série, mais seulement si le premier paquet d'une session donnée provient du réseau interne,
LES ACL REFLEXIVES
28
Exemple : ACL REFLEXIVES
29 Voici un exemple de configuration de liste d'accès réflexive:
! définit l'interface sur laquelle doit être appliquée la
configuration de filtrage de session et applique les listes d'accès à l'interface en entrée et en sortie
interface Serial 1
description Access to the Internet ip access-group inboundfilters in ip access-group outboundfilters out
LES ACL REFLEXIVES
30 définit la valeur d'expiration globale pour toutes les entrées de liste d'accès réflexive.
Si aucun trafic n'est détecté pour une session établie au-delà de 120 secondes, l'entrée correspondante est supprimée
ip reflexive-list timeout 120
! définit la liste d'accès étendue en sortie qui controle tout le trafic envoyé sur l'interface SeriaI 1
LES ACL REFLEXIVES
31 ip access-list extended outboundfilters (nom libre)
! cette entrée autorise tout le trafic TCP en sortie et crée une nouvelle liste d'accès réflexive nommée tcp traffic
permit tcp any any reflect tcptraffic (nom de ACL REFELEXIVE
! définit la liste d'accès étendue en entrée qui controle tout le trafic
! reçu sur l'interface Serial1
LES ACL REFLEXIVES
32 ip access-list extended inboundfilters
! définit les entrées de liste d'accès, BGP et EIGRP sont autorisés,
! mais ICMP est refusé,
ip access-list extended inboundfilters
! définit les entrées de liste d'accès, BGP et EIGRP sont autorisés,
! mais ICMP est refusé,
La dernière entrée pointe sur la liste d'accès réflexive,
Si un paquet ne correspond à aucune des trois premières entrées, il sera comparé avec toutes les entrées de la liste réflexive appelée tcptraffic
permit bgp any any permit eigrp any any deny lcmp any any
evaluate tcptraffic
LES ACL REFLEXIVES
33
Etude de Cas Access List
34
Scénarios
35
Les Scénarios 1 à 3 s'appuient Sur la Figure ci-joint, mais proposent chacun un ensemble différent de critères de filtrage.
Dans chaque cas, configurez la liste d'accès nécessaire et activez-la. Placez-la Sur le routeur qui filtre les paquets le plus tôt possible, c'est-à-dire avant qu'ils ne soient envoyés loin de l'émetteur.
Scénarios
36
Exemple de
réseau pour les
scénario 1 à 3
37
Exemple de
réseau pour les
scénario 1 à 3
38
Les utilisateurs de Gorno ne peuvent pas se connecter aux hôtes de Nova, à une exception près.
Seul Grigory est autorisé à accéder aux hôtes du réseau Ethernet de Nova.
Toutes les autres communications sont autorisées.
Scénario 1
39
Scénario 2
Les hôtes du réseau Ethernet de Barnaul ne peuvent pas communiquer avec ceux du réseau Ethernet de Gorno.
Grigory et Melissa ne peuvent pas communiquer avec les hôtes du réseau Ethernet de Nova.
Les autres communications entre le réseau Ethernet de Nova et celui de Gomo sont autorisées.
Sergei est autorisé à communiquer uniquement avec les autres hôtes de Barnaul.
Les autres hôtes de Bamaul peuvent communiquer avec les hôtes de Nova.
Toutes les autres communications sont autorisées.
40
Scénario 3
Grigory et Melissa peuvent accéder au serveur Web de Nova.
Grigory et Melissa ne sont pas autorisés à accéder aux autres serveurs de Nova en utilisant TCP.
Sergei est autorisé à accéder uniquement au serveur Web, mais pas aux autres hôtes de Nova.
Les hôtes de Gorno peuvent communiquer avec les hôtes de Nova, à moins qu'il n'en soit spécifié
autrement.
Les clients Web de Bamaul ne sont pas autorisés à se connecter au serveur Web de Nova, à moins qu'il n'en soit spécifié autrement dans les critères.
Aucune communication non spécifiée ne devrait être rejetée.
41
Solutions
42
Solution pour le Scénario 1
La solution correspondant aux critères donnés pour cette liste d'accès est simple. Il suffit d'autoriser le trafic de Grigory et de refuser celui du réseau 210.1.1.0 pour répondre aux deux premiers critères. Une instruction
"autoriser tout le trafic" doit explicitement être ajoutée en fin de liste pour répondre au troisième. Cette liste d'accès doit être configurée sur le routeur Nova, de façon que les hôtes de Gomo puissent atteindre Bamaul. La configuration ci-aprés illustre ce scénario.
43
Configuration de la liste d'accès sur le routeur Nova
access-list 43 permit host 210.1.1.1
access-list 43 deny 210.1.1.0 0.0.0.255 access-list 43 permit any
!
interface serial 0
ip access-group 43 in
!
interface serial 1
ip access-group 43 in
Solution pour le Scénario 1
(suite)
44 Il existe de nombreuses solutions correspondant aux critères donnés pour cette liste d'accès. Celle des Exemples 1 et 2 tente de filtrer les paquets aussi près que possible de leur source. Si votre solution est différente de celle proposée, mais néanmoins correcte, il sera impossible de déterminer si elle est meilleure sans informations supplémentaires sur la charge de trafic et les exigences de gestion du réseau. Des commentaires ont été inclus dans les configurations.
Solution pour le Scénario 2
45
Exemple 1 : Configuration de la liste d'accès sur le routeur Barnaul
! l'instruction suivante répond au premier critère
access-list 101 deny ip 10.1.4.0 0.0.0.255 210.1.1.0 0.0.0.255
! l'instruction suivante répond au quatrième critère
access-list 101 deny ip host 10.1.4.98 any
! le cinquième critère et le sixième critère sont satisfaits par défaut
access-list 101 permit ip any any
!
interface serial 0
ip access-group 101 out
!
interface serial 1 ip access-group 101 out
Solution pour le Scénario 2
(suite)
46
Exemple 2 : Configuration de la liste d'accès sur le routeur Gorno
! les instructions suivantes répondent au deuxième critère
access-list 101 deny ip host 210.1.1.1 198.1.1.0 0.0.0.255 access-list 101 deny ip host 210.1.1.2 198.1.1.0 0.0.0.255
!l'instruction suivante répond au troisième critère
access-list 101 permit ip 210.1.1.0 0.0.0.255 198.1.1.0 0.0.0.255
! le dernier critère est satisfait par défaut
access-list 101 permit ip any any
!
interface serial 0
ip access-group 101 OUT
!
interface serial 1
ip access-group 101 OUT
Solution pour le Scénario 2
(suite)
47
Exemple 1 : Configuration d'une liste d'accès sur le routeur Barnaul
! les instructions suivantes répondent au troisième critère
access-list 101 permit ip host 10.1.4.98 198.1.1.0 0.0.0.255 eq www access-list 101 deny ip host 10.1.4.98 198.1.1.0 0.0.0.255 lt 1023
! l'instruction suivante répond au cinquième critère
access-list 101 deny ip 10.1.4.0 0.0.0.255 198.1.1.0 0.0.0.255 eq www
! le dernier critère est satisfait par défaut
access-list 101 permit ip any any
!
interface serial 0
ip access-group 101 OUT
!
interface serial 1
ip access-group 101 OUT
Solution pour le Scénario 3
(suite)
48
Solution pour le Scénario 3
Il existe de nombreuses solutions correspondant aux critères donnés pour cette liste d'accès. Celle des Exemples 1 et 2 tente de filtrer les paquets aussi près que possible de leur source. Si votre solution est différente de celle proposée, mais néanmoins correcte, il sera impossible de déterminer si elle est meilleure sans informations supplémentaires sur la charge de trafic et les exigences de gestion du réseau. Des commentaires ont été inclus dans les configurations.
49
Exemple 2: Configuration d'une liste d'accès sur le routeur Barnaul
! l'instruction suivante répond au premier critère
access-list 101 permit tcp host 210.1.1.1 198.1.1.0 0.0.0.255 eq www access-list 101 permit tcp host 210.1.1.2 198.1.1.0 0.0.0.255 eq www
!les instructions suivantes répondent au deuxième critère
access-list 101 deny tcp host 210.1.1.1 198.1.1.0 0.0.0.255 lt 1023 access-list 101 deny tcp host 210.1.1.2 198.1.1.0 0.0.0.255 lt 1023
!l'instruction suivante répond au quatrième critère
access-list 101 permit ip 210.1.1.0 0.0.0.255 198.1.1.0 0.0.0.255
!le dernier critère est satisfait par défaut
access-list 101 permit ip any any
!
interface serial 0
ip access-group 101 out
!
interface serial 1
ip access-group 101 out
Solution pour le Scénario 3
50
Solution pour le Scénario 3
(suite)
51
Séminaire SECURITE INFORMATIQUE ANIME PAR A.BATHAOUI