Chaptre 6 Contrôle d accès Fltrage et ACL 1
Fltrage de paquets: prncpe Fltrage du trafc entrant et du trafc sortant Le frewall lasse passer certans paquets et reette d autres paquets selon sa poltque de sécurté Réseau nterne LAN Trafc sortant Trafc entrant Réseau externe Internet Frewall matérel ou logcel 2
Fltrage de paquets: prncpe Le fltrage se fat en analysant les en-têtes des protocoles, en prorté IP, UDP et TCP. En général, on défnt une règle de fltrage en consdérant 1. Adresse IP source 2. Adresse IP destnaton 3. Port source 4. Port destnaton 5. Protocole encapsulé (ICMP, UDP, TCP ) 6. Flag ACK (de TCP) 7. Type du message ICMP A chaque règle de fltrage est assocé une acton: Lasser passer le paquet ou Détrure/Reeter le paquet 3
Exemple de règles de fltrage Poltque: Autorser l extéreur à accéder au servce web sur le réseau pérphérque Routeur externe Internet Web/80 TCP 192.168.22.35 Réseau Pérphérque Routeur nterne Réseau Prvé Règle Drecton paquet IP Source IP Dest Prot Port Source Port Dest ACK=1 Acton A Sortant 192.168.22.35 Toutes TCP 80 > 1023 Ou Autorser B Entrant Toutes 192.168.22.35 TCP > 1023 80 --- Autorser C Toutes Toutes Toutes Tous Tous Tous --- Refuser 4
Types de fltrage Fltrage sans état: Stateless Fltrage smple: Regarder chaque paquet à part et le comparer à une lste de règles préconfgurées (ACL) Implémenté sur les routeurs et les systèmes d explotatons Lmtes Utlser un trop grand nombre de règles pour que le Frewall offre une réelle protecton Sensbles aux attaques IP spoofng / IP floodng; attaques DoS 5
Types de fltrage Fltrage à état: Statefull Tracer les sessons et les connexons dans des tables d'états nternes au Frewall Décder en foncton des états de connexons Exemple: vérfer que chaque paquet d'une connexon est ben la sute du précédent paquet et la réponse à un paquet dans l'autre sens L applcaton des règles est possble sans lre les ACL à chaque fos (les paquets d une connexon actves seront acceptés) 6
Types de fltrage Fltrage applcatf (frewall de type proxy ) Réalsé au nveau de la couche Applcaton Permet d extrare les données du protocole applcatf pour les étuder Chaque protocole est fltré par un processus dédé Lmtes Problèmes de performance pour les réseaux à grand trafc 7
Processus de développement de fltres 8
Processus de développement de fltres Défnton des règles de fltrage Utlser le maxmum de crtères (@IP, port, ACK etc) Permet de meux lutter contre les attaques Pour chaque servce nterne et externe Défnr des règles pour autorser les utlsateurs nterne à accéder à des servces externes Défnr des règles pour autorser des utlsateurs externes à accéder à des serveurs (servces) sur le réseau nterne Pour un servce à autorser r Accepter le flux dans les deux sens (clent serveur et serveur clent) Pour un servce à bloquer Il sufft de bloquer le flux du clent serveur 9
Processus de développement de fltres Exemple: Sot la poltque: Accepter HTTP en entrée et en sorte et ren d autre. Autorser les utlsateurs nternes à accéder aux serveurs web externes Autorser les utlsateurs externes à accéder au serveur web nterne Obectf : développer les règles correspondantes Web/80 TCP Internet Web/80 TCP 192.168.22.35 Réseau Pérphérque Réseau Prvé 10
Exemple de règles Processus de développement de fltres Règle Drecton @ source @ Dest. Protocole Port dest. Acton A Entrant Externe 192.168.22.35 TCP 80 Autorser B Sortant 192.168.22.35 Externe TCP >1023 Autorser C Sortant Interne Externe TCP 80 Autorser D Entrant Externe Interne TCP >1023 Autorser E Toutes Toutes Toutes Tous Tous Refuser Web/80 TCP Clent externe Clent nterne Internet B D C A Web/80 TCP 192.168.22.35 Réseau Pérphérque Réseau Prvé 11
Queston Web/80 TCP Processus de développement de fltres Ces règles autorsent-elles les connexons dont les ports source et destnaton sont supéreurs à 1023? (ce qu n état pas prévu) Règle Drecton @ source @ Dest. Protocole Port dest. Acton A Entrant Externe 192.168.22.35 TCP 80 Autorser B Sortant 192.168.22.35 Externe TCP >1023 Autorser C Sortant Interne Externe TCP 80 Autorser D Entrant Externe Interne TCP >1023 Autorser E Toutes Toutes Toutes Tous Tous Refuser attaquant TCP/1503 Internet 192.168.22.35 Web/80 TCP Serveur X11 TCP/6000 192.168.22.36 Réseau Pérphérque Réseau Prvé 12
Processus de développement de fltres Une soluton Examner auss le port source Règle Drecton @ source @ Dest. Protocole Port src. Port dest. Acton A Entrant Externe 192.168.22.35168 22 TCP >1023 80 Autorser B Sortant 192.168.22.35 Externe TCP 80 >1023 Autorser C Sortant Interne Externe TCP >1023 80 Autorser D Entrant Externe Interne TCP 80 >1023 Autorser E Toutes Toutes Toutes Tous Tous Tous Refuser Mas Un attaquant peut utlser le port 80 comme port source clent pus se connecte au serveur X11/ port 6000 Il réussra (règle D et C) 13
Processus de développement de fltres Raffnement de la soluton Examner auss le flag ACK (ACK=0 seulement dans le premer paquet envoyé du clent (port>1023) vers le serveur) Règle Drecton @ source @ Dest. Protocole Port Port src. dest. ACK=1 Acton A Entrant Externe 192.168.22.35 TCP >1023 80 --- Autorser B Sortant t 192.168.22.35 Externe e TCP 80 >1023 ou Autorser C Sortant Interne Externe TCP >1023 80 --- Autorser D Entrant Externe Interne TCP 80 >1023 ou Autorser E Toutes Toutes Toutes Tous Tous Tous --- Refuser M Mas Un attaquant peut utlser le port 80 comme port source clent pus se connecte au serveur X11/ /port 6000 en fxant ACK à 1 Réussra t-l à se connecter au serveur (consdérer les règles D et C) 14
Processus de développement de fltres Réponse: Le paquet passera au travers les fltres, Mas, La destnaton pensera que le paquet appartent à une connexon exstante. Quand la destnaton essayera de fare correspondre le paquet pq avec une connexon exstante, elle échouera et le paquet sera gnoré 15
Processus de développement de fltres Concluson: Il faut consdérer les règles de fltrage comme un seul bloc Il faut utlser le maxmum de crtères de fltrage Le flag ACK est mportant pour les connexons TCP 16
Détecton et correctons des anomales dans les règles de fltrage Anomale redondance Anomale Masquage Anomale Généralsaton Anomale Corrélaton 17
Anomale redondance Règle Entête Acton exemple R Dom(H (n)) Acton* Accepter R Dom(H (n)) Acton* Accepter * : Les règles R et R ont la même acton (Accepter ou Reeter) Après la suppresson de la règle redondante R R Dom(H (n)) At Acton* exemple Accepter 18
Anomale masquage Règle R Entête Dom(H (n)) Acton Acton* exemple Accepter R Dom(H (n)) Acton* Reeter Après modfcaton de la règle R exemple R Acton* Accepter R Dom(H (n)) -Dom(H (n)) Dom(H (n)) Acton* Reeter * : Les règles R et R ont des actons dfférentes 19
Anomale généralsaton Règle Entête Acton R Dom(H (n)) Acton* exemple Accepter R Dom(H (n)) Acton* Reeter R Après modfcaton de la règle R Dom(H (n)) Acton* exemple Accepter R Dom(H(n)) -Dom(H(n)) Acton* Reeter * : Les règles R et R ont des actons dfférentes 20
Anomale corrélaton Règle R R Entête Acton Dom(H (m)) Dom(H (n)) Acton* Dom(H (m)) Dom(H (n)) Acton* exemple Accepter Reeter * : Les règles R et R ont des actons dfférentes Note : m et n sont des champs des entêtes H et H respectvement 21
Anomale corrélaton Cas 1 : créaton d une nouvelle règles R et modfcaton de la règle R k exemple R Accepter R k Dom(H (m)) Dom(H (n)) Acton** R Dom(H (m)) Dom(H (n)) Acton** Accepter R Dom(H(m)) -Dom(H(m)) Dom(H (n)) Acton* Reeter ** : Les règles R k et R ont la même acton (Accepter ou Reeter) R k Dom(H (m)) Dom(H (n)) Acton** Accepter R Dom(H (m)) Dom(H (n)) Acton** Accepter R Dom(H (n)) Acton* Reeter Dom(H(m)) -Dom(H(m)) 22
Anomale corrélaton R k Cas 2 : créaton d une nouvelle règles R k et modfcaton de la règle R exemple Dom(H (m)) Dom(H (n)) Acton** Reeter R Dom(H (m)) Dom(H (n)) -Dom(H (n)) Acton Accepter R Dom(H (m)) Dom(H (n)) Acton** Reeter ** : Les règles R k et R ont la même acton (Accepter ou Reeter) R k Dom(H (m)) Dom(H (n)) Acton** exemple Reeter R Dom(H (m)) Dom(H (n)) -Dom(H (n)) Acton Accepter R Dom(H (m)) Dom(H (n)) Acton** Reeter 23
Frewalls matérels tél / logcels l 24
Frewall matérel / logcels Frewalls matérels Routeurs fltrants Frewalls sous forme de boîters Frewall logcels Frewall professonnels Frewall lbre : Netflter / ptables Frewall commercal : CheckPont Frewall-1, ASA, PIX Frewall personnels Kero, Zone Alarm 25
Frewall matérel: Routeurs fltrants Réseau nterne ( LAN ) Réseau externe (Internet) Un routeur fltrant Examne chaque paquet afn de détermner s'l dot l'achemner ou l'abandonner Ben adapté aux PME Pas de fchers logs et pas de statstques La foncton de fltrage est mplémentée dans la plupart des routeurs du marché Sous forme de lstes d accès ACL En utlsant une syntaxe spécfque par routeur 26
Frewall matérel: Routeurs fltrants Inconvénents Accès à des partes lmtées des entêtes des paquets. Aucune nformaton de l état d une communcaton de bout en bout. «IP-Spoofng Ready»: pas d authentfcaton de l orgne du paquet: ne sat pas s l auteur du paquet est ben celu qu l émet Sensbles aux attaques par fragmentaton 27
Frewall matérel: Frewall sous forme boîters Conçus unquement pour fare du fltrage OS spécfque, assocé au boîter Rapdté de tratement Supportent rarement les nterfaces WAN nécessté d être assocés à des routeurs pour la connectvté Exemple : Csco ASA (Adaptve Securty Applance) Csco PIX (Prvate Internet exchange) 28
Access Control Lsts (ACL) 29
ACL dans les routeurs Permet d mplémenter des règles de fltrage dans les routeurs Contrôler l accès entre dfférents réseaux Une ACL créée dot être assocée à une nterface du routeur où le fltrage sera exécuté. Interface n (ncomng: paquets entrant dans le routeur) Interface out (outcomng: paquets sortant du routeur) nbound outbound «In» access lst «out» access lst Les paquets sont tratés avant d être routé vers l nterface outbound Les paquets sont tratés lorsqu ls arrvent à l nterface outbound 30
ACL: Processus de contrôle des paquets Un paquet est comparé aux règles de l ACL d une manère séquentelle Top- Down La comparason s arrête dès qu un paquet vérfe l une des règles de l ACL L acton (permt/deny) de la règle trouvée est applquée au paquet Les ACL se termnent par une règle «deny all» mplcte pour reeter les paquets qu ne vérfent aucune règle 31
ACL numbers Router(confg)#access-lst? <1-99> IP standard access lst <100-199> IP extended access lst <200-299> Protocol type-code access lst <300-399> DECnet access lst <400-499> XNS standard access lst <500-599> 599 XNS extended d access lst <600-699> Appletalk access lst <700-799> 48-bt MAC address access lst <800-899> IPX standard access lst <900-999> IPX extended access lst <1000-1099> IPX SAP access lst <1100-1199> Extended 48-bt MAC address access lst <1200-1299> 1299 IPX summary address access lst 32
Standard IP access lsts (1-99) Fltrage en se basant sur l adresse IP source unquement Se placent près de la destnaton Syntaxe Créer la lste d accès Router(confg)# access-lst numéro-lste-d accès {deny permt} source [wldcard mask] [log] Assocer la lste d accès à une nterface du routeur: Router(confg)# nterface [port du routeur] Router(confg-f)# p access-group numéro-lste-d accès {n/out} 33
Standard IP access lsts (1-99) Syntaxe Router(confg)# access-lst numéro-lste-d d accès {deny permt} source [wldcard mask] [log] Source: Hostname or A.B.C.D; any (n mporte quel hôte), host (hôte partculer) wldcard mask (32 bts) Les bts 0 sgnfent que les mêmes postons de bts dovent être vérfées (match) Les bts 1 sgnfent que les bts de mêmes postons sont gnorés Exemples Router(confg)# access-lst 14 deny 192.168.16.0 0.0.0.255 (tous les hôtes) Router(confg)# access-lst 14 deny 192.168.16.0 0.0.0.127 (1ère moté) Router(confg)# access-lst 14 deny 192.168.16.128 0.0.0.127 (2ème moté) 34
Standard IP access lsts (1-99) Exemple: Permettre l achemnement du trafc du réseau 192.168.1.0168 1 (vers Internet et vers 172.16.0.0) Router(confg)# access-lst 11 permt 192.168.1.0 168 1 0.0.0.2550 0 Router(confg)# nt S0 Router(confg-f)# p access-group 11 out Router(confg)# nt E1 Router(confg-f)# f)# p access-group 11 out 172.16.0.0 Internet S0 E1 E0 192.168.1.0168 1 35
Extended IP access lsts Fltrage en se basant sur: @IP source et @IP destnaton Port source et port destnaton (fltrage par servce) Type de protocole de transport (TCP, UDP) Se placent près de la source Syntaxe Créer la lste d accès Router(confg)# access-lst numéro-lste-daccès{deny permt} d accès protocol source [source mask] destnaton [destnaton mask] [operator operand] Assocer la lste d accès à une nterface du routeur: Router(confg)# nterface [port du routeur] Router(confg-f)# p access-group numéro-lste-d accès {n/out} 36
Extended IP access lsts (syntaxe) Router(confg)# access-lst numéro-lste-d accès {deny permt} protocol source [source mask] destnaton [destnaton mask] ][operator operand] Router(confg)#access-lst 112 deny? <0-255> An IP protocol number egrp Csco's EIGRP routng protocol gre Csco's GRE tunnelng cmp It Internet t Control Message Protocol gmp Internet Gateway Message Protocol grp Csco's s IGRP routng protocol p Any Internet Protocol pnp IP n IP tunnelng nos KA9Q NOS compatble IP over IP tunnelng ospf OSPF routng protocol tcp Transmsson Control Protocol udp User Datagram Protocol 37
Extended IP access lsts (syntaxe) Router(confg)# access-lst numéro-lste-d accès {deny permt} protocol source [source mask] destnaton [destnaton mask] ][operator operand] Router(confg)#access-lst 112 deny tcp? A.B.C.D Source address any Any source host host A sngle source host Router(confg)#access-lst 112 deny tcp any? A.B.C.D Destnaton address any Any destnaton host host A sngle destnaton host 38
Extended IP access lsts (syntaxe) Router(confg)# access-lst numéro-lste-d accès {deny permt} protocol source [source mask] destnaton [destnaton mask] ][operatorp operand] Router(confg)#access-lst 112 deny tcp any host 172.16.30.2? eq Match only packets on a gven port number establshed Match establshed connectons fragments Check fragments gt Match only packets wth a greater port number log Log matches aganst ths entry log-nput Log matches aganst ths entry, ncludng nput nterface lt Match only packets wth a lower port number neq Match only packets not on a gven port number precedence Match packets wth gven precedence value range Match only packets n the range of port numbers tos Match packets wth gven TOS value 39
Extended IP access lsts (syntaxe) Router(confg)# access-lst numéro-lste-d accès {deny permt} protocol source [source mask] destnaton [destnaton mask] ][operator operand] ] Router(confg)#access-lst 112 deny tcp any host 172.16.30.2 eq? daytme Daytme (13) doman Doman Name Servce (53) echo Echo (7) ftp Fle Transfer Protocol (21) rc Internet Relay Chat (194) lpd Prnter servce (515) smtp Smple Mal Transport Protocol (25) sunrpc Sun Remote Procedure Call (111) telnet Telnet (23) www World Wde Web HTTP,80).etc 40
Extended IP access lsts Exemple 1: refuser l accès du réseau 221.23.123.0 au serveur FTP (TCP/21) 198.150.13.34 Extended ACL Placer la règle près de la source Ecrre l ACL dans le routeur C et l applquer à l nterface E0 Router(confg)#access-lst t 113 deny tcp 221. 23.123.0 0.0.0.255 0 0 host 198.150.13.34150 13 34 eq 21 Router(confg)#access-lst 113 permt p 221. 23.123.0 0.0.0.255 0.0.0.0 255.255.255.255 Router(confg)# nt E0 Router(confg-f)# p access-group 113 n 41
Nommage des ACL Assgner des noms aux ACL Utle lorsqu on a beson de plus de 99 ACL Exemple Router(confg)#p access-lst standard nom_lste Router(confg-std-nacl)# deny host 172.16.2.3 Les paramètres access-lst et access-lst-number sont mplctes Router(confg)# nt E0 Router(confg-f)# p access-group nom_lste out 42
Vérfcaton des ACLs La commande Show: show access-lsts Montre toutes les ACLs confguré dans le routeur show access-lsts {name number} Montre l ACL spécfé show p nterface Montre l ACL applqué à l nterface (nbound et outbound). show runnng-confg Montre toutes les ACLs et les nterfaces où elle sont applquées 43
A retenr Assgner une seule ACL par nterface, par protocole et par drecton (une seule ACL nbound et une seule ACL outbound par nterface) L aout de nouvelle lgnes se fat à la fn de la lste Une ACL se termne par un deny any mplcte une lste d accès dot contenr au mnmum une lgne permt Les ACL ne permettent pas de fltrer le trafc généré par le routeur Placer les ACL standards près de la destnaton Placer les ACL eétendues près de la source 44