Académique Documents
Professionnel Documents
Culture Documents
CHAPITRE 4
Par : Ali GHORBEL
Ali.ghorbel@esprit.tn
1
Plan
Introduction
Défense en profondeur
Les menaces réseaux
Firewall/Pare-feu
● Fonctionnement d'un firewall
● Architecture et déploiement d'un firewall
● La zone DMZ
● Types de firewall
Introduction
Internal devices
debout. Host-based
Antivirus
Une interface pour le réseau externe ou Une interface pour le réseau à protéger
Internet (réseau interne ou LAN)
Firewall
Internet
Contrôle du trafic
Journalisation
Logiciel Appliance
Types de firewalls
Types de firewalls
Types de firewalls
Firewall
Un firewall logiciel peut être installé sur n'importe quelle machine et
avec n'importe quel système d'exploitation pourvu que:
La machine soit suffisamment puissante pour traiter le trafic réseaux
la traversant.
Aucun autre service que celui du firewall ne fonctionne sur le serveur.
Le système soit sécurisé.
Internet
193.1.1.0
Règle1:
Toute connexion depuis le réseau interne (193.1.1.0) vers le serveur distant 10.1.1.1 est bloquée.
Règle2:
Seulement les connexions HTTP (TCP, port 80) depuis le réseaux interne (193.1.1.0), sont permises.
Règle3:
Seulement le trafic web en réponse à une connexion déjà initiée du réseau interne sera accepté de l’extérieur.
Règle4: Interdiction par défaut.
Architecture de Firewall (1/3)
Bastion host est une machine conçue et configurée pour protéger
les ressources réseaux des attaques externes.
Cette machine fournit un point d'entrée et de sortie unique vers
Internet ou réseau externe.
Elle comporte deux interfaces:
Interface publique connecté edirectement vers l'Internet.
Interface privée connectée vers le réseau local.
Bastion Host
12
Architecture de Firewall (3/3)
Multi-homed firewall réfère à une architecture de deux
réseaux ou plus.
Multi-homed firewall est équipé de trois interfaces réseaux ou
plus permettant de subdiviser le réseau en se basant sur les
objectifs de sécurité spécifiques de l'organisation.
Chaque interface est connectée à un segment réseau séparé.
DMZ
eth0
wan0 eth1
Internet
Firewall LAN
172.16.1.0/24
C'est quoi une zone DMZ?
Le type du paquet et le
numéro de port donnent
une indication sur le
type de service transporté.
Le tableau ci-dessous donne des
exemples de règles de pare-feu :
Packet Filter Firewall /Filtrage Simple
Les limites:
Server-Based Firewall
• Protéger les serveurs d'applications
individuels
• Protéger les fichiers
26
Exemples de déploiement de Firewall
Honeypots
Firewall
Switch
LAN
Une formation
Honeypots
Honeypots
Avantages
Désorienter le hacker
Identifier des menaces
Facilité de déploiement
Identification de 0-day
Si le paquet entrant est destiné à cette machine, le paquet passe dans la chaîne
INPUT.
Si le forwarding est autorisé et que le paquet est destiné à un autre réseau, le paquet
va directement à la chaîne FORWARD.
La chaîne OUTPUT concerne les paquets qui ont été créés par la machine locale.
iptables
Les règles de filtrage déterminent le devenir des paquets grâce à une police qui
peut être : ACCEPT, REJECT, DENY, MASQ ou encore une redirection vers une
chaîne.
Les règles sont groupées en chaînes qui peuvent être celles de base : input,
forward, output ou d’autres définies par l’utilisateur.
Les paquets entrants dans le pare-feu arrivent automatiquement dans la chaîne
input. Ceux qui sont émis par le pare-feu, passent dans la chaîne output. Et ceux
qui sont retransmis passent par la chaîne forward.
Un paquet qui entre dans une chaîne teste toutes les règles de la chaîne jusqu’à
en trouver une qui lui corresponde. Et il obéit à la police spécifiée par la règle
trouvée.
Si aucune règle s’appliquant au paquet n’a été trouvée, alors c’est la police par
défaut de la chaîne qui est utilisée pour savoir que faire de ce paquet.
Il est donc important, avant de créer les règles, de définir la police par défaut
d’une chaîne.
iptables
Exemple:
Vu du Pare-feu, Le trafic
• Internet => local est FORWARD
• local => Internet est FORWARD
Une requête
• "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
iptables
Chacune de ces chaînes peut donner plusieurs réponses possibles pour
chaque paquet:
Accepter ACCEPT
Rejeter REJECT (on signale le rejet à l'expéditeur)
Supprimer DROP (on l'efface et on ne répond rien)
L'administrateur peut créer des chaînes personnalisées en plus des 3
chaînes par défaut qui lui permettent d'organiser ses règles de filtrage de
manière plus propre et optimisée.
Les règles reposent sur des critères de sélection très variés :
Machine source; Port source
Machine destination; Port destination
Interface; Protocole; Drapeaux spéciaux du paquet TCP
Types et codes spéciaux du paquet ICMP
iptables
Chaînes
Création (N)
vidage (F)
suppression (X)
affectation d’une police (P)
affichage (L)
Règles
ajout en fin de liste (A), insertion ordonnée (I)
suppression (D)
remplacement (R)
test (C)
Iptables
Protection de la machine locale
# iptables -L -v
-L : liste les règles
-v demande le mode 'verbeux‘
Dans cet exemple netfilter accepte donc tous les paquets, le firewall est en mode passif.
iptables
Par défaut iptables utilise la table ‘filter' si on ne lui spécifie 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 règles de la chaîne INPUT
-p tcp => pour les paquets qui utilisent les protocole TCP
-j DROP => l'action : DROP les paquets (on efface les paquets),
# iptables -L -v
iptables
# iptables -D INPUT 1
efface la première règle de la chaîne INPUT.
# iptables -L -v --line-numbers
voir les numéros de chaque règle lorsqu'on liste les règles
A ajout,
D supprime,
I insère,
L liste
F efface toutes les règles mais pas la stratégie par défaut,
iptables
Exemple
Exemple
Interdire accès depuis l’extérieur (eth1)
Autoriser accès ssh (administratif)
Autoriser voie de retour
Règles
#iptables -A INPUT -i eth1 -j DROP
#iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT
#iptables -I INPUT 2 -m state --state ESTABLISHED -
j ACCEPT
Suivi de connexion
Client FTP (port source aléatoire '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 données, par ex 3084)
Serveur FTP (port 20) -----> Client FTP (port 3084) (le serveur transfert des données vers
le client)
Exemple: FTP