You are on page 1of 81

Cours Scurit des rseaux

1
Chapitre 6: Les firewalls (pare-feu)
Cours Scurit des rseaux
Objectifs gnraux
A la fin de chapitre ltudiant sera capable de:
Comprendre le fonctionnement gnral des pare-
feux
Enumrer les diffrents types de pare-feux
Expliquer le filtrage statique et les listes de
contrle daccs
Expliquer le filtrage dynamique
Enumrer les diffrents architecture de pare-feux
Cours Scurit des rseaux
Motivations
volution des systmes dinformation
Des rseaux dentreprise assez larges, connectant des rseaux locaux
(distribus dans des zones gographiques diffrentes) travers des
rseaux tendus.
Ncessit de connecter certains de ces rseaux Internet.
La connectivit dun rseau local Internet, permet au monde
externe datteindre et dinteragir avec les ressources de ce rseau.
Difficult de scuriser chaque ressource part:
Nombre important de machines.
Diffrents types dapplications, services, systmes dexploitation, et
protocoles utiliss, tous contenant des bugs.
Besoin de minimiser les risques.
Utilisation des Firewalls
3
Cours Scurit des rseaux
Firewall

Dnomm garde barrire, coupe-feu, pare-feu
Reprsente une barrire entre un rseau priv et un rseau
publique.
Fait passer uniquement le trafic permis par la politique de
scurit.
Hypothse: Le Firewall est exempt de vulnrabilit. Lui et le
systme sur lequel il est install sont de confiance.
4
Cours Scurit des rseaux
Firewall
Interconnecte des rseaux de diffrent niveaux de confiance.
Dfinit un point de passage oblig pour le contrle et le suivi de
trafic.
Implmente des mcanismes dapplication de la politique de
scurit
Impose des restrictions sur le trafic entrant et sortant (ex: seul le trafic
http est autoris, seule ladresse IP 1.2.3.4 est autorise).
Fournit une protection contre les attaques (ex: IP spoofing).
Permet dauditer et de contrler laccs.
Gnration dalertes pour les utilisations malveillantes.
Fournit un primtre de scurit.
Reprsente un endroit commode pour limplmentation des
fonctionnalits rseau (ex: translation dadresses)
5
Cours Scurit des rseaux
Firewall
6
Rseau avec niveau
de confiance X
Rseau de
non-confiance
Firewall
Routeur
Internet
Rseau local
DMZ
Serveurs accessibles
depuis le rseau Internet
Rseau avec Niveau de confiance Y
ALERT!!
Cours Scurit des rseaux
Firewall
7
Cours Scurit des rseaux
Limitation dun Firewall
Ne protge pas contre les attaques qui ne le traversent pas:
Ex: un utilisateur interne utilise un modem pour se connecter
Internet.
Ne protge pas contre les menaces internes.
Ex: un employ malhonnte attaque une machine interne.
Ne protge pas contre le transfert de programmes et de fichiers
malveillants (virus, backdoor, etc.).
Les systmes et les applications supports dans un primtre de
scurit, sont nombreux et diffrents.
Difficult de scanner tous les messages en direction de ces systmes
et applications.
8
Cours Scurit des rseaux
Type de Firewalls
3 Types de Firewall sont tudis dans ce
cours:
Packet-Filtering router (stateless, stateful)
Application-Level Gateway.
Circuit-Level Gateway.
9
Cours Scurit des rseaux
Packet-Filtering router
10
Cours Scurit des rseaux
Application-Level Gateway.
11
Cours Scurit des rseaux
Circuit-Level Gateway
12
Cours Scurit des rseaux
Firewall multicouche
13
Cours Scurit des rseaux
Protocole TCP
15
Application
Transport
Rseau
Liaison
protocole Applicatif
protocole TCP, UDP
protocole IP
Liaison de
donnes
IP
Network
Access
protocole IP
Application
Transport
Rseau
Liaison
La couche Transport fournit des ports: canaux logiques identifis
par un nombre
Ex: http sur port 80, Telnet sur port 21, etc.
Liaison de
donnes
Cours Scurit des rseaux
Format de donnes
16
Application
Transport (TCP, UDP)
Rseau (IP)
Liaison
message donnes dapplication
TCP donnes TCP donnes TCP donnes
Entte TCP
donnes TCP IP
Entte IP
donnes TCP IP ETH ETF
Entte Liaison
(Ethernet)
Queue Liaison
(Ethernet)
segment
paquet
Trame
message
Cours Scurit des rseaux
Packet-Filtering router
Le plus simple des Firewalls.
Pour chaque paquet IP rencontr, il dcide de le faire passer (forward) ou de
lliminer (deny), selon des rgles de filtrages.
Le filtrage se fait depuis et vers toutes les directions (ex: depuis et vers
Internet).
Rgles de filtrage, bases sur lanalyse des champs dans lentte IP et TCP:
Adresse IP source et destination.
Protocole (TCP, UDP, ICMP, etc).
Port (TCP ou UDP) source et destination.
TCP Flags (SYN, ACK, FIN, RST, PSH, etc)
Type de Message ICMP
Taille du paquet
17
Cours Scurit des rseaux
Politique de scurit par dfaut
Ce qui nest pas explicitement permis est interdit. (default = Deny)
La plus prudente.
Initialement tous les services sont bloqus, puis ils sont ajouts un par
un selon les besoins.
Ce qui nest pas explicitement interdit est permis. (default = Forward)
Introduit une commodit dans lutilisation des services rseau par les
utilisateurs.
Fournit un niveau de scurit rduit.
Un administrateur doit ragir pour chaque nouvelle menace de scurit
identifie (un nouveau service devient vulnrable).
18
Cours Scurit des rseaux
Exemple de rgles (Packet-Filtering router)
Rgle1: Toute connexion depuis le rseau interne (193.1.1.0) vers la machine suspecte
100.1.1.1 est bloque.
Rgle2: Seulement les connexions HTTP (TCP, port 80) depuis le rseaux interne
(193.1.1.0), sont permises.
Rgle3: Seulement le trafic web en rponse une connexion dj initie du rseau interne
sera accept de lextrieur.
Rgle4: La politique de scurit par dfaut.
Action Protocole source port destination Port flag
Deny IP 193.1.1.0 * 100.1.1.1 *
Allow TCP 193.1.1.0 * * 80
Allow TCP * 80 193.1.1.0 * ACK
Deny IP * * * *
19
Internet
Packet-filtering router
193.1.1.0
Cours Scurit des rseaux
Packet filtering
Avantages
Simplicit du fonctionnement (filtrage statique).
Rapidit dans le traitement.
Transparence aux utilisateurs.
Inconvnient
Ne protge pas contre les attaques qui exploitent des vulnrabilits sur les
applications (ne bloque pas certaines commandes).
Les fichiers logs gnrs ne contiennent pas dinformations assez
pertinentes (seulement: @IP, ports).
Ne supporte pas des mcanismes avancs dauthentification des
utilisateurs.
Une simple erreur dans la configuration des rgles peut casser toute la
scurit.
Vulnrabilits aux attaques qui exploitent les insuffisances du protocole
TCP/IP (ex: IP spoofing attacks)
20
Cours Scurit des rseaux
Attaques sur Packet-filtering Firewalls
IP address spoofing (Usurpation dadresse IP)
Lintrus envoi un paquet de lexterne avec une fausse @IP (gnralement gale
une @IP dune machine interne), et ceci afin de russir passer le mcanisme
de filtrage.
Solution: bloquer tout paquet venant de linterface externe ayant une @IP
source interne.
Source routing attacks (routage la source)
Lintrus spcifie une route qui va tre emprunte par le paquet autre que celle
applique par dfaut.
Solution: bloquer les paquets source routed
Tiny fragment attacks (fragmentation de paquets)
Un paquet IP est divis en plusieurs fragments, o seul le premier fragment
contient le numro de port.
Insuffisance dinformations pour filtrer ces paquets.
Solution: rejeter les paquets fragments ou les rassembler avant vrification.
21
Cours Scurit des rseaux
Stateful Inspection Packet Filtering Firewalls
Connexion TCP
Port serveur infrieur 1024.
Port client compris entre 1024 et 16383.
Les Ports <1024 sont affects de faons permanente.
FTP: 20,21 Telnet: 23 SMTP: 25 HTTP: 80 HTTPS: 443
Tous les Ports >1023 doivent tre disponibles aux clients pour faire leurs
connexions.
Ceci cr une vulnrabilit qui peut tre exploite par les intrus.
Ceci prsente une limitation pour les Firewalls de type stateless packet
filtering (vus dans les transparents prcdents).
Solution: Utilisation de Firewalls de type Stateful Inspection packet
filtering (filtrage dynamique).
22
Cours Scurit des rseaux
Stateful Inspection Packet filetring Firewalls
@IP Src
Port
Src
@IP Dst Port dst
tat de la
connexion
223.43.21.231 1990 193.2.1.3 80 tablie
223.42.21.230 1234 193.5.6.1 23 tablie
223.42.21.222 2562 193.4.2.1 80 tablie

