Vous êtes sur la page 1sur 11

PROJET D ADMINISTRATEUR SOUS LINUX

THEME : INSTALLATION ET CONFIGURATION D’UN PARE-FEU LINUX :


CAS DE NETFLITER AVEC IPTABLE5

MEMBRES DU GROUPE 3 :

-BARRY Elnour

-BOUGMA Cedric

-DALLA Yasmine

-GALBANE Steeve

-ILBOUDO Asmao

-TIEMTORE Kevin

-SAKANDE Aboubacar

-TRAORE Imrane
Professeur : M.LAHINIRIKO

PLAN

 I-INTRODUCTION
 II-DEFINITION DES MOTS CLÉS
 III- OVERVIEW SUR IPTABLES
 1-TABLES
 2-COMMANDES
 IV-INSTALLATION
 V-CONFIGURATION
 VI-TEST
 CONCLUSION
INTRODUCTION

INTRODUCTION

Dans ce projet, nous allons articuler notre travail autour du thème qui nous as été imposé
qui est l’installation et la configuration du pares-feux populaires pour les systèmes Linux :
Netfilter . Nous allons essayer de montrer de quelle manière protéger un système en
configurant des règles de filtrage pour gérer le trafic réseau entrant et sortant. Il est nous
sera bénéfique dans le sens où il nous permettra en tant qu administrateur Linux de
renforcer la sécurité de notre système

II-DEFINITION DES MOTS CLÉS

PARE-FEU : Selon Wikipédia <<un pare-feu est un logiciel et/ou un matériel permettant de
faire respecter la politique de sécurité du réseau, celle-ci définissant quels sont les types de
communications autorisés sur ce réseau informatique.>>

Autrement dit en ce qui nous concerne nous dirons qu un pare-feu est un système de
sécurité de réseau informatique qui limite le trafic internet entrant, sortant ou à l’intérieur
d’un réseau privé.

NETFLITER : Selon Wikipédia<< NETFILTER est un cadriciel (Framework) implémentant un


pare-feu au sein du noyau Linux à partir de la version 2.4 de ce dernier. >>

En ce qui nous concerne nous dirons que NETFLITER c est un élément essentiel de la
sécurité réseaux sous linux permettant de gérer et de filtrer le réseau. Il permet de filtrer
les paquets en fonction de l’adresse IP source et de destination, le Protocol, le type de
paquet. Il faut noter aussi qu il est intégré dans le noyau linux
IPTABLES : Selon wikipedia iptables << est un logiciel libre de l’espace utilisateur linux grâce
auquel l’administrateur système peut configurer les chaines et règles dans le pare-feu en
espace noyau (et qui est compose par des modules NETFILTER).

En d autre termes, iptables est un pare-feu sous linux représentant une interface en ligne
de commande configuré pour gérer les flux de connexions (entrant ou sortant) en fonctions
de cl adresse IP, le port source et de destination, le protocole, le type de paquet etc....

III- OVERVIEW SUR IPTABLES

1- LES TABLES

On distingue 4 types de table pour Ubuntu

TABLE EXPLICATION
NAT La commande "nat" sous Linux est utilisée pour configurer et gérer les
règles de traduction d'adresses réseau, permettant notamment de
masquer les adresses IP internes d'un réseau privé derrière une
adresse IP publique unique et de sécuriser le trafic réseau en autorisant
ou en bloquant le trafic entrant ou sortant.
Elle utilise les chaines PREROUTING, POSTROUTING, OUTPUT avec les
règles DNAT, MASQUERADE, REDIRECT
MANGLE Cette table sert à transformer les paquets. La fonction "MANGLE" sous
Linux permet de modifier les paquets de données en transit à travers
un système Linux pour contrôler leur durée de vie, leur qualité de
service et leur priorité, et pour les marquer pour un traitement
ultérieur par d'autres outils de pare-feu. La table MANGLE permet
d’utiliser toutes les chaines avec les règles MARK, TTL, TOS, TCPMSS
FILTER . La commande "FILTER" sous Linux permet de filtrer les paquets de
données en transit à travers un système Linux en appliquant des règles
de filtrage pour contrôler l'accès au réseau et la sécurité du système. La
table FILTER devrait être exclusivement consacrée à filtrer les paquets.
La table FILTER accepte les chaines suivantes : INPUT, OUTPUT,
FORDWARD avec les règles ACCEPT, DENY, DROP
RAW La commande "RAW" sous Linux permet d'accéder directement aux
paquets de données brutes en transit à travers un système Linux pour
la capture,
L’analyse et la manipulation de ces paquets, sans interprétation
supplémentaire.

