Académique Documents
Professionnel Documents
Culture Documents
1 2
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
3 4
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
Architecture 3: Screened Host Firewall System Architecture 3: Screened Host Firewall System
(Single-homed bastion host) (Single-homed bastion host)
Architecture 4: Screened Host Firewall system: Dual- Architecture 5: Screened subnet Firewall system
homes bastion host
7 8
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
Architecture 5: Screened subnet Firewall system Screened subnet Firewall System
Plus scurise que les deux autres configurations Actuellement, la majorit des Firewalls intgrement
Deux Packets-Filtering Routers sont utiliss: cette sparation (sous rseau protg).
Entre le Bastion Host et lInternet. Interface DMZ (Demilitarized Zone) pour le sous
Entre le Bastion Host et le rseau local. rseau protg
Cre un sous rseau protg contenant le Bastion Host et les serveurs La possibilit doffrir des services sans les placer de
(offrant des services publiques). lintrieur et de lextrieur
LInternet et le rseau interne ont les deux accs aux machines du Possibilit de dfinir de multiples DMZ
sous-rseau cre, mais le trafic dun cot lautre de ce sous-rseau Cloisonnement des zones
est bloqu: Cloisonnement de flux
Cration de trois niveaux de scurit. Si une tombe, les autres fonctionnent
Le rseau interne est invisible de lInternet.
Les machines du rseau interne ne peuvent communiquer quavec le
Bastion Host.
9 10
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
11 12
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
Screened subnet Firewall System Screened subnet Firewall System
13 14
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
15 16
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
iptables iptables
L'architecture du noyau pour le systme de firewall s'appelle 'netfilter' Les rgles de filtrage dterminent le devenir des paquets grce une
Netfilter se base sur 3 listes de rgles pour dfinir son comportement police qui peut tre : ACCEPT, REJECT, DENY, MASQ ou encore
vis--vis d'un paquet une redirection vers une chane.
Les rgles sont groupes en chanes qui peuvent tre celles de base :
input, forward, output ou dautres dfinies par lutilisateur.
Si le paquet entrant est destin Les paquets entrants dans le pare-feu arrivent automatiquement dans
cette machine, le paquet passe la chane input. Ceux qui sont mis par le pare-feu, passent dans la
dans la chane INPUT. chane output. Et ceux qui sont retransmis passent par la chane
forward.
Si le forwarding est autoris et que
Un paquet qui entre dans une chane teste toutes les rgles de la
le paquet est destin un autre
chane jusqu en trouver une qui lui corresponde. Et il obit la
rseau, le paquet va directement la
police spcifie par la rgle trouve.
chane FORWARD.
Si aucune rgle sappliquant au paquet na t trouve, alors cest la
police par dfaut de la chane qui est utilise pour savoir que faire de
La chane OUTPUT concerne les
ce paquet.
paquets qui ont t cr par la
machine locale. Il est donc important, avant de crer les rgles, de dfinir la police par
dfaut dune chane.
17 18
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
iptables iptables
Exemple:
Vu du Pare-feu, Le trafic
Internet => local est FORWARD
local => Internet est FORWARD
Une requte
"ping request" local => pare-feu est INPUT
"ping request" Internet => pare-feu est INPUT
"ping reply" pare-feu => Internet est OUTPUT
Si le paquet est destin lhte local Alors il traverse la chane INPUT. "ping reply" pare-feu => local est OUTPUT
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
19 20
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
iptables iptables
Chacune de ces chanes peut donner plusieurs rponses possibles pour
chaque paquet: Chanes
Accepter ACCEPT Cration (N)
vidage (F)
Rejeter REJECT (on signale le rejet l'expditeur) suppression (X)
Supprimer DROP (on l'efface et on ne rpond rien) affectation dune police (P)
L'administrateur peut crer des chanes personnalises en plus des 3
affichage (L)
chanes par dfaut qui lui permettent d'organiser ses rgles de filtrage Rgles
de manire plus propre et optimise. ajout en fin de liste (A), insertion ordonne (I)
Les rgles reposent sur des critres de slection trs varis :
suppression (D)
remplacement (R)
Machine source; Port source test (C)
Machine destination; Port destination
Interface; Protocole; Drapeaux spciaux du paquet TCP
Types et codes spciaux du paquet ICMP
21 22
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
# iptables -L -v
policy : comportement par dfaut
Dans cet exemple netfilter accepte donc tous les paquets, le firewall est en
mode passif.
23 24
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
iptables iptables
Il existe de trs nombreuses options pour construire les rgles de
Exemple1: autoriser uniquement votre voisin se connecter sur votre filtrage, parmi les plus utiliss on trouve :
machine en ssh
-s : slection de l'adresse IP source (ou rseau source) d'o vient le paquet
insrer une rgle pour votre voisin avant la rgle qui DROP les
paquets -d : slection de l'adresse IP de destination (ou rseau de destination) o va
le paquet
# iptables -I INPUT 1 -p tcp --dport 22 -s --dport : port destination (le port sur lequel le client essaye de se connecter)
adresse_ip_du_voisin -j ACCEPT vers quel port a t mis le paquet
le '-I INPUT 1' signifie insre en premire position dans la liste --sport : port source (le port utilis par le client pour crer la connexion)
-s permet de choisir la source des paquets, depuis quel port a t mis le paquet
-p suivi d'un nom de protocole
-i : spcifie le nom de l'interface physique travers laquelle les paquets
entrent
-o : spcifie le nom de l'interface physique travers laquelle les paquets
sortent
25 26
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
iptables iptables
Les commandes de iptables associes la gestion des chanes sont
# iptables -D INPUT 1 les suivantes :
efface la premire rgle de la chane INPUT.
-N : cration d'une nouvelle chane (iptables -N INTERNET)
# iptables -L -v --line-numbers
-X : suppression d'une chane vide (iptables -X INTERNET)
voir les numros de chaque rgle lorsqu'on liste les rgles
-P : Mise en place de la rgle par dfaut pour une chane existante
# iptables -A chaine -m multiport -p tcp --dports
(iptables -P INPUT DROP). Seules les chanes INPUT,
port1,port2,port3 -j
FORWARD et OUTPUT peuvent avoir une rgle par dfaut et
les seules cibles disponibles sont ACCEPT et DROP.
A ajout, D supprime, I insre, F efface toutes les -L : lister les rgles d'une chane (iptables -L INTERNET)
rgles mais pas la stratgie par dfaut, L liste
-F : effacer les rgles d'une chane (iptables -F INTERNET)
27 28
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
Exemple Ping avant
Cration d'une chane spcifique
# iptables -N ssh
134.214.90.20 134.214.88.12
On indique la chane INPUT que tout ce qui concerne ssh
doit tre transmis cette nouvelle chane
# iptables -A INPUT -p tcp --dport 22 -j ssh
On rajoute nos rgles de filtrages dans la chane ssh
on accepte que le voisin se connecte
# iptables -A ssh -s ip_machine_du_voisin -j ACCEPT
on interdit au reste du monde de se connecter
# iptables -A ssh -j DROP ping 134.214.90.20
64 bytes from 134.214.90.20: icmp_seq=0 ttl=240 time=17.3 ms
29 30
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
ping 134.214.90.20
33 34
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
Exemple Exemple
Interdire accs depuis lextrieur (eth1)
Autoriser accs ssh (administratif)
Autoriser voie de retour
Rgles
iptables -A INPUT -i eth1 -j DROP
iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -m state --state ESTABLISHED -j ACCEPT
35 36
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
Suivi de connexion Exemple: FTP
Le module 'state' dfinit plusieurs tats possibles pour les le protocole FTP utilise 2 connexions TCP pour communiquer.
flux rseaux : Une sert envoyer les commandes du client vers le serveur et
- NEW : c'est une nouvelle connexion
Une sert envoyer les donnes du serveur vers le client.
- ESTABLISHED : on connat dj cette connexion (elle est passe par
Dans son fonctionnement standard, un client FTP se connecte sur le port
l'tat NEW il y a peu de temps)
21 du serveur FTP. Le client indique ensuite au serveur sur quel port il (le
- RELATED : cela permet d'identifier une connexion qui serait lie ou client) recevra les donnes. Le serveur FTP va alors tablir une connexion
dpendant d'une connexion dj ESTABLISHED. depuis son port 20 vers le port (>1023) indiqu par le client :
- INVALID : tout ce qui n'est pas correctement identifiable
Client FTP (port source alatoire 'a') -----> Serveur FTP (port 21)
Client FTP (port 'a') ----> Serveur FTP (port 21)
(le client indique au serveur FTP sur quel port il devra envoyer les donnes, par
ex 3084)
Serveur FTP (port 20) -----> Client FTP (port 3084) (le serveur transfert des
donnes vers le client)
37 38
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
39 40
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
Exemples: Oprations la table filter Exemples: Oprations la table filter
paramtre inversion: interdire un paquet s'il ne paramtre inversion: interdire un paquet s'il ne provient
provient pas de localhost pas de localhost
paramtre interface d'entre: interdire tout paquet paramtre destination port: interdire tout paquet
entrant par eth0 destination du port ftp
iptables -A INPUT -i eth0 -j DROP iptables -A INPUT -p tcp --dport 21 -j DROP
interdire un paquet s'il provient de lo paramtre source port: interdire tout paquet sortant par
eth0 dont le numro de port source est infrieur 1024
iptables -A INPUT -i lo -j DROP
iptables -A OUTPUT -o eth0 -p tcp --sport :1023 -j DROP
paramtre interface de sortie: interdire tout paquet iptables -A OUTPUT -o eth0 -p udp --sport :1023 -j DROP
sortant par eth0 paramtre flag TCP: interdire toute tentative
iptables -A OUTPUT -o eth0 -j DROP d'initialisation de connexion TCP provenant de eth0
iptables -A INPUT -i eth0 -p tcp --syn --sport :1023 -j DROP
41 42
Cours Scurit des rseaux, F. ZARAI, 2015/2016 Cours Scurit des rseaux, F. ZARAI, 2015/2016
45
Cours Scurit des rseaux, F. ZARAI, 2015/2016