23
Il permet de filtrer les paquets en se basant sur la couche transport du
modle OSI (filtrage au niveau des ports de communication TCP-UDP).
Il maintient une table dtat des connexions correspondantes aux ports
logiques du niveau 4 du modle OSI et surtout les ports dont le numro
est suprieur 1024 (les ports utiliss par les applications de
lutilisateur).








Cours Scurit des rseaux
Stateful Inspection Packet filetring Firewalls
Renforce les rgles de filtrage en suivant ltat des connexions:

Si un paquet reprsente une nouvelle connexion, alors vrification
des rgles de configuration
Si un paquet fait partie dune connexion existante (ex: TCP
flag=ACK), alors vrification dans la table dtat des connexions,
puis mise jour de la table.
Le trafic entrant vers un port x suprieur 1024, est autoris
seulement sil est en direction dune machine qui a dj tablie
une connexion avec un port source infrieur 1024 et un port
destination gal x .
24
Cours Scurit des rseaux
25
193.1.1.1 10.1.2.3
Client Telnet
Serveur Telnet
Le Firewall se souviendra
De cette information
Cohrent avec le
paquet prcdent
Pas de cohrence
avec la connexion
en cours
Stateful Packet-Filtering Firewall
Cours Scurit des rseaux
Packet filetring Firewalls
Rgles par port/par adresses
Rgles manuelles complexes grer
Historique des rgles (tel service na plus besoin de telle
rgle)
Redondance/conflit de certaines rgles?
Audit priodique ncessaire
Sarrte au niveau 4 Encapsulation possible
26
Cours Scurit des rseaux
Les Firewalls Proxy
Filtres applicatifs
Proxy : introduit un lment intermdiaire obligatoire entre le client et le
serveur
Chaque application passe alors par le firewall proxy et envoie sa requte
non pas au serveur quelle dsire atteindre mais au firewall qui la
retransmettra.
Inversement, les communications mises depuis Internet destination des
systmes internes ne les atteignent pas directement mais sont
pralablement traites par le firewall.
Deux types:
Proxy applicatifs
Niveau 7 du modle OSI
Proxy de type circuit
Niveau 5 du modle OSI
27
Cours Scurit des rseaux
Application-Level Gateway