2-EXPLICATION DES CHAINES

OUTPUT : Il désigne l’ensemble des paquets qui sont émis du pare-feu.

INPUT : Il désigne l’ensemble des paquets qui s’adressent directement au pare-feu.

FORWARD : Il désigne l’ensemble des paquets qui traversent le pare-feu

PREROUTING : C’est l’ensemble des paquets reçu par le pare-feu.

POSTROUTING : C’est l’ensemble des paquets reçu par le pare-feu qui seront
modifies avant de le traverser

3-COMMANDES
Voici quelques commandes que nous avons lister sous forme de tableaux :

Commande Exemple Explication

-A, --append iptables -A INPUT … Cette commande ajoute une règle à la fin
d'une chaîne. La règle sera donc placée en
dernière position dans la table de règles,
et par conséquent vérifiée en dernier,
sauf si vous ajoutez par la suite des règles
supplémentaires.
-D, --delete iptables -D INPUT -- Cette commande supprime une règle dans
dport 80 -j DROP, une chaîne. Il existe deux moyens de le
iptables -D INPUT 1 faire ; soit en précisant la règle complète
(comme dans le premier exemple), soit en
indiquant le numéro de la règle que vous
visez.
-R, --replace iptables -R INPUT 1 -s Cette commande remplace la règle
192.168.0.1 -j DROP présente à la ligne indiquée. Elle
fonctionne comme la commande --delete,
mais au lieu de supprimer complètement
la règle, elle la remplace par une nouvelle.
-I, --insert iptables -I INPUT Cette commande insère une règle
1 --dport 80 -j ACCEPT quelque part dans une chaîne. La règle est
insérée à l'emplacement donné par le
numéro spécifié. En l'occurrence,
l'exemple précédent insère dans la chaîne
INPUT la règle numéro 1, qui devient ainsi
la toute première règle de la chaîne.
-L, --list iptables -L INPUT Cette commande dresse la liste des
entrées de la chaîne donnée. Dans
l'exemple précédent, on liste toutes les
règles de la chaîne INPUT. Il est aussi
possible de ne spécifier aucune chaîne.
Dans ce cas, la commande listera toutes
les chaînes de la table spécifiée (pour
spécifier la table, voir la section Les
tables). La sortie exacte dépend des
autres options envoyées à l'interpréteur,
par exemple les options -n et -v, etc.
-F, --flush iptables -F INPUT Cette commande vide la chaîne
donnée de toutes ses règles. Elle équivaut
à effacer les règles une à une, mais se
révèle un peu plus rapide. Appelée sans
option, cette commande revient à
supprimer toutes les règles de toutes les
chaînes dans la table spécifiée.
-Z, --zero iptables -Z INPUT Cette commande permet de mettre à zéro
tous les compteurs dans une chaîne
spécifique ou dans toutes les chaînes. Si
vous utilisez l'option -v avec la commande
-L, vous afficherez le compteur de paquets
au début de chaque champ.
-N, --new-chain iptables -N allowed Cette commande stipule au noyau de
créer une nouvelle chaîne avec le nom
indiqué dans la table spécifiée. Dans
l'exemple ci-dessus, on crée une chaîne
nommée allowed. Notez qu'aucune
chaîne ou cible de ce nom ne doit
préalablement exister.
-X, --delete-chain iptables -X allowed Cette commande efface de la table la
chaîne spécifiée. Pour que cette
commande fonctionne, il ne doit subsister
aucune règle faisant référence à la chaîne
à effacer. Autrement dit, vous devez
remplacer ou supprimer toutes les règles
qui pourraient se référer à la chaîne
concernée avant de pouvoir l'effacer.
-P, --policy iptables -P INPUT Cette commande indique au noyau de
DROP configurer une cible par défaut - ou une
stratégie - sur une chaîne. Ceci
conditionne le comportement par défaut
de la chaîne. Les paquets qui n'établissent
de correspondance avec aucune règle
sont contraints de suivre la stratégie de la
chaîne. Les seules cibles autorisées sont
DROP et ACCEPT (il pourrait y en avoir
d'autres, écrivez-moi si c'était le cas).
-E, --rename-chain iptables -E allowed La commande -E stipule à iptables de
disallowed modifier le nom d'une chaîne du premier
nom vers le second. Dans l'exemple
fourni, on change le nom de la chaîne
allowed en disallowed. Remarquez que
ceci n'affecte en rien le fonctionnement
actuel de la table. C'est juste une
modification cosmétique du contenu de la
table.
IV-INSTALLATION

