Vous êtes sur la page 1sur 9

Faculté des Sciences - Tétouan

2019/2020
Filière : LP ARSSI
TP : Sécurité des Réseaux
Firewall

Vous devrez rédiger un compte-rendu (un fichier portera votre nom) qui comportera les réponses
aux questions avec éventuellement des captures d’écran, et de l’envoyer par email.

1. Objectif du TP :
Installation d’un firewall sur une machine Linux en tant qu’un intermédiaire entre deux réseaux
différents pour prendre les mesures de sécurité nécessaire.
 Les taches que vous allez effectuer se résume comme suite :
 Configuration des paramètres réseaux des trois machines virtuelles local (serveur), distant
(client) et firewall
 Ensemble de tests avec la configuration par défaut du firewall, des protocoles ICMP et FTP
 Configuration du Firewall Iptables.
 Tester les configurations effectuées avec les protocoles ICMP et FTP.

2. Espace de travail :
Vous allez travailler avec 3 machines virtuelles, une sous Windows (client) et 2 autres sous Linux.
Le réseau étudié dans ce TP est représenté sur le schéma ci-dessous :

Après la configuration des machines vous allez :


 essayer de pinger entre les différentes interfaces pour voir si tout est bien.
 définir les passerelles par défaut et activer le routage au niveau de la machine Firewall :
o Définition du Passerelle pour la machine Local
o Définition du Passerelle pour la machine à distant
o Activation du routage au niveau de la machine Firewall
Commandes Utiles :

 Configuration des adresses IP des interfaces par la commande ifconfig


Chaque interface est identifiée par un nom :

 eth0 : première carte Ethernet


 lo : loopback ou interface de bouclage.
Liste des interfaces réseau configurées :
Ifconfig
Pour configurer une interface réseau :
Ifconfig interface adresse_IP netmask masque_de_ réseau up
Exemple :
ifconfig eth0 192.168.10.1 netmask 255.255.255.0 up

 Configuration de la table de routage par la commande route


Affichage de la table de routage :
route –n
Pour ajouter une entrée de réseau à la table de routage :
route add –net adresse_réseau_IP netmask masque_de réseau dev interface
Exemple :
route add –net 127.0.0.0 netmask 255.0.0.0 dev lo
route add –net 192.168.10.0 netmask 255.255.255.0 dev eth0
Pour ajouter un routeur par défaut à la table de routage :
route add default gw adresse_IP_routeur
Exemple :
Route add default gw 192.168.10.1
 Activer le routage des paquets IP (IP Forward)
Vérifier l'état du routage IP :

Vérifiez d'abord l'état de l'IP Forwarding en tapant la commande suivante :

cat /proc/sys/net/ipv4/ip_forward

Ou

sysctl net.ipv4.ip_forward

- Si la commande retourne la valeur 0, c'est que l'IP Forwarding n'est pas activé.
- Et si la commande retourne la valeur 1, c'est que l'IP Forwarding est activé.

Activer ou désactiver le routage IP :

Pour l'activer, il suffit de taper la commande :


echo 1 > /proc/sys/net/ipv4/ip_forward

Ou

sysctl -w net.ipv4.ip_forward=1

Pour le désactiver, il suffit de taper la commande :


echo 0 > /proc/sys/net/ipv4/ip_forward

Ou

sysctl -w net.ipv4.ip_forward=0

3. Configuration du Firewall « Firewall » :


3.1. Iptables
3.1.1. Introduction
iptables est un logiciel libre de l’espace utilisateur Linux grâce auquel l’administrateur système peut
configurer les chaînes et règles dans le pare-feu en espace noyau (et qui est composé par des modules
Netfilter).
Différents programmes sont utilisés selon le protocole employé : iptables est utilisé pour le protocole
IPv4, ip6tables pour IPv6, arptables pour ARP (Address Resolution Protocol) ou encore ebtables,
spécifique aux trames Ethernet.
Site officiel : http ://netfilter.org/
3.1.2. Principe
Iptables/Netfilter fonctionne selon un système de tables :

 Les tables sont composées d’un nombre arbitraire et non limité de chaînes.
 Une chaîne est une suite linéaire de règles.
 Une règle est constituée d’un motif (pattern ) destiné à reconnaître des paquets selon un