28
Applications Applications
Presentations Presentations
Sessions Sessions
Transport Transport
DataLink DataLink
Physical Physical
Network Network
DataLink DataLink
Physical Physical
Applications Applications
Presentations Presentations
Sessions Sessions
Transport Transport
DataLink DataLink
Physical Physical
Application Gateway Application Gateway
Applications Applications
Presentations Presentations
Sessions Sessions
Transport Transport
Network Network Network Network
Telnet Telnet Telnet Telnet HTTP HTTP HTTP HTTP FTP FTP FTP FTP
Cours Scurit des rseaux
Application-Level Gateway
Agit comme un relais applicatif.
Besoin de proxy spar pour chaque service (ex: SMTP, DNS).
Deux modes de fonctionnement:
Le client doit tre configur pour une communication avec Proxy.
Mode Proxy transparent.
A un accs complet au protocole
Un utilisateur demande un service (ex: Telnet, ftp) au Proxy.
Le Proxy valide la demande.
Le Proxy contacte lapplication distante et transmet les segments TCP
contenant les donnes applicatives entre les deux entits.
29
Cours Scurit des rseaux
Application-Level Gateway
La passerelle peut tre configure pour ne pas autoriser toutes les
fonctionnalits dune application.
FTP en download seulement
Suppression de javascripts
Suppression de certains mots sur des pages webs