Pour configurer Netfilter sur un serveur Linux en utilisant IPTables et configurer les règles
de pare-feu pour sécuriser notre serveur et notre réseau, il est nécessaire avant tout de
s’assurer que les paquet NETFILTER et IPTABLES sont installer.

Le paquet Netfilter : Il est généralement inclus dans la plupart des distributions Linux, mais
nous pouvons l'installer en utilisant le gestionnaire de paquets de notre distribution.

La notre étant basée sur Debian ou Ubuntu, nous pouvons utiliser la commande suivante
pour installer les outils de gestion Netfilter:  sudo apt-get install netfilter-persistent 

Le paquet Iptables : C'est l'interface en ligne de commande pour configurer Netfilter,


v=nous devons donc l'installer sur notre serveur. Il est également inclus dans la plupart des
distributions Linux

La commande pour installer le paquet Iptables utilisée Pour Ubuntu et Debian est:

apt-get install iptables

Après l'installation du paquet Iptables, il est possible de configurer les règles de filtrage et
de manipulation de paquets en utilisant les commandes Iptables.

V- CONFIGURATION

Nous allons tester quelques commandes pour la pratique.

La commande suivante permet de d’afficher toutes les règles de iptables.

Sudo iptables -L

Pour bloquer toutes les requêtes HTTP on peut utiliser les commandes suivantes :

sudo iptables -A INPUT -p tcp --dport 80 -m conntrack –cstate NEW, ESTABLISHED -j REJECT

sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack –cstate ESTABLISHED -j REJECT


sudo iptables -A FORWARD -p tcp --dport 80 -m conntrack –cstate NEW, ESTABLISHED -j
REJECT

Pour bloquer les requêtes FTP, on a les commandes suivantes :

sudo iptables -A INPUT -p tcp --dport 21 -j REJECT

sudo iptables -A OUTPUT -p tcp --sport 21 -j REJECT

sudo iptables -A FORWARD -p tcp --dport 21 -j REJECT

Pour bloquer toutes les requêtes SSH, on peut utiliser les commandes suivantes :

sudo iptables -A INPUT -p tcp --dport 22 -j REJECT

sudo iptables -A OUTPUT -p tcp --sport 22 -j REJECT

sudo iptables -A FORWARD -p tcp --dport 22 -j REJECT

VI-TEST

Quelques tests pour vérifier si votre pare-feu fonctionne bien.


- Pour bloquer le trafic icmp entrant :

Sudo iptables -A INPUT -p icmp -j DROP

Après cette commande, vous ne seriez plus en mesure d’effectuer des pings vers votre
serveur.

- Pour bloquer le trafic sortant,

 Sudo iptables -A OUTPUT -p icmp -j DROP

Pour bloquer le trafic sortant vers une adresse IP spécifique, on tape la commande
suivante :

Sudo iptables -A INPUT -s 192.168.16.16 -j DROP

Pour autoriser un trafic, on supprime d’abord la règle qui la bloque e en tapant la


commande suivante ; Par exemple pour autoriser le icmp que nous avons bloquer
précédemment :

Sudo iptables -D INPUT -p icmp -j DROP

Ensuite, on tape la commande qui ajoute une nouvelle règle d’autorisation :

Sudo iptables -A INPUT -p icmp -j ACCEPT

CONCLUSION

En somme, nous retenons qu'iptables est un outil très flexible avec lequel nous pouvons
configurer un pare-feu pour un réseau donné. Dans ce tutoriel, nous avons traité quelques
ports spécifiques, mais rien ne nous empêche de développer des firewalls plus complexes.
Mais le logiciel iptables a une limitation en ce sens qu'il ne peut gérer que le trafic IPv4.

Vous aimerez peut-être aussi