Professional Documents
Culture Documents
A. Guermouche
A. Guermouche
Cours 1 : Firewalls
Plan
1. Firewall? 2. DMZ 3. Proxy 4. Logiciels de ltrage de paquets 5. Ipfwadm 6. Ipchains 7. Iptables 8. Iptables et ltrage 9. Translation dadresses NAT statique NAT dynamique : Masquerading
A. Guermouche Cours 1 : Firewalls 2
Firewall?
Plan
1. Firewall? 2. DMZ 3. Proxy 4. Logiciels de ltrage de paquets 5. Ipfwadm 6. Ipchains 7. Iptables 8. Iptables et ltrage 9. Translation dadresses NAT statique NAT dynamique : Masquerading
A. Guermouche Cours 1 : Firewalls 3
Firewall?
Pourquoi un rewall?
Denition
Programme, ou un matriel, charg de vous protger du monde extrieur en contrlant tout ce qui passe, et surtout tout ce qui ne doit pas passer entre internet et le rseau local. pourquoi un rewall? Contrle. Grer les connexions sortantes a partir du rseau local. Scurit. Protger le rseau interne des intrusions venant de lextrieur. Vigilance. Surveiller/tracer le trac entre le rseau local et internet.
A. Guermouche
Cours 1 : Firewalls
Firewall?
Firewall
Plusieurs types de rewalls : Pare-feu au niveau rseau Pare-feu au niveau applicatif Pare-feu des applications
A. Guermouche
Cours 1 : Firewalls
Firewall?
DMZ
Plan
1. Firewall? 2. DMZ 3. Proxy 4. Logiciels de ltrage de paquets 5. Ipfwadm 6. Ipchains 7. Iptables 8. Iptables et ltrage 9. Translation dadresses NAT statique NAT dynamique : Masquerading
A. Guermouche Cours 1 : Firewalls 7
DMZ
DMZ
Denition (DMZ)
Une zone dmilitarise (DMZ) est un sous-rseau se trouvant entre le rseau local et le rseau extrieur. Proprits : Les connexions la DMZ sont autorises de nimporte o. Les connexions partir de la DMZ ne sont autorises que vers lextrieur. Intrt : Rendre des machines accessible partir de lextrieur (possibilit de mettre en place des serveurs (DNS, SMTP, . . . ).
A. Guermouche
Cours 1 : Firewalls
Proxy
Plan
1. Firewall? 2. DMZ 3. Proxy 4. Logiciels de ltrage de paquets 5. Ipfwadm 6. Ipchains 7. Iptables 8. Iptables et ltrage 9. Translation dadresses NAT statique NAT dynamique : Masquerading
A. Guermouche Cours 1 : Firewalls 9
Proxy
Proxy ou mandataire
Dnition : Un proxy est un intermdiaire dans une connexion entre le client et le serveur Le client sadresse toujours au proxy Le proxy est spcique une application donne (HTTP, FTP, ...) Possibilit de modication des informations changes entre le client et le serveur.
A. Guermouche
Cours 1 : Firewalls
10
Proxy
Proxy ou mandataire
Dnition : Un proxy est un intermdiaire dans une connexion entre le client et le serveur Le client sadresse toujours au proxy Le proxy est spcique une application donne (HTTP, FTP, ...)
Proxy
64.233.183.147 140.77.13.5 33210 80 GET index.html Mmorisation de la requte partir de 192.168.0.10 et rexpdition 64.233.183.147 140.77.13.5 33210 80 <HTML> ... <\HTML> 192.168.0.10 192.168.0.1 80 33210
Rseau priv
192.168.0.1 192.168.0.10 33210 80 GET www.google.com/index.html
A. Guermouche
Cours 1 : Firewalls
10
Plan
1. Firewall? 2. DMZ 3. Proxy 4. Logiciels de ltrage de paquets 5. Ipfwadm 6. Ipchains 7. Iptables 8. Iptables et ltrage 9. Translation dadresses NAT statique NAT dynamique : Masquerading
A. Guermouche Cours 1 : Firewalls 11
Fonctionnalits de rewall ltrant directement implmente dans le noyau Linux. Filtrage de niveau 3 ou 4. 3 types de rewall ltrants : Ipfwadm. Jusqu la version 2.1.102 du noyau linux Ipchains. Entre les versions 2.2.0 et 2.4 du noyau linux Iptables. partir des noyaux 2.4
A. Guermouche
Cours 1 : Firewalls
12
Ipfwadm
Plan
1. Firewall? 2. DMZ 3. Proxy 4. Logiciels de ltrage de paquets 5. Ipfwadm 6. Ipchains 7. Iptables 8. Iptables et ltrage 9. Translation dadresses NAT statique NAT dynamique : Masquerading
A. Guermouche Cours 1 : Firewalls 13
Ipfwadm
Ipfwadm
Firewall permettant la gestion des paquets TCP, UDP et ICMP. 3 types de rgles : INPUT . sont appliques lors de larrive dun paquet. FORWARD . sont appliques lorsque la destination du paquet nest pas le routeur. OUTPUT. sont appliques ds quun paquet doit sortir du routeur. Fonctionnement :
Demasquerading Processus local Paquet rejet INPUT OUTPUT
Paquet accept
Paquet rout
FORWARD
A. Guermouche Cours 1 : Firewalls 14
Ipfwadm
Ipfwadm
Firewall permettant la gestion des paquets TCP, UDP et ICMP. 3 types de rgles : INPUT . sont appliques lors de larrive dun paquet. FORWARD . sont appliques lorsque la destination du paquet nest pas le routeur. OUTPUT. sont appliques ds quun paquet doit sortir du routeur. Fonctionnement :
1: 2: 3: 4: 5: 6: 7:
lorsquun paquet entre, il traverse les rgles de type INPUT Si il est accept Alors Si il est destin une autre machine Alors il est rout vers les rgles FORWARD Sinon il est rejet le paquet est nalement mis
A. Guermouche Cours 1 : Firewalls 14
Ipchains
Plan
1. Firewall? 2. DMZ 3. Proxy 4. Logiciels de ltrage de paquets 5. Ipfwadm 6. Ipchains 7. Iptables 8. Iptables et ltrage 9. Translation dadresses NAT statique NAT dynamique : Masquerading
A. Guermouche Cours 1 : Firewalls 15
Ipchains
Ipchains
Module du noyau Linux ralisant le ltrage de paquets. Inspir du parre-feu BSD (tout comme ipfwadm) Fonctionnement :
Boucle locale "Demasquerading" INPUT Routage Accept
FORWARD
OUTPUT
Rejet
Rejet
A. Guermouche
Cours 1 : Firewalls
16
Iptables
Plan
1. Firewall? 2. DMZ 3. Proxy 4. Logiciels de ltrage de paquets 5. Ipfwadm 6. Ipchains 7. Iptables 8. Iptables et ltrage 9. Translation dadresses NAT statique NAT dynamique : Masquerading
A. Guermouche Cours 1 : Firewalls 17
Iptables
Iptables (1/2)
Module du noyau Linux ralisant le ltrage de paquets (noyaux 2.4). Amliorations en matire de ltrage et de translation dadresses par rapport Ipchains. Fonctionnement :
FORWARD
Pr-routage
Routage
Rejet
INPUT Rejet
Processus local
Rejet
A. Guermouche
Cours 1 : Firewalls
18
Iptables
Iptables (1/2)
Module du noyau Linux ralisant le ltrage de paquets (noyaux 2.4). Amliorations en matire de ltrage et de translation dadresses par rapport Ipchains. Fonctionnement :
1: 2: 3: 4: 5: 6: 7: 8: 9:
larrive dun paquet (aprs dcision de routage) : Si le paquet est destin lhte local Alors il traverse la chane INPUT. Si il nest pas rejet Alors il est transmis au processus impliqu. Sinon Si le paquet est destin un hte dun autre rseau Alors il traverse la chane FORWARD Si il nest pas rejet Alors il poursuit alors sa route
A. Guermouche
Cours 1 : Firewalls
18
Iptables
Iptables (1/2)
Module du noyau Linux ralisant le ltrage de paquets (noyaux 2.4). Amliorations en matire de ltrage et de translation dadresses par rapport Ipchains. Fonctionnement :
1: 2: 3: 4: 5: 6: 7: 8: 9:
Tous les paquets mis par des processus locaux au routeur traversent la chane OUTPUT.
A. Guermouche Cours 1 : Firewalls
larrive dun paquet (aprs dcision de routage) : Si le paquet est destin lhte local Alors il traverse la chane INPUT. Si il nest pas rejet Alors il est transmis au processus impliqu. Sinon Si le paquet est destin un hte dun autre rseau Alors il traverse la chane FORWARD Si il nest pas rejet Alors il poursuit alors sa route
18
Iptables
Iptables (2/2)
Fonctionnalits : Filtrage de paquets NAT Marquage de paquets Architectures :Trois tables de chanes (FILTER , NAT et MANGLE).
FILTER NAT
(ltrage des paquets) INPUT paquet entrant sur le routeur OUTPUT paquet mis par le routeur FORWARD paquet traversant le routeur
Iptables
eth1 140.77.13.2
Routeur
Modication de la source du paquet aprs le routage (paquet mis partir du rseau priv).
iptables -t nat -A POSTROUTING -s 192.168.0.2 -o eth1 -j SNAT -to-source 140.77.13.2
A. Guermouche Cours 1 : Firewalls 20
Iptables
eth1 140.77.13.2
Routeur
Exercice : Comment faire pour que le routeur puisse envoyer un paquet ladresse 140.77.13.2?
A. Guermouche
Cours 1 : Firewalls
20
Iptables
eth1 140.77.13.2
Routeur
Exercice : Comment faire pour que le routeur puisse envoyer un paquet ladresse 140.77.13.2? Rponse : Il faut modier la destination du paquet mis localement avant le routage. iptables -t nat -A OUTPUT -d 140.77.13.2 -j DNAT -to-destination 192.168.0.2
A. Guermouche Cours 1 : Firewalls 20
Iptables
Association entre toutes les adresses prives du sous-rseau 192.168.0.0/24 avec linterface eth1.
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE
Association entre toutes les adresses prives du sous-rseau 192.168.1.0/24 avec linterface eth2.
iptables -t nat -A POSTROUTING -o eth2 -s 192.168.1.0/24 -j MASQUERADE
A. Guermouche Cours 1 : Firewalls 21
Iptables
Transfert de ports
NAT 192.168.0.0/24 140.77.13.2 eth1 140.77.13.3 eth2 NAT Rseau priv Routeur eth0 switch 192.168.1.0/24
Transfrer les connexions sur le port 80 de ladresse 140.77.13.2 sur la machine ayant ladresse prive 192.168.0.200 sur le port 8080 :
iptables -t nat -A PREROUTING -p tcp -i eth0 -d 140.77.13.2 -dport 80 -sport 1024:65535 -j DNAT -to 192.168.0.200:8080
A. Guermouche
Cours 1 : Firewalls
22
Iptables et ltrage
Plan
1. Firewall? 2. DMZ 3. Proxy 4. Logiciels de ltrage de paquets 5. Ipfwadm 6. Ipchains 7. Iptables 8. Iptables et ltrage 9. Translation dadresses NAT statique NAT dynamique : Masquerading
A. Guermouche Cours 1 : Firewalls 23
Iptables et ltrage
Iptables et ltrage(1/2)
Filtrage des paquets IP, TCP, UDP ou ICMP Spcication de rgle pour le rejet ou lacceptation de paquet Utilisation de la table FILTER et des chanes INPUT, OUTPUT et
FORWARD
Rgles traites de manire squentielle : Le paquet sort ds quil rencontre une rgle qui peut lui tre applique Exemples : Accepter tous les paquets en provenance de nimporte o et destins ladresse du routeur 192.168.1.1.
iptables -A INPUT -s 0/0 -i eth0 -d 192.168.1.1 -p TCP -j ACCEPT
iptables -A FORWARD -s 0/0 -i eth0 -d 192.168.1.58 -o eth1 -p TCP -sport 1024:65535 -dport 80 -j ACCEPT
A. Guermouche Cours 1 : Firewalls 24
Iptables et ltrage
Iptables et ltrage(2/2)
Accepter un paquet ICMP echo-request (ping) par seconde
iptables -A INPUT -p icmp -icmp-type echo-request -m limit -limit 1/s -i eth0 -j ACCEPT
Accepter 5 segments TCP ayant le bit SYN positionn par seconde (permet dviter de se faire inonder)
iptables -A INPUT -p tcp -syn -m limit -limit 5/s -i eth0 -j ACCEPT
iptables -A FORWARD -s 0/0 -i eth0 -d 192.168.1.58 -o eth1 -p TCP -sport 1024:65535 -m multiport -dport 80,443 -j ACCEPT
A. Guermouche
Cours 1 : Firewalls
25
Iptables et ltrage
A. Guermouche
Cours 1 : Firewalls
26
Iptables et ltrage
A. Guermouche
Cours 1 : Firewalls
26
Iptables et ltrage
Outils de diagnostic
Traces iptables. Possibilit de tracer certaines actions iptables. exemple : 1. Tracer toutes les actions iptables :
iptables -A OUTPUT -j LOG iptables -A INPUT -j LOG iptables -A FORWARD -j LOG
nmap, nessus,. . . . Logiciels permettant de diagnostiquer ltat dun rewall (trouver les ports ouverts, dtecter les services utilisant les ports, . . . )
A. Guermouche Cours 1 : Firewalls 27
Translation dadresses
Plan
1. Firewall? 2. DMZ 3. Proxy 4. Logiciels de ltrage de paquets 5. Ipfwadm 6. Ipchains 7. Iptables 8. Iptables et ltrage 9. Translation dadresses NAT statique NAT dynamique : Masquerading
A. Guermouche Cours 1 : Firewalls 28
Translation dadresses
Translation dadresses
NAT statique
NAT statique
Association entre une adresse publique et une adresse prive.
192.168.0.1
147.210.20.235
. . . Passerelle
. . .
147.210.20.3
192.168.0.21
Rseau priv
A. Guermouche
Cours 1 : Firewalls
30
Translation dadresses
NAT statique
NAT statique
Association entre une adresse publique et une adresse prive. Intrt : Uniformit de ladressage dans la partie prive du rseau (modication de la correspondance @publique/@prive facile) Scurit accrue (tous les ux passent par la passerelle NAT) Inconvnient : Problme de pnurie dadresses IP publiques non-rsolu
A. Guermouche
Cours 1 : Firewalls
30
Translation dadresses
NAT statique
Passerelle
147.210.20.235 140.77.16.192 33210 80
Rseau priv
140.77.16.192
192.168.0.1
80 33210
Paquet IP
...
...
...
Donnes
Paquet TCP
A. Guermouche Cours 1 : Firewalls 31
Translation dadresses
192.168.0.1
147.210.20.235 . . . Passerelle
192.168.0.21
Rseau priv
A. Guermouche
Cours 1 : Firewalls
32
Translation dadresses
Association entre m adresses publiques et n adresses prives (m < n). Intrt : Plusieurs machines utilisent la mme adresse IP publique pour sortir du rseau priv Scurit accrue (tous les ux passent par la passerelle NAT) Inconvnient : Les machines du rseau interne ne sont pas accessibles de lextrieur (impossibilit dinitier une connexion de lextrieur)
A. Guermouche
Cours 1 : Firewalls
32
Translation dadresses
Passerelle
147.210.20.235 140.77.16.192 64111 80 Mmorisation de la translation (192.168.0.1,33210) (147.210.20.235,64111) 140.77.16.192 147.210.20.235 64111 80 Inversion de la translation 140.77.16.192 192.168.0.1 80 33210
Rseau priv
A. Guermouche
Cours 1 : Firewalls
33
Translation dadresses
chaque nouvelle connexion : Modier ladresse source et le port source : (@source_prive,port_source)(@publique,port_source) Sauvegarder lassociation dans la table NAT Pour chaque paquet entrant : Chercher une association correspondant au couple (@destination, port_destination) Si une association dans la table NAT Alors Modier ladresse de destination et le port de destination Relayer le paquet Sinon /* Erreur de routage */
A. Guermouche
Cours 1 : Firewalls
34
Translation dadresses
chaque nouvelle connexion : Modier ladresse source et le port source : (@source_prive,port_source)(@publique,port_source) Sauvegarder lassociation dans la table NAT Pour chaque paquet entrant : Chercher une association correspondant au couple (@destination, port_destination) Si une association dans la table NAT Alors Modier ladresse de destination et le port de destination Relayer le paquet Sinon /* Erreur de routage */
Le routeur gre toutes les associations Unicit de lassociation (donc du port source aprs translation)
A. Guermouche Cours 1 : Firewalls 34
Translation dadresses
A. Guermouche
Cours 1 : Firewalls
35