Possibilit dauditer et de journaliser tout le trafic passant.
30
Cours Scurit des rseaux
Application Level Gateway
Inconvnients
Un processus par connexion.
Gestion des connexions dans les deux bouts.
Peux de Proxies sont disponibles
les services propres ne sont pas gnralement supports.
Plus appropri TCP
Difficult avec ICMP.
31
Cours Scurit des rseaux
Circuit Level Gateway
Cre deux connexions: une entre lui et lutilisateur interne, une
autre entre lui et lutilisateur externe.
Impose une scurit en dterminant quel type de connexion est
permis.
Une fois les deux connexions tabli, il transmet les segments dune
connexion une autre sans examiner leurs contenu.
Supporte plus de services que lApplication-Level Gateway
Moins de contrle sur les donnes.
Les clients doivent tre au courant de lutilisation dun circuit-level
proxy.
Le protocole SOCKS est gnralement utilis pour a.
La version 5 supporte TCP et UDP.
32
Cours Scurit des rseaux
Les Firewalls Proxy
Avantages:
Inspection plus fine des paquets
Cache possible
Attaques sur des comportements anormaux limines
Inconvnients
Plus la granularit augmente, plus linspection est lente
33
Cours Scurit des rseaux
Rsum
Un firewall est un logiciel ou matriel qui
Analyse les trames quil reoit et prend une dcision
en fonction des adresses de couche 2, 3 et 4 =>
filtrage sans tat (Stateless Packet-Filtering router)
La dcision peut tre prise en fonction de ltat dune
connexion et/ou des drapeaux TCP => filtrage
dynamique (Stateful Packet-Filtering router)
La dcision peut tre prise en fonction du contenu de
couche 7 => filtrage applicatif

34
Cours Scurit des rseaux
Architecture
35
Cours Scurit des rseaux
Architecture 1: Routeur Filtrant
Routages habituelles d'un routeur + oprations de filtrage au niveau
des paquets IP
Des ACL donnent les rgles de filtrage
+ Simple
+ Peu coteux
+ Performant
- Fonctionnalits limites
- Traces peu exploitables

36
Cours Scurit des rseaux
Architecture 2: Routeur Filtrant+Log


Les informations enregistrer :
dmarrage de session TCP(ou toute tentative) avec :
adresse (source, destination)
port (source, destination),