nombre indéterminé de critères (matches) et d’une décision, appelée cible (target ), à prendre
en cas de reconnaissance du paquet.
Il existe cinq tables dont les trois principales sont :
La table FILTER : elle permet les opérations de filtrage IP. Les paquets y sont acceptés (ACCEPT),
refusés (DROP ou REJECT avec renvoi d’un paquet erreur), logués (LOG) ou encore mis en queue
(QUEUE), mais jamais modifiés. Cette table possède trois chaînes de base : INPUT, FORWARD et
OUTPUT.
La table NAT (Network Address Translation) : elle permet les opérations de traduction d’adresses.
Cette table contient les chaînes : PREROUTING, INPUT, OUTPUT et POSTROUTING. Cette table dispose
de cibles propres (SNAT, DNAT, MASQUERADE et REDIRECT) pour la mise en œuvre de NAT.
La table MANGLE : elle permet d’altérer les en-têtes des paquets. La table MANGLE modifie la
structure qui représente le paquet dans la couche réseau du noyau. Il est donc possible d’agir sur les
en-têtes mais aussi sur les champs des structures utilisées par le système. Cette table possède les cinq
chaînes de base : PREROUTING, INPUT, FORWARD, OUTPUT et POSTROUTING

3.1.3. Installation
Il suffit d’installer le paquet iptables, mais normalement celui-ci est déjà installé :
3.1.4. Configuration par défaut
Par défaut, iptables est réglé sur une politique permissive (open config ) où on laisse tout passer (policy
ACCEPT).
On rappelle que la table FILTER contient trois chaînes de base :

 INPUT : les paquets à destination de la machine


 FORWARD : les paquets traversant (routés par) la machine
 OUTPUT : les paquets émis par la machine

Tout paquet traité par la table FILTER traversera une et une seule de ces trois chaines

3.1.5. Tests
On interdit tout ce qui arrive sur l’interface lo (loopback ) :
On interdit tout ce qui sort de l’interface lo (loopback ) :
3.2. Manipulations
Vous allez afficher la configuration du firewall actuelle de la machine Firewall grâce à la commande
Iptables :
Vous allez analyser les paramètres attribués aux chaînes de filtrage :
Initialisation du Firewall :
Pour initialiser le firewall il faut initialiser la table filter.

Vous initialisez la table filter avec : #iptables –t filter –F

Vous affichez ensuite la table pour vérifier l’initialisation.


Politique de base du Firewall :
Effacer (flush) toutes les règles existantes pour les trois tables FILTER, NAT et MANGLE :

# iptables -F
# iptables -t nat -F
# iptables -t mangle –F

Effacer toutes les chaînes “utilisateurs”.

# iptables -X
# iptables -t nat -X
# iptables -t mangle –X

Vous allez définir la politique de base du Firewall pour ne rien laisser entrer ou sortir c’est-à-dire faire
pointer les trois chaînes vers DROP.
Pour cela vous allez utiliser les commandes suivantes :

#iptables –t filter –P INPUT DROP


#iptables –t filter –P OUTPUT DROP
#iptables –t filter –P FORWARD DROP
# iptables -L
Vous testez la transition des paquets ICMP pour voir les changements après la mise en place de la
politique par défaut DROP :

 De la machine distante vers la machine locale.


 De la machine locale vers la machine distante.
Autorisation de circulation des paquets :
Vous allez autoriser la machine « local » à effectuer un Ping sur la machine « Distant ».

#iptables -A FORWARD –p icmp –s IP_machine_locale –d IP_machine_distante –i eth0 –o eth1 –icmp-


type echo-request –j ACCEPT
#iptables -A FORWARD –p icmp –s IP_machine_distante –d IP_machine_locale –o eth0 –i eth1 –icmp-
type echo-reply –j ACCEPT

Vous allez Autoriser maintenant les connexions ssh.

# iptables -A INPUT -p TCP --dport ssh -j ACCEPT

Vous allez Interdire le trafic entrant vers le serveur http.

# iptables -A INPUT -p TCP --dport http -j DROP