37
Cours Scurit des rseaux
Architecture 3: Screened Host Firewall System (Single-
homed bastion host)
38
Cours Scurit des rseaux
Bastion Host
Une machine en interne joue le pare feu
Un routeur filtrant nautorise que le trafic de et vers ce bastion
Sert comme plateforme pour Application-LevelGateway et Circuit-
LevelGateway.
Peut tre utilise pour fournir des services accessibles de lexterne.
Potentiellement expose des intrusions (vulnrabilit du bastion +
vulnrabilit du routeur filtrant).
Doit tre hautement scurise.
Seulement les services ncessaires sont installs (typiquement des
Proxies).
Supporte deux ou plusieurs connexions rseau
Ralise une sparation scurise entre les connexions rseaux.
39
Cours Scurit des rseaux
40
Architecture 3: Screened Host Firewall System
(Single-homed bastion host)
Cours Scurit des rseaux
Architecture 3: Screened Host Firewall System (Single-
homed bastion host)
Deux types de Firewalls sont utiliss
Packet-Filtering Router.
Bastion Host: Authentification et fonction Proxy.
Trafic manant de lInternet: seulement celui en direction du Bastion
Host est autoris passer le Packet-Filtering Router.
Trafic sortant du rseau interne: seulement les paquets IP manant
du bastion Host sont autoriss quitter le Packet-Filtering Router.
Inconvnient: En cas o le Packet-Filtering router est totalement
compromis, le trafic malveillant peut directement atteindre les
machines du rseau interne.
Solution: Screened Host Firewall system (Dual-homes bastion
host)
41
Cours Scurit des rseaux
Architecture 4: Screened Host Firewall system: Dual-homes
bastion host)
42
Double interface: Possde une adresse IP par interface
Tout est filtr: Cette architecture impose aussi aux utilisateurs
internes de passer obligatoirement par la machine bastion
En coupure totale le pare feu est arrt rien ne passe
Possibilit de cloisonner x rseaux internes si x+1 interfaces

Cours Scurit des rseaux
43
Architecture 5: Screened subnet Firewall system
Cours Scurit des rseaux
Plus scurise que les deux autres configurations
Deux Packets-Filtering Routers sont utiliss:
Entre le Bastion Host et lInternet.
Entre le Bastion Host et le rseau local.
Cre un sous rseau protg contenant le Bastion Host et les serveurs
(offrant des services publiques).
LInternet et le rseau interne ont les deux accs aux machines du
sous-rseau cre, mais le trafic dun cot lautre de ce sous-rseau
est bloqu:
Cration de trois niveaux de scurit.
Le rseau interne est invisible de lInternet.
Les machines du rseau interne ne peuvent communiquer quavec le
Bastion Host.
44
Architecture 5: Screened subnet Firewall system
Cours Scurit des rseaux
Screened subnet Firewall System
Actuellement, la majorit des Firewalls intgrement cette
sparation (sous rseau protg).
Interface DMZ (Demilitarized Zone) pour le sous rseau
protg
La possibilit doffrir des services sans les placer de lintrieur
et de lextrieur
Possibilit de dfinir de multiples DMZ
Cloisonnement des zones
Cloisonnement de flux
Si une tombe, les autres fonctionnent
45
Cours Scurit des rseaux
Screened subnet Firewall System
46
Cours Scurit des rseaux
Screened subnet Firewall System
47
Cours Scurit des rseaux
Screened subnet Firewall System
48
Cours Scurit des rseaux
Screened subnet Firewall System
49
Cours Scurit des rseaux
Architecture
Il nexiste pas darchitecture idale
Il faut ladapter en fonction
De la structure organisationnelle
De la structure gographique
Des partenariats
De la criticit des applications
Du budget / du personnel associ la scurit

50
Cours Scurit des rseaux
Pare-feux libres
Linux Netfilter/Iptables, pare-feu libre des noyaux Linux
2.4 et 2.6
Linux Ipchains, pare-feu libre du noyau Linux 2.2
Packet Filter ou PF, pare-feu libre de OpenBSD
IPFilter ou IPF, pare-feu libre de BSD et Solaris 10
Ipfirewall ou IPFW, pare-feu libre de FreeBSD

51
Cours Scurit des rseaux
iptables
L'architecture du noyau pour le systme de firewall s'appelle 'netfilter'
Netfilter se base sur 3 listes de rgles pour dfinir son comportement
vis--vis d'un paquet

52
Si le paquet entrant est destin
cette machine, le paquet passe
dans la chane INPUT.
Si le forwarding est autoris et que
le paquet est destin un autre
rseau, le paquet va directement la
chane FORWARD.
La chane OUTPUT concerne les
paquets qui ont t cr par la
machine locale.
Cours Scurit des rseaux
iptables
Les rgles de filtrage dterminent le devenir des paquets grce une
police qui peut tre : ACCEPT, REJECT, DENY, MASQ ou encore 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.
Les paquets entrants dans le pare-feu arrivent automatiquement dans la
chane input. Ceux qui sont mis par le pare-feu, passent dans la chane
output. Et ceux qui sont retransmis passent par la chane forward.
Un paquet qui entre dans une chane teste toutes les rgles de la chane
jusqu en trouver une qui lui corresponde. Et il obit la police spcifie
par la rgle trouve.
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 ce
paquet.
Il est donc important, avant de crer les rgles, de dfinir la police par
dfaut dune chane.

53
Cours Scurit des rseaux
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
"ping reply" pare-feu => local est OUTPUT

54
Cours Scurit des rseaux
iptables
Chacune de ces chanes peut donner plusieurs rponses possibles pour
chaque paquet:
Accepter ACCEPT
Rejeter REJECT (on signale le rejet l'expditeur)
Supprimer DROP (on l'efface et on ne rpond rien)
L'administrateur peut crer des chanes personnalises en plus des 3
chanes par dfaut qui lui permettent d'organiser ses rgles de filtrage de
manire plus propre et optimise.
Les rgles reposent sur des critres de slection trs varis :
Machine source; Port source
Machine destination; Port destination
Interface; Protocole; Drapeaux spciaux du paquet TCP
Types et codes spciaux du paquet ICMP

55
Cours Scurit des rseaux
iptables
Chanes
cration N
vidage F
suppression X
affectation dune police P
affichage L
Rgles
ajout en fin de liste A, insertion ordonne I
suppression D
remplacement R
test C
56
Cours Scurit des rseaux
# iptables -L -v
-L : liste les rgles
-v demande le mode 'verbeux





57
iptables: Protection de la machine locale
policy : comportement par dfaut

Dans cet exemple netfilter accepte donc tous les paquets, le firewall est en
mode passif.
Cours Scurit des rseaux
iptables
Par dfaut iptables utilise la table filter' si on ne lui spcifie par une
autre table via l'option '-t nom_de_table').
Exemple1: Interdire les connexions sur le port 22 (ssh),
# iptables -A INPUT -p tcp --dport 22 -j
DROP
-A INPUT => ajoute en bas de la liste des rgles de la chane INPUT
-p tcp => pour les paquets qui utilisent les protocole TCP
--dport => pour les paquets qui sont destination du port 22
-j DROP => l'action : DROP les paquets (on efface les paquets),

# iptables -L -v

58
Cours Scurit des rseaux
iptables
Exemple1: autoriser uniquement votre voisin se connecter sur votre
machine en ssh
insrer une rgle pour votre voisin avant la rgle qui DROP les
paquets
# iptables -I INPUT 1 -p tcp --dport 22 -s
adresse_ip_du_voisin -j ACCEPT
le '-I INPUT 1' signifie insre en premire position dans la liste
-s permet de choisir la source des paquets,




59
Cours Scurit des rseaux
iptables
Il existe de trs nombreuses options pour construire les rgles de
filtrage, parmi les plus utiliss on trouve :
-s : slection de l'adresse IP source (ou rseau source) d'o vient le paquet
-d : slection de l'adresse IP de destination (ou rseau de destination) o va
le paquet
--dport : port destination (le port sur lequel le client essaye de se connecter)
vers quel port a t mis le paquet
--sport : port source (le port utilis par le client pour crer la connexion)
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
60
Cours Scurit des rseaux
iptables
# iptables -D INPUT 1
efface la premire rgle de la chane INPUT.
# iptables -L -v --line-numbers
voir les numros de chaque rgle lorsqu'on liste les rgles
# iptables -A chaine -m multiport -p tcp --dports
port1,port2,port3 -j

A ajout, D supprime, I insre, F efface toutes les rgles
mais pas la stratgie par dfaut, L liste


61
Cours Scurit des rseaux
iptables
Les commandes de iptables associes la gestion des chanes sont
les suivantes :
-N : cration d'une nouvelle chane (iptables -N INTERNET)
-X : suppression d'une chane vide (iptables -X INTERNET)
-P : Mise en place de la rgle par dfaut pour une chane existante
(iptables -P INPUT DROP). Seules les chanes INPUT,
FORWARD et OUTPUT peuvent avoir une rgle par dfaut et
les seules cibles disponibles sont ACCEPT et DROP.
-L : lister les rgles d'une chane (iptables -L INTERNET)
-F : effacer les rgles d'une chane (iptables -F INTERNET)

62
Cours Scurit des rseaux
Exemple
Cration d'une chane spcifique
# iptables -N ssh
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

63
Cours Scurit des rseaux
Ping avant
64
ping 134.214.90.20 -c 1
64 bytes from 134.214.90.20: icmp_seq=0 ttl=240 time=17.3 ms
134.214.90.20 134.214.88.12
Cours Scurit des rseaux
Ping aprs
65
ping 134.214.90.20 -c 1
100% packet loss
134.214.90.20 134.214.88.12
Mise en
fichier de
log.
???
Cours Scurit des rseaux
Trafic ICMP en entre
iptables -N icmpin
iptables -F icmpin
iptables -A icmpin
-l
-p icmp
--icmp-type echo-request
-j DENY
iptables -A input
-i eth1
-p icmp
-j icmpin

66
Cours Scurit des rseaux
ipchains -N icmpout
ipchains -F icmpout
ipchains -A icmpout
-l
-p icmp
--icmp-type echo-reply
-j DENY
ipchains -A output
-i eth1
-p icmp

67
Trafic ICMP en Sortie
Cours Scurit des rseaux
68
Conserver les traces du trafic sensible (option -l)
/etc/log/messages
Exemple de trace :
Nov 8 10:25:53
b710pbv kernel: Packet log:
input REJECT eth1
PROTO=17
134.214.90.16:138
134.214.91.255:138
L=236
S=0x00
I=51490
F=0x0000
T=128
(#7)
date et heure
machine, systme
chane, police, interface
protocole
machine et port source
machine et port destination
taille du paquet
TOS
id du paquet IP
grapeau et id de fragment
dure de vie (TTL)
index de la rgle utilise
Cours Scurit des rseaux
iptables
69
Cours Scurit des rseaux
iptables
70
Cours Scurit des rseaux
Exemple
71
Cours Scurit des rseaux
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 -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -m state --state ESTABLISHED -j ACCEPT

72
Cours Scurit des rseaux
Suivi de connexion
Le module 'state' dfinit plusieurs tats possibles pour les
flux rseaux :
- NEW : c'est une nouvelle connexion
- ESTABLISHED : on connat dj cette connexion (elle est passe par
l'tat NEW il y a peu de temps)
- RELATED : cela permet d'identifier une connexion qui serait lie ou
dpendant d'une connexion dj ESTABLISHED.
- INVALID : tout ce qui n'est pas correctement identifiable

73
Cours Scurit des rseaux
Exemple: FTP
le protocole FTP utilise 2 connexions TCP pour communiquer.
Une sert envoyer les commandes du client vers le serveur et
Une sert envoyer les donnes du serveur vers le client.

Dans son fonctionnement standard, un client FTP se connecte sur le port
21 du serveur FTP. Le client indique ensuite au serveur sur quel port il (le
client) recevra les donnes. Le serveur FTP va alors tablir une connexion
depuis son port 20 vers le port (>1023) indiqu par le client :

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)
74
Cours Scurit des rseaux
Exemple: FTP
Si le client est protg par un firewall netfilter, l'administrateur
devrait donc autoriser toutes les connexions venant de l'extrieur
vers tous les ports suprieurs 1023 du client.
Pas dintrt pour le firewall
conntrack va permettre de dtecter qu'une connexion FTP est
tablie (au moment o le client se connecte sur le port 21 du
serveur) et ouvrir de manire dynamique le filtrage pour cette
connexion spcifique vers le port que le client aura choisi.
On commence par tout interdire :
# iptables -A INPUT -j DROP
# iptables -I INPUT 1 -p tcp --sport 21 -m state --state ESTABLISHED -j
ACCEPT


75
Cours Scurit des rseaux
Exemples: Oprations la table filter
Crer les rgles suivantes :
interdire tout paquet entrant
effacer la rgle
iptables -A INPUT -j DROP
iptables -D INPUT 1
Paramtre protocole: interdire le protocole icmp
iptables -A INPUT -p icmp -j DROP
paramtre source: interdire le protocole icmp provenant de localhost
iptables -A INPUT -p icmp -s localhost -j DROP
chane OUTPUT paramtre destination: interdire tout paquet
destination de localhost
iptables -A OUTPUT -d localhost -j DROP
76
Cours Scurit des rseaux
Exemples: Oprations la table filter
paramtre inversion: interdire un paquet s'il ne provient
pas de localhost
iptables -A INPUT -s ! localhost -j DROP
paramtre interface d'entre: interdire tout paquet entrant
par eth0
iptables -A INPUT -i eth0 -j DROP
interdire un paquet s'il provient de lo
iptables -A INPUT -i lo -j DROP
paramtre interface de sortie: interdire tout paquet sortant
par eth0
iptables -A OUTPUT -o eth0 -j DROP

77
Cours Scurit des rseaux
Exemples: Oprations la table filter
paramtre inversion: interdire un paquet s'il ne provient pas de
localhost
iptables -A INPUT -s ! localhost -j DROP
paramtre destination port: interdire tout paquet
destination du port ftp
iptables -A INPUT -p tcp --dport 21 -j DROP
paramtre source port: interdire tout paquet sortant par eth0
dont le numro de port source est infrieur 1024
iptables -A OUTPUT -o eth0 -p tcp --sport :1023 -j DROP
iptables -A OUTPUT -o eth0 -p udp --sport :1023 -j DROP
paramtre flag TCP: interdire toute tentative d'initialisation de
connexion TCP provenant de eth0
iptables -A INPUT -i eth0 -p tcp --syn --sport :1023 -j DROP
78
Cours Scurit des rseaux
Exemples: Oprations la table filter
paramtre inversion: interdire un paquet s'il ne
provient pas de localhost
iptables -A INPUT -s ! localhost -j DROP
paramtre flag icmp: interdire tout paquet entrant
correspondant un ping
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
interdire toute rponse un ping
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP
extension mac: interdire tout paquet entrant par
eth0 dont l'adresse mac n'est pas celle du voisin
iptables -A INPUT -i eth0 -m mac --mac-source ! 00:50:FC:23:2D:D7 -j DROP
79
Cours Scurit des rseaux
Exercice
80
Crer les rgles suivantes :
1. Forwarder tout paquet venant de vmnet1 vers vmnet2
2. Forwarder tout paquet relatif une connexion dj tabli ou en
rapport avec une connexion dj tabli de vmnet2 vers vmnet1
3. Autoriser tout paquet input (vmnet2) relative une connexion dj
tabli ou en rapport avec une connexion dj tabli
4. Autoriser tout input au Firewall du rseau interne et de linterface
locale

Cours Scurit des rseaux
Solution
1. iptables -A FORWARD -i vmnet1 -o vmnet2 -j ACCEPT
2. iptables -A FORWARD -i vmnet2 -o vmnet1 -m state --
state ESTABLISHED,RELATED -j ACCEPT
3. iptables -A INPUT -i vmnet2 -m state --state
ESTABLISHED,RELATED -j ACCEPT
4. iptables -A INPUT -i vmnet1 -s 0/0 -d 0/0 -j ACCEPT
iptables -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT
81
Cours Scurit des rseaux
82
X est
scuris
Y croit X
SYN
SYN/ACK
ACK
Connect

You might also like