SlideShare une entreprise Scribd logo
1  sur  72
Les FIREWALL
A. EL FERGOUGUI
Qu’est ce qu’un firewall ?
A. EL FERGOUGUI 2
filtres IPTABLES
 Un firewall est essentiellement un dispositif
de protection qui constitue un filtre entre un
réseau local et un autre réseau non sûr tel
que l’Internet ou un autre réseau local.
Objectifs d’un firewall
A. EL FERGOUGUI 3
filtres IPTABLES
Les firewalls visent, au niveau de la sécurité,
deux objectifs:
1. Contrôler et protéger les hôtes du réseau
local: Contre la divulgation non autorisée
d’informations sensibles
2. Protéger les serveurs Internet
 Contre des commandes jugées dangereuses
associées à des services du type « telnet » et «
sendmail »
 Contre la modification ou la suppression non
autorisée de fichiers vitaux pour le système
Principes de base d’un firewall
A. EL FERGOUGUI 4
filtres IPTABLES
 Le moindre privilège :
 Octroyer le moindre privilège aux utilisateur (processeurs) pour
réaliser leur tâches.
==>Objectif: limiter les conséquences d'une vulnérabilité ou d'une
erreur.
 La défense en profondeur :
 Utilisation de plusieurs mécanismes de protection redondants
==>Objectif : Garder une défense efficace même si un des
mécanismes de défense devait être vulnérable ou mal configuré
(ex. désactivé les services non utilisés)
 Le goulet d'étranglement
 Le trafic doit passer par un seul point : le FireWall
==> Objectif : Toute attaque doit passer par un chemin connu où il
peut être bloquée (ex. utilisation de modems)
Architecture générale d’un Firewall
A. EL FERGOUGUI 5
filtres IPTABLES
Filtrage de paquet IP
A. EL FERGOUGUI 6
filtres IPTABLES
Filtrage selon les informations de l’en-tête du
paquet IP
 Type de paquets (TCP, UDP, ….)
 @ source
 @destination
 Port de destination (TCP, UDP, ….)
 Etc..
Filtrage réseau (Network level Firewalls)
 Fonctionnement:
Chaque paquet est comparé à un certain nombre
de règle (filtres: type de paquet (tcp/udp), port,
@sources, @déstination ), puis est transmis ou
rejeté
A. EL FERGOUGUI 7
filtres IPTABLES
Filtrage réseau (Network level Firewalls)
A. EL FERGOUGUI 8
filtres IPTABLES
 Avantages
 C’est un firewall transparent
 Apporte un premier degré de protection s’il
est utilisé avec d’autres firewall
 Inconvénients
 Définir des filtres de paquets est une tâche
complexe
 Le débit diminue lorsque le nombre de filtres
augmente
Filtrage applicatif (Application level
Firewalls)
 Permet un contrôle d’accès beaucoup plus précis.
 Il est réalisé par l’examen de ports de services http ou
FTP par exemple
A. EL FERGOUGUI 9
filtres IPTABLES
Filtrage applicatif (Application level Firewalls)
A. EL FERGOUGUI 10
filtres IPTABLES
 Avantages
 Les paquets entrants et sortants ne peuvent accéder
aux services pour lesquels il n’y a pas de proxy
 Permet de filtrer des commandes spécifiques (ex:
GET ou POST pour HTTP)
 Le plus haut degré de sécurité
 cache les machines du réseau privé, Peut être utilisé
avec des adresses IP réservés et non enregistrés
 Inconvénients
 Les performances les plus faibles
 N’est pas transparent pour les utilisateurs
Firewall : plusieurs configurations
A. EL FERGOUGUI 11
filtres IPTABLES
 Le terme de « firewall » regroupe tous les
systèmes de sécurité qui fonctionnent en
connexion avec un réseau
 La philosophie de base du coupe-feu:
 Tout ce qui n’est pas expressément interdit est
autorisé
 Tout ce qui n’est pas expressément autorisé est
interdit
Firewall avec routeur de filtrage
(routed firewall)
A. EL FERGOUGUI 12
filtres IPTABLES
NAT (Network Address Translation)
A. EL FERGOUGUI 13
filtres IPTABLES
 Une passerelle (routeur/gateway) est dotée de deux
interfaces :
 L'une d'elle appartient au réseau N°1
 La deuxième interface est connectée au deuxième réseau
(avec une adresse faisant partie des adresses du 2ème
réseau).
 Tout le trafic traversant le passerelle et orienté vers le 2ème
réseau est doté de l'adresse IP source de 2ème interface
 Tout le trafic entrant vers le 1er réseau doit être doté de
l'adresse IP de destination la 2ème interface
 Utilisation des adresses non routables ou non enregistrées
[10.0.0] ou [172.16.0.0 à 172.31.0.0] ou [192.168.0.0]
NAT: principe
A. EL FERGOUGUI 14
filtres IPTABLES
Firewall avec une zone DMZ (Zone Démilitarisée)
A. EL FERGOUGUI 15
filtres IPTABLES
 Une zone démilitarisée (DeMilitarised Zone) est une zone de réseau
sur laquelle on peut connecter des serveurs qui ont besoin d’être
mis séparément du réseau interne et accessible de l'extérieur
 Une zone DMZ n’a de signification que le FireWall possède au
moins deux interfaces réseaux (il est conseillé d'en avoir 3)
 Le traffic de/vers la zone DMZ peut être schématisé comme suit :
 Traffic du réseau externe vers la DMZ autorisé ;
 Traffic du réseau externe vers le réseau interne interdit ;
 Traffic du réseau interne vers la DMZ autorisé ;
 Traffic du réseau interne vers le réseau externe autorisé ;
 Traffic de la DMZ vers le réseau interne interdit ;
 Traffic de la DMZ vers le réseau externe refusé.
Firewall iptables
A. EL FERGOUGUI
netfilter
A. EL FERGOUGUI 17
filtres IPTABLES
 effectuer des filtrages de paquets,
principalement pour assurer des fonctions de
Firewall: interdire , acepeter..
 effectuer des opérations de NAT (Network
Address Translation)
 effectuer des opérations de marquage des
paquets, pour leur appliquer un traitement
spécial
chaines et règles
A. EL FERGOUGUI 18
filtres IPTABLES
 Une chaine est une pile de règles
 Chaque règle d'une chaine est composée de
deux parties: (un critère et une politique)
 Le critère précise les cas d'application
 Le politique précise l'action accomplie
 Si le critère ne s'applique pas au paquet, on
examine la règle suivante
==> l'ordre des règles est important
 Si aucune règle ne s'applique on examine la
politique associée à la chaine.
tables et leurs chaînes
A. EL FERGOUGUI 19
filtres IPTABLES
Il existe trois tables qui vont servir à contenir
des règles de "filtrage":
 FILTER: (INPUT, OUTPUT, FORWORD)
 NAT: (PREROUTING, POSTROUTING,
OUTPUT)
 MANGLE: (PREROUTING, OUTPUT)
Les différentes chaines prédéfinies
A. EL FERGOUGUI 20
filtres IPTABLES
 INPUT: le trafique destiné à la machine locale
 OUTPUT: le trafique sortant de la machine
vers le réseau
 FORWARD: trafique qui transite par la
machine
 PREROUTING: cette chaine peut modifier un
trafique dès qu'il entre dans le système avant
qu'il soit routé
 POSTROUTING: cette chaine peut modifier un
trafique mais après le routage
La table "Filter"
A. EL FERGOUGUI 21
filtres IPTABLES
 La chaîne INPUT.
Cette chaîne décidera du sort des paquets entrant
localement sur l'hôte.
 La chaîne OUTPUT.
Ici, ce ne sont que les paquets émis par l'hôte local
qui seront filtrés
 La chaîne FORWARD.
Enfin, les paquets qui traversent l'hôte, suivant les
routes implantées, seront filtrés ici.
La table NAT
A. EL FERGOUGUI 22
filtres IPTABLES
 La chaîne PREROUTING.
Permet de faire de la translation d'adresse de destination. Cette
méthode est intéressante si l'on veut faire croire au monde
extérieur, par exemple, qu'il y a un serveur WEB sur le port 80
de la passerelle, alors que celui-ci est hébergé par un hôte du
réseau privé, sur le port 8080.
 La chaîne POSTROUTING.
Elle permet de faire de la translation d'adresse de la source,
comme du masquage d'adresse, la méthode classique pour
connecter un réseau privé comme client de l'Internet, avec une
seule adresse IP "officielle".
 La chaîne OUTPUT.
Celle-ci va permettre de modifier la destination de paquets
générés localement (par la passerelle elle-même).
La table MANGLE
A. EL FERGOUGUI 23
filtres IPTABLES
 Cette table permet le marquage des paquets
entrants (PREROUTING) et générés
localement (OUTPUT).
A. EL FERGOUGUI 24
filtres IPTABLES
Les politiques des règles (Les
chaînes)
A. EL FERGOUGUI 25
filtres IPTABLES
Les chaînes sont des ensembles de règles que nous allons écrire
dans chaque table.
 ACCEPT
Les paquets qui satisfont aux critères sont acceptés, ils
continuent leur chemin dans la pile,
 DROP
Les paquets qui satisfont aux critères sont rejetés, on les oublie,
on n'envoie même pas de message ICMP .
 LOG
C'est une cible particulière qui permet de tracer au moyen de
syslog les paquets qui satisfont aux critères.
 REJECT (similaire à DROP, mais avec envoi d'un message
d'erreur ICMP à la source du paquet rejeté)
 RETURN, REDIRECT, SNAT, DNAT, MASQUERADE...
Cibles de la table mangle
A. EL FERGOUGUI 26
filtres IPTABLES
 TOS
 TTL
 MARK
Cibles de la table nat
A. EL FERGOUGUI 27
filtres IPTABLES
 DNAT
 SNAT
 MASQUERADE
Le DNAT ou NAT Destination
A. EL FERGOUGUI 28
filtres IPTABLES
 La chaîne PREROUTING (avant routage) permet
de modifier que l'adresse de destination mais
conserve l'adresse source.
C'est ce qu'on appel faire du DNAT (NAT
destination).
Dans cette exemple, on va redireger le trafic en
destination du réseau "195.111.222.0" vers le
réseau "193.168.1.0".
iptables -t nat -A PREROUTING -d
195.111.222.0/24 -j DNAT --to-destination
193.168.1.0/24
Le SNAT ou NAT Source
A. EL FERGOUGUI 29
filtres IPTABLES
 La chaîne POSTROUTING (après routage)
permet de modifier que l'adresse source mais
conserve l'adresse de destination.
C'est ce qu'on appel faire du SNAT (NAT
source).
Dans cette exemple, on va substituer l'adresse
source du trafic privé sortant vers l'extérieur par
une des trois adresses.
iptables -t nat -A POSTROUTING -s
193.168.1.0/24 -j SNAT --to-source 192.168.1.5-
192.168.1.8
L'IP Masquerade
A. EL FERGOUGUI 30
filtres IPTABLES
 Le principe est d'utiliser une adresse IP publique
source pour cacher derrière elle toutes les adresses
IP du réseau privé
 iptables -t nat -A POSTROUTING -s 193.168.1.0/24 -j
SNAT --to-source 192.168.1.199 est équiv à
 iptables -t nat -A POSTROUTING -s 193.168.1.0/24 -j
MASQUERADE
 On peut utilisez d'autres options, comme choisir par
rapport a votre interface réseau , ici "eth0" et au
numéro de port, dans ce cas "80".
 iptables -t nat -A POSTROUTING -o eth0
--dport 80 -j MASQUERADE
question
A. EL FERGOUGUI 31
filtres IPTABLES
SNAT vs MASQUERADE
La machine d'état
A. EL FERGOUGUI 32
filtres IPTABLES
 NEW: nouvelle connexion
 ESTABLISHED: connexion déjà établie
 RELATED : connexion avec une autre déjà
établie
 INVALID: le paquet invalide
En générale ils fonctionnent avec la
correspondance --state
Création d'une règle
A. EL FERGOUGUI 33
filtres IPTABLES
 iptables [-t table] commande
[correspondance] [cible]
Commandes
A. EL FERGOUGUI 34
filtres IPTABLES
 -A, --append : ajoute une règle
exemple: iptables -A INPUT
 -D, --delete : supprime une régle
exemple: iptables -D INPUT --dport 80 -j
DROP ou iptables –D INPUT 1
 -R, --replace
exemple: iptables -R INPUT 1 -s
192.168.0.1 -j DROP
 -I, --insert
Commandes
A. EL FERGOUGUI 35
filtres IPTABLES
 -L, --list : donne la liste des entrées de la chaîne
donnée. (–v –line-numbers )
Exemple iptables –L INPUT
 -F, --flush : vide la chaine de toutes ses règle
exemple: iptables -F INPUT
 -X, --delete-chain: supprime une chaine utilisateur
 -P, --policy: fixe la politique d'une chaine
 -p, --protocol : type de protocole,
exemple:iptables -A INPUT -p tcp
 -s, --src, --source: source du paquet
exemple: iptables -A INPUT -s 192.168.1.1
 -d, --dst, --destination
exemple: iptables -A INPUT -d 192.168.1.1
Commandes
A. EL FERGOUGUI 36
filtres IPTABLES
 -i, --in-interface
 -o, --out-interface
 --sport, --source-port : port source
iptables -A INPUT -p tcp --sport 22
 --dport, --destination-port
 --src-range : spécifier une plage d’adresses source
exempel:iptables -A INPUT -p tcp -m iprange --
src-range 192.168.1.200-192.168.2.220
 --dst-range idem pour destination
Commandes
A. EL FERGOUGUI 37
filtres IPTABLES
 --length : longueur de paquet
iptables -A INPUT -p tcp -m length --length
1400:1500
 --mac-source
iptables -A INPUT -m mac --mac-source
00:01:02:0 3:04:05
 --source-port : multiport source max 15
iptables -A INPUT -p tcp -m multiport --source-
port 22,53,80,110
 --destination-port : idem pour destination
 --port : port source = port detination
Commandes pour le protocole tcp
(-p tcp)
A. EL FERGOUGUI 38
filtres IPTABLES
 --tcp-flags [!] mark [,…]: spécifie l'ensemble
de drapeaux tcp (SYN,ACK,FIN,RST,URG)
 [!] –syn : spécifie la présence du drapeaux
SYN (! Contraire)
Commandes pour le protocole icmp
(-p icmp)
A. EL FERGOUGUI 39
filtres IPTABLES
 --icmp-type [!] type: spécifie le type de paquet
icmp
 Exemple: type= echo-request, echo-reply
Commandes
A. EL FERGOUGUI 40
filtres IPTABLES
 --state :
iptables -A INPUT -m state --state
NEW,RELATED,ESTABLISHED [,INVALID]
 --tos :
iptables -A INPUT -p tcp -m tos --tos 0x16
 --ttl
iptables -A OUTPUT -m ttl --ttl 60
Commande du module limit (-m limit)
A. EL FERGOUGUI 41
filtres IPTABLES
 Le module limit limite les informations écrites
dans le journal de bord ou limite les
messages icmp (ping)
 --limit rate : taux maximum, le taux rate est
exprimé par un nombre suivi de /seconde,
/minute, /hour, /day exemple 5/minute
 --limit-burst number : le nimbre maximum de
paquets initiaux que l'on accepte
Cible DNAT
A. EL FERGOUGUI 42
filtres IPTABLES
 --to-destination
Exemple: iptables -t nat -A PREROUTING -
p tcp -d 15.45.23.67 --dport 80 -j DNAT --
to-destination 192.168.1.1-192.168.1.10
Cible MASQUERADE
A. EL FERGOUGUI 43
filtres IPTABLES
 --to-ports
exempel: iptables -t nat -A POSTROUTING
-p TCP -j MASQUERADE --to-ports 1024-
31000
Cible SNAT
A. EL FERGOUGUI 44
filtres IPTABLES
 --to-source
Exemple
iptables -t nat -A POSTROUTING -p tcp -o
eth0 -j SNAT --to-source 194.236.50.155-
194.236.50.160:1024-32000
Cible TOS
A. EL FERGOUGUI 45
filtres IPTABLES
 --set-tos
Exemple
iptables -t mangle -A PREROUTING -p
TCP --dport 22 -j TOS --set-tos 0x10
Cible TTL
A. EL FERGOUGUI 46
filtres IPTABLES
 --ttl-set
Exemple
iptables -t mangle -A PREROUTING -i eth0
-j TTL --ttl-set 64
Exemple de scripte firewall
A. EL FERGOUGUI 47
filtres IPTABLES
 # vide tout
 IPTABLES -F
 IPTABLES -X
 IPTABLES –t nat -F
Exemple de scripte firewall
A. EL FERGOUGUI 48
filtres IPTABLES
 # DEBUT des politiques par défaut
 # Je veux que les connexions entrantes soient
bloquées par défaut
iptables -P INPUT DROP
 Je veux que les connexions destinées à être
forwardées soient bloquées par défaut
iptables -P FORWARD DROP
 Je veux que les connexions sortantes soient
acceptées par défaut
iptables -P OUTPUT ACCEPT
iptables -A INPUT -j ACCEPT -i eth1 -s 192.168.1.0/24
–d 172.16.0.0/24
iptables -A OUTPUT -j ACCEPT -o eth1 –d
192.168.1.0/24 -s 172.16.0.0/24
iptables -A INPUT -j ACCEPT -p ALL -i lo
iptables -A OUTPUT -j ACCEPT -p ALL -o lo
iptables -A FORWARD -j ACCEPT -i eth1 -o eth0 -s
192.168.1.0/24
iptables -A FORWARD -j ACCEPT -o eth1 -i eth0 -s
0/0
A. EL FERGOUGUI 49
filtres IPTABLES
 J'accepte les packets sortants d'établissement de
connexion
iptables -A FORWORD –i eth1 –o eth0 -m state --state
NEW -j ACCEPT
 Et les réponses
iptables -A FORWORD –i eth0 -m state --state
RELATED,ESTABLISHED -j ACCEPT
 J'accepte les packets entrants relatifs à des
connexions déjà établies
iptables -A INPUT -m state --state
RELATED,ESTABLISHED -j ACCEPT
A. EL FERGOUGUI 50
filtres IPTABLES
 J'autorise les connexions TCP entrantes sur
les ports 20 et 21 (pour que mon serveur FTP
soit joignable de l'extérieur)
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
 J'autorise les connexions TCP entrantes sur
le port 22 (pour que mon serveur SSH soit
joignable de l'extérieur)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
A. EL FERGOUGUI 51
filtres IPTABLES
 J'autorise les connexions TCP entrantes sur
le port 25 (pour que mon serveur de mail soit
joignable de l'extérieur)
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
 J'autorise les connexions TCP et UDP
entrantes sur le port 53 (pour que mon
serveur DNS soit joignable de l'extérieur)
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
A. EL FERGOUGUI 52
filtres IPTABLES
 J'autorise les connexions TCP entrantes sur le port 80
(pour que mon serveur HTTP soit joignable de
l'extérieur)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
 J'autorise les connexions TCP et UDP entrantes sur le
port 139 mais uniquement sur l'interface "eth1" (pour
que mon serveur Samba soit joignable depuis mon
LAN seulement)
iptables -A INPUT -p tcp --dport 139 -i eth1 -j ACCEPT
iptables -A INPUT –p udp --dport 139 -i eth1 –j ACCEPT
A. EL FERGOUGUI 53
filtres IPTABLES
 J'autorise les flux UDP entrants sur le port
1234 (pour pourvoir reçevoir les flux VideoLAN)
iptables -A INPUT -p udp --dport 1234 -j ACCEPT
 J'autorise les flux UDP envoyés sur l'adresse
multicast 224.2.127.254 et dont le port
destination est 9875 (pour recevoir les
annonces SAP)
iptables -A INPUT -p udp -d 224.2.127.254
--dport 9875 -j ACCEPT
A. EL FERGOUGUI 54
filtres IPTABLES
J'accepte le protocole ICMP (i.e. le "ping")
iptables -A INPUT -p icmp -j ACCEPT
J'accepte le protocole IGMP (pour le multicast)
iptables -A INPUT -p igmp -j ACCEPT
Pas de filtrage sur l'interface de "loopback"
iptables -A INPUT -i lo -j ACCEPT
A. EL FERGOUGUI 55
filtres IPTABLES
 La cible LOG
iptables -A INPUT -i eth0 -p icmp -j LOG
Faire un $ ping -n 1 192.168.1.34
Voir la tracer la réponse au ping (INPUT). Nous récupérons cette trace dans
/var/log/messages :
Apr 1 08:40:15 linux kernel:
IN=eth0
OUT= MAC=00:00:b4:bb:5d:ee:00:20:18:29:11:31:08:00
SRC=192.168.1.22
DST=192.168.1.34
LEN=84 TOS=0x00
PREC=0x00
TTL=255 ID=4938
PROTO=ICMP TYPE=0
CODE=0
ID=53771
SEQ=256
A. EL FERGOUGUI 56
filtres IPTABLES
 La règle par défaut pour la chaine INPUT
devient "REJECT" (il n'est pas possible de
mettre REJECT comme politique par défaut)
iptables -A INPUT -j REJECT
A. EL FERGOUGUI 57
filtres IPTABLES
 DEBUT des règles pour le PARTAGE DE
CONNEXION
 Je veux que mon système fasse office de
"serveur NAT"
 (on supose que "eth0" par est l'interface de
connexion à Internet
iptables -t nat -A POSTROUTING -o eth0 -j
MASQUERADE
A. EL FERGOUGUI 58
filtres IPTABLES
 Je veux que les requêtes TCP reçues sur le
port 80 soient forwardées à la machine dont l'IP
est 192.168.0.3 sur son port 80 (la réponse à la
requête sera forwardée au client)
 iptables -t nat -A PREROUTING -p tcp --dport
80 -j DNAT --to-destination 192.168.0.3:80
A. EL FERGOUGUI 59
filtres IPTABLES
iptables -A INPUT -j ACCEPT -p TCP -i eth0
--sport 1024: --dport 21
optables -A INPUT -j ACCEPT -p TCP -i eth0
--sport 1024: --dport 80
iptables -A INPUT -i eth1 -p ALL -j DROP
-s 10.0.0.255
Iptables –L INPUT –v –line-numbers
A. EL FERGOUGUI 60
filtres IPTABLES
Nouvelles chaines
A. EL FERGOUGUI 61
filtres IPTABLES
 Iptables –N CH_telnet
 Iptables –A CH_telnet –p tcp –s 192.168.1.14
--dport 23 –j RETURN
 Iptables –A CH_telnet –p tcp –s
192.168.1.0/24 --dport 23 –j DROP
 Iptables –A INPUT –j CH_telnet
 Iptables –A FORWARD –j CH_telnet
Limiter un trafique et Utilisation des journaux
A. EL FERGOUGUI 62
filtres IPTABLES
 La politique par défaut #iptables -P INPUT DROP
 La règle qui laisse passer 5 tentatives de connexion TCP
puis qui n'en laisse passer plus que 2 par minute
iptables -A INPUT -p tcp --syn -m limit --limit 2/minute --
limit-burst 5 -j ACCEPT
 Même chose avec les pings
iptables -A INPUT -p icmp --icmp-type ping -m limit --limit
2/minute --limit-burst 5 -j ACCEPT
 La politique par défaut #iptables -P INPUT ACCEPT
Iptables –A INPUT –d 127.0.0.1 –m limit
--limit 3/minute --limit-burst 3 –j LOG
Iptables –A INPUT –d 127.0.0.1 –j DROP
Interdiction de connexion
A. EL FERGOUGUI 63
filtres IPTABLES
 Interdire les connexion TCP destinées au
poste quelque soit leur provenance:
 Iptables –A INPUT –p tcp –s 0/0 –d
192.168.1.14 --sys -j DROP
Luter contre les attaques DoS
A. EL FERGOUGUI 64
filtres IPTABLES
 Lutter contre l'inondation de conexion(SYN-
FLOOD)
Iptables –A INPUT –p tcp --syn –m limit --limit
1/s –j ACCEPT
Lutter contre le ping de la mort
Iptables –A INPUT –p icmp --icmp-type
echo-request –m limit --limit 1/s –j ACCEPT
 Lutter contre l'UDP Flood
Iptables –A INPUT –p udp –m limit --limit 1/s –j
ACCEPT
 Pour conserver tout ce beau travail
iptables-save
Ou pour l'exploiter ailleur
iptables-save > /root/maconfig.iptables
 Pour restaurer ce travail
iptable-restore < /root/maconfig.iptables
A. EL FERGOUGUI 65
filtres IPTABLES
Script Démarrage et arrêt du pare-feu Iptables
A. EL FERGOUGUI 66
filtres IPTABLES
#!/bin/sh
FW_start() {
echo "[Démarrage du pare-feu]"
### EFFACE TOUT LES PARAMETRES
iptables -F ; iptables -t filter -F ; iptables -t nat -F ;iptables -t mangle -F
echo "Vidages [OK]"
### REGLES DE FILTRAGE
# Autoriser le Loopback
iptables -A INPUT -i lo -j ACCEPT; iptables -A OUTPUT -o lo -j ACCEPT
# Ne pas casser les connexions déjà établies
iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j
ACCEPT
iptables -t filter -A OUTPUT -m state --state RELATED,ESTABLISHED -j
ACCEPT
# PING (ICMP)
iptables -t filter -A INPUT -p icmp -j ACCEPT; iptables -t filter -A OUTPUT -p
icmp -j ACCEPT
# SSH
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
# Serveur web (HTTP)
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
# Serveur web (HTTPS)
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT
# Serveur FTP
iptables -t filter -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j
ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 20:21 -j ACCEPT
# Serveur MAIL SMTP:25
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
A. EL FERGOUGUI 67
filtres IPTABLES
# Serveur MAIL POP3:110
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT
# Serveur MAIL IMAP:143
iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT
# Serveur MAIL POP3S:995
iptables -t filter -A INPUT -p tcp --dport 995 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 995 -j ACCEPT
# DNS In/Out
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
# NTP
iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
# Rejeter tout le reste
iptables -A INPUT -j DROP
echo "Filtrages [OK]"
A. EL FERGOUGUI 68
filtres IPTABLES
### POLITIQUES #
Trafic entrants bloqués
iptables -P INPUT DROP
# Trafic forwardés bloqués
iptables -P FORWARD DROP
# Trafic sortants bloqués
iptables -P OUTPUT DROP
echo "Politiques [OK]"
}
A. EL FERGOUGUI 69
filtres IPTABLES
FW_stop() {
echo "[Arret du pare-feu]"
# Supprime tous les filtres
iptables -F ;iptables -t filter –F; iptables -t nat -F iptables -t mangle -F
# Attribut une politiques "ACCEPT" aux tables
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
}
A. EL FERGOUGUI 70
filtres IPTABLES
FW_restart() {
FW_stop;
sleep 2;
FW_start;
}
case "$1" in
'start') FW_start ;;
'stop') FW_stop ;;
'restart') FW_restart ;;
'status') iptables -L
iptables -t nat -L
iptables -t mangle -L ;;
*) echo "Usage: firewall {start|stop|restart|status}" ;;
esac
A. EL FERGOUGUI 71
filtres IPTABLES
 iptables start (ou restart)
permet de restaurer l'état des tables
 iptables stop
efface toutes vos règles et met par défaut
ACCEPT sur toutes les chaînes de toutes les
tables
iptables status
Affiche l'état du FW
A. EL FERGOUGUI 72
filtres IPTABLES

Contenu connexe

Similaire à firewall firewall firewall firewall .pptx

Firewall opensource et gestion de configuration pour l'infrastructure
Firewall opensource et gestion de configuration pour l'infrastructureFirewall opensource et gestion de configuration pour l'infrastructure
Firewall opensource et gestion de configuration pour l'infrastructureJohan Moreau
 
Cours- Sécurité des réseaux
Cours- Sécurité des réseaux Cours- Sécurité des réseaux
Cours- Sécurité des réseaux Yassmina AGHIL
 
C3 Réseaux : sous-couche reseau - ethernet wifi
C3 Réseaux : sous-couche reseau - ethernet wifiC3 Réseaux : sous-couche reseau - ethernet wifi
C3 Réseaux : sous-couche reseau - ethernet wifiPRONETIS
 
Couche Réseau.pptx
 Couche Réseau.pptx Couche Réseau.pptx
Couche Réseau.pptxZinaAknouche1
 
Cisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracerCisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracerMed Ali Bhs
 
Configuration routeurs.pptx
Configuration routeurs.pptxConfiguration routeurs.pptx
Configuration routeurs.pptxZinaAknouche1
 
Tunnels-VPN Tunnels-VPNTunnels-VPN Tunnels-VPN
Tunnels-VPN Tunnels-VPNTunnels-VPN Tunnels-VPNTunnels-VPN Tunnels-VPNTunnels-VPN Tunnels-VPN
Tunnels-VPN Tunnels-VPNTunnels-VPN Tunnels-VPNmia884611
 
Etude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxEtude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxThierry Gayet
 
resume-theorique-m201-v2-0-6308e052ede7e (1).pdf
resume-theorique-m201-v2-0-6308e052ede7e (1).pdfresume-theorique-m201-v2-0-6308e052ede7e (1).pdf
resume-theorique-m201-v2-0-6308e052ede7e (1).pdfFootballLovers9
 
EIGRP - Configuration
EIGRP - ConfigurationEIGRP - Configuration
EIGRP - Configurationmdyabi
 

Similaire à firewall firewall firewall firewall .pptx (20)

Firewall opensource et gestion de configuration pour l'infrastructure
Firewall opensource et gestion de configuration pour l'infrastructureFirewall opensource et gestion de configuration pour l'infrastructure
Firewall opensource et gestion de configuration pour l'infrastructure
 
Cours- Sécurité des réseaux
Cours- Sécurité des réseaux Cours- Sécurité des réseaux
Cours- Sécurité des réseaux
 
C3 Réseaux : sous-couche reseau - ethernet wifi
C3 Réseaux : sous-couche reseau - ethernet wifiC3 Réseaux : sous-couche reseau - ethernet wifi
C3 Réseaux : sous-couche reseau - ethernet wifi
 
Rapport projet
Rapport projetRapport projet
Rapport projet
 
Couche Réseau.pptx
 Couche Réseau.pptx Couche Réseau.pptx
Couche Réseau.pptx
 
1485606887426.pdf
1485606887426.pdf1485606887426.pdf
1485606887426.pdf
 
Le protocole rip
Le protocole rip Le protocole rip
Le protocole rip
 
Cisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracerCisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracer
 
RIPng
RIPngRIPng
RIPng
 
Configuration routeurs.pptx
Configuration routeurs.pptxConfiguration routeurs.pptx
Configuration routeurs.pptx
 
vpn
vpnvpn
vpn
 
13
1313
13
 
Tunnels-VPN Tunnels-VPNTunnels-VPN Tunnels-VPN
Tunnels-VPN Tunnels-VPNTunnels-VPN Tunnels-VPNTunnels-VPN Tunnels-VPNTunnels-VPN Tunnels-VPN
Tunnels-VPN Tunnels-VPNTunnels-VPN Tunnels-VPN
 
SDE 10 - Reseau
SDE 10 - ReseauSDE 10 - Reseau
SDE 10 - Reseau
 
Etude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxEtude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU Linux
 
SdE 11 - Reseau
SdE 11 - ReseauSdE 11 - Reseau
SdE 11 - Reseau
 
Ccna 2-module-2-v4
Ccna 2-module-2-v4Ccna 2-module-2-v4
Ccna 2-module-2-v4
 
resume-theorique-m201-v2-0-6308e052ede7e (1).pdf
resume-theorique-m201-v2-0-6308e052ede7e (1).pdfresume-theorique-m201-v2-0-6308e052ede7e (1).pdf
resume-theorique-m201-v2-0-6308e052ede7e (1).pdf
 
EIGRP - Configuration
EIGRP - ConfigurationEIGRP - Configuration
EIGRP - Configuration
 
Acl cisco
Acl ciscoAcl cisco
Acl cisco
 

Plus de AbdellahELMAMOUN

AGR2_slides AGR2_slides AGR2_slides AGR2_slides.pdf
AGR2_slides AGR2_slides AGR2_slides AGR2_slides.pdfAGR2_slides AGR2_slides AGR2_slides AGR2_slides.pdf
AGR2_slides AGR2_slides AGR2_slides AGR2_slides.pdfAbdellahELMAMOUN
 
cours-demarrage cours-demarrage.pdfcours-demarrage.pdf.pdf
cours-demarrage cours-demarrage.pdfcours-demarrage.pdf.pdfcours-demarrage cours-demarrage.pdfcours-demarrage.pdf.pdf
cours-demarrage cours-demarrage.pdfcours-demarrage.pdf.pdfAbdellahELMAMOUN
 
0404_docker_commands 0404_docker_commands.pdf.pdf
0404_docker_commands 0404_docker_commands.pdf.pdf0404_docker_commands 0404_docker_commands.pdf.pdf
0404_docker_commands 0404_docker_commands.pdf.pdfAbdellahELMAMOUN
 
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptxAbdellahELMAMOUN
 
mod_article25173409_1_mod_article25173409.ppt
mod_article25173409_1_mod_article25173409.pptmod_article25173409_1_mod_article25173409.ppt
mod_article25173409_1_mod_article25173409.pptAbdellahELMAMOUN
 
1536524 1536524 1536524 1536524 1536524.ppt
1536524  1536524 1536524  1536524 1536524.ppt1536524  1536524 1536524  1536524 1536524.ppt
1536524 1536524 1536524 1536524 1536524.pptAbdellahELMAMOUN
 
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...AbdellahELMAMOUN
 
Cours_1_Introductiona_la_Securite_des_Sy-1.pdf
Cours_1_Introductiona_la_Securite_des_Sy-1.pdfCours_1_Introductiona_la_Securite_des_Sy-1.pdf
Cours_1_Introductiona_la_Securite_des_Sy-1.pdfAbdellahELMAMOUN
 
RHSA_1_Chapter(11)_Resume_chaptre_11.pptx
RHSA_1_Chapter(11)_Resume_chaptre_11.pptxRHSA_1_Chapter(11)_Resume_chaptre_11.pptx
RHSA_1_Chapter(11)_Resume_chaptre_11.pptxAbdellahELMAMOUN
 
RHSA_1_Chapter_Resume_CONTRILE_SERVCIES.pptx
RHSA_1_Chapter_Resume_CONTRILE_SERVCIES.pptxRHSA_1_Chapter_Resume_CONTRILE_SERVCIES.pptx
RHSA_1_Chapter_Resume_CONTRILE_SERVCIES.pptxAbdellahELMAMOUN
 
Linux_Gestion_logiciels_Paquetage_chapitre05
Linux_Gestion_logiciels_Paquetage_chapitre05Linux_Gestion_logiciels_Paquetage_chapitre05
Linux_Gestion_logiciels_Paquetage_chapitre05AbdellahELMAMOUN
 
DevOps+Docker+Engine simulation mode.pptx
DevOps+Docker+Engine simulation mode.pptxDevOps+Docker+Engine simulation mode.pptx
DevOps+Docker+Engine simulation mode.pptxAbdellahELMAMOUN
 

Plus de AbdellahELMAMOUN (12)

AGR2_slides AGR2_slides AGR2_slides AGR2_slides.pdf
AGR2_slides AGR2_slides AGR2_slides AGR2_slides.pdfAGR2_slides AGR2_slides AGR2_slides AGR2_slides.pdf
AGR2_slides AGR2_slides AGR2_slides AGR2_slides.pdf
 
cours-demarrage cours-demarrage.pdfcours-demarrage.pdf.pdf
cours-demarrage cours-demarrage.pdfcours-demarrage.pdf.pdfcours-demarrage cours-demarrage.pdfcours-demarrage.pdf.pdf
cours-demarrage cours-demarrage.pdfcours-demarrage.pdf.pdf
 
0404_docker_commands 0404_docker_commands.pdf.pdf
0404_docker_commands 0404_docker_commands.pdf.pdf0404_docker_commands 0404_docker_commands.pdf.pdf
0404_docker_commands 0404_docker_commands.pdf.pdf
 
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
 
mod_article25173409_1_mod_article25173409.ppt
mod_article25173409_1_mod_article25173409.pptmod_article25173409_1_mod_article25173409.ppt
mod_article25173409_1_mod_article25173409.ppt
 
1536524 1536524 1536524 1536524 1536524.ppt
1536524  1536524 1536524  1536524 1536524.ppt1536524  1536524 1536524  1536524 1536524.ppt
1536524 1536524 1536524 1536524 1536524.ppt
 
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
 
Cours_1_Introductiona_la_Securite_des_Sy-1.pdf
Cours_1_Introductiona_la_Securite_des_Sy-1.pdfCours_1_Introductiona_la_Securite_des_Sy-1.pdf
Cours_1_Introductiona_la_Securite_des_Sy-1.pdf
 
RHSA_1_Chapter(11)_Resume_chaptre_11.pptx
RHSA_1_Chapter(11)_Resume_chaptre_11.pptxRHSA_1_Chapter(11)_Resume_chaptre_11.pptx
RHSA_1_Chapter(11)_Resume_chaptre_11.pptx
 
RHSA_1_Chapter_Resume_CONTRILE_SERVCIES.pptx
RHSA_1_Chapter_Resume_CONTRILE_SERVCIES.pptxRHSA_1_Chapter_Resume_CONTRILE_SERVCIES.pptx
RHSA_1_Chapter_Resume_CONTRILE_SERVCIES.pptx
 
Linux_Gestion_logiciels_Paquetage_chapitre05
Linux_Gestion_logiciels_Paquetage_chapitre05Linux_Gestion_logiciels_Paquetage_chapitre05
Linux_Gestion_logiciels_Paquetage_chapitre05
 
DevOps+Docker+Engine simulation mode.pptx
DevOps+Docker+Engine simulation mode.pptxDevOps+Docker+Engine simulation mode.pptx
DevOps+Docker+Engine simulation mode.pptx
 

Dernier

Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxpopzair
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeBenamraneMarwa
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 

Dernier (15)

Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étude
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 

firewall firewall firewall firewall .pptx

  • 1. Les FIREWALL A. EL FERGOUGUI
  • 2. Qu’est ce qu’un firewall ? A. EL FERGOUGUI 2 filtres IPTABLES  Un firewall est essentiellement un dispositif de protection qui constitue un filtre entre un réseau local et un autre réseau non sûr tel que l’Internet ou un autre réseau local.
  • 3. Objectifs d’un firewall A. EL FERGOUGUI 3 filtres IPTABLES Les firewalls visent, au niveau de la sécurité, deux objectifs: 1. Contrôler et protéger les hôtes du réseau local: Contre la divulgation non autorisée d’informations sensibles 2. Protéger les serveurs Internet  Contre des commandes jugées dangereuses associées à des services du type « telnet » et « sendmail »  Contre la modification ou la suppression non autorisée de fichiers vitaux pour le système
  • 4. Principes de base d’un firewall A. EL FERGOUGUI 4 filtres IPTABLES  Le moindre privilège :  Octroyer le moindre privilège aux utilisateur (processeurs) pour réaliser leur tâches. ==>Objectif: limiter les conséquences d'une vulnérabilité ou d'une erreur.  La défense en profondeur :  Utilisation de plusieurs mécanismes de protection redondants ==>Objectif : Garder une défense efficace même si un des mécanismes de défense devait être vulnérable ou mal configuré (ex. désactivé les services non utilisés)  Le goulet d'étranglement  Le trafic doit passer par un seul point : le FireWall ==> Objectif : Toute attaque doit passer par un chemin connu où il peut être bloquée (ex. utilisation de modems)
  • 5. Architecture générale d’un Firewall A. EL FERGOUGUI 5 filtres IPTABLES
  • 6. Filtrage de paquet IP A. EL FERGOUGUI 6 filtres IPTABLES Filtrage selon les informations de l’en-tête du paquet IP  Type de paquets (TCP, UDP, ….)  @ source  @destination  Port de destination (TCP, UDP, ….)  Etc..
  • 7. Filtrage réseau (Network level Firewalls)  Fonctionnement: Chaque paquet est comparé à un certain nombre de règle (filtres: type de paquet (tcp/udp), port, @sources, @déstination ), puis est transmis ou rejeté A. EL FERGOUGUI 7 filtres IPTABLES
  • 8. Filtrage réseau (Network level Firewalls) A. EL FERGOUGUI 8 filtres IPTABLES  Avantages  C’est un firewall transparent  Apporte un premier degré de protection s’il est utilisé avec d’autres firewall  Inconvénients  Définir des filtres de paquets est une tâche complexe  Le débit diminue lorsque le nombre de filtres augmente
  • 9. Filtrage applicatif (Application level Firewalls)  Permet un contrôle d’accès beaucoup plus précis.  Il est réalisé par l’examen de ports de services http ou FTP par exemple A. EL FERGOUGUI 9 filtres IPTABLES
  • 10. Filtrage applicatif (Application level Firewalls) A. EL FERGOUGUI 10 filtres IPTABLES  Avantages  Les paquets entrants et sortants ne peuvent accéder aux services pour lesquels il n’y a pas de proxy  Permet de filtrer des commandes spécifiques (ex: GET ou POST pour HTTP)  Le plus haut degré de sécurité  cache les machines du réseau privé, Peut être utilisé avec des adresses IP réservés et non enregistrés  Inconvénients  Les performances les plus faibles  N’est pas transparent pour les utilisateurs
  • 11. Firewall : plusieurs configurations A. EL FERGOUGUI 11 filtres IPTABLES  Le terme de « firewall » regroupe tous les systèmes de sécurité qui fonctionnent en connexion avec un réseau  La philosophie de base du coupe-feu:  Tout ce qui n’est pas expressément interdit est autorisé  Tout ce qui n’est pas expressément autorisé est interdit
  • 12. Firewall avec routeur de filtrage (routed firewall) A. EL FERGOUGUI 12 filtres IPTABLES
  • 13. NAT (Network Address Translation) A. EL FERGOUGUI 13 filtres IPTABLES  Une passerelle (routeur/gateway) est dotée de deux interfaces :  L'une d'elle appartient au réseau N°1  La deuxième interface est connectée au deuxième réseau (avec une adresse faisant partie des adresses du 2ème réseau).  Tout le trafic traversant le passerelle et orienté vers le 2ème réseau est doté de l'adresse IP source de 2ème interface  Tout le trafic entrant vers le 1er réseau doit être doté de l'adresse IP de destination la 2ème interface  Utilisation des adresses non routables ou non enregistrées [10.0.0] ou [172.16.0.0 à 172.31.0.0] ou [192.168.0.0]
  • 14. NAT: principe A. EL FERGOUGUI 14 filtres IPTABLES
  • 15. Firewall avec une zone DMZ (Zone Démilitarisée) A. EL FERGOUGUI 15 filtres IPTABLES  Une zone démilitarisée (DeMilitarised Zone) est une zone de réseau sur laquelle on peut connecter des serveurs qui ont besoin d’être mis séparément du réseau interne et accessible de l'extérieur  Une zone DMZ n’a de signification que le FireWall possède au moins deux interfaces réseaux (il est conseillé d'en avoir 3)  Le traffic de/vers la zone DMZ peut être schématisé comme suit :  Traffic du réseau externe vers la DMZ autorisé ;  Traffic du réseau externe vers le réseau interne interdit ;  Traffic du réseau interne vers la DMZ autorisé ;  Traffic du réseau interne vers le réseau externe autorisé ;  Traffic de la DMZ vers le réseau interne interdit ;  Traffic de la DMZ vers le réseau externe refusé.
  • 17. netfilter A. EL FERGOUGUI 17 filtres IPTABLES  effectuer des filtrages de paquets, principalement pour assurer des fonctions de Firewall: interdire , acepeter..  effectuer des opérations de NAT (Network Address Translation)  effectuer des opérations de marquage des paquets, pour leur appliquer un traitement spécial
  • 18. chaines et règles A. EL FERGOUGUI 18 filtres IPTABLES  Une chaine est une pile de règles  Chaque règle d'une chaine est composée de deux parties: (un critère et une politique)  Le critère précise les cas d'application  Le politique précise l'action accomplie  Si le critère ne s'applique pas au paquet, on examine la règle suivante ==> l'ordre des règles est important  Si aucune règle ne s'applique on examine la politique associée à la chaine.
  • 19. tables et leurs chaînes A. EL FERGOUGUI 19 filtres IPTABLES Il existe trois tables qui vont servir à contenir des règles de "filtrage":  FILTER: (INPUT, OUTPUT, FORWORD)  NAT: (PREROUTING, POSTROUTING, OUTPUT)  MANGLE: (PREROUTING, OUTPUT)
  • 20. Les différentes chaines prédéfinies A. EL FERGOUGUI 20 filtres IPTABLES  INPUT: le trafique destiné à la machine locale  OUTPUT: le trafique sortant de la machine vers le réseau  FORWARD: trafique qui transite par la machine  PREROUTING: cette chaine peut modifier un trafique dès qu'il entre dans le système avant qu'il soit routé  POSTROUTING: cette chaine peut modifier un trafique mais après le routage
  • 21. La table "Filter" A. EL FERGOUGUI 21 filtres IPTABLES  La chaîne INPUT. Cette chaîne décidera du sort des paquets entrant localement sur l'hôte.  La chaîne OUTPUT. Ici, ce ne sont que les paquets émis par l'hôte local qui seront filtrés  La chaîne FORWARD. Enfin, les paquets qui traversent l'hôte, suivant les routes implantées, seront filtrés ici.
  • 22. La table NAT A. EL FERGOUGUI 22 filtres IPTABLES  La chaîne PREROUTING. Permet de faire de la translation d'adresse de destination. Cette méthode est intéressante si l'on veut faire croire au monde extérieur, par exemple, qu'il y a un serveur WEB sur le port 80 de la passerelle, alors que celui-ci est hébergé par un hôte du réseau privé, sur le port 8080.  La chaîne POSTROUTING. Elle permet de faire de la translation d'adresse de la source, comme du masquage d'adresse, la méthode classique pour connecter un réseau privé comme client de l'Internet, avec une seule adresse IP "officielle".  La chaîne OUTPUT. Celle-ci va permettre de modifier la destination de paquets générés localement (par la passerelle elle-même).
  • 23. La table MANGLE A. EL FERGOUGUI 23 filtres IPTABLES  Cette table permet le marquage des paquets entrants (PREROUTING) et générés localement (OUTPUT).
  • 24. A. EL FERGOUGUI 24 filtres IPTABLES
  • 25. Les politiques des règles (Les chaînes) A. EL FERGOUGUI 25 filtres IPTABLES Les chaînes sont des ensembles de règles que nous allons écrire dans chaque table.  ACCEPT Les paquets qui satisfont aux critères sont acceptés, ils continuent leur chemin dans la pile,  DROP Les paquets qui satisfont aux critères sont rejetés, on les oublie, on n'envoie même pas de message ICMP .  LOG C'est une cible particulière qui permet de tracer au moyen de syslog les paquets qui satisfont aux critères.  REJECT (similaire à DROP, mais avec envoi d'un message d'erreur ICMP à la source du paquet rejeté)  RETURN, REDIRECT, SNAT, DNAT, MASQUERADE...
  • 26. Cibles de la table mangle A. EL FERGOUGUI 26 filtres IPTABLES  TOS  TTL  MARK
  • 27. Cibles de la table nat A. EL FERGOUGUI 27 filtres IPTABLES  DNAT  SNAT  MASQUERADE
  • 28. Le DNAT ou NAT Destination A. EL FERGOUGUI 28 filtres IPTABLES  La chaîne PREROUTING (avant routage) permet de modifier que l'adresse de destination mais conserve l'adresse source. C'est ce qu'on appel faire du DNAT (NAT destination). Dans cette exemple, on va redireger le trafic en destination du réseau "195.111.222.0" vers le réseau "193.168.1.0". iptables -t nat -A PREROUTING -d 195.111.222.0/24 -j DNAT --to-destination 193.168.1.0/24
  • 29. Le SNAT ou NAT Source A. EL FERGOUGUI 29 filtres IPTABLES  La chaîne POSTROUTING (après routage) permet de modifier que l'adresse source mais conserve l'adresse de destination. C'est ce qu'on appel faire du SNAT (NAT source). Dans cette exemple, on va substituer l'adresse source du trafic privé sortant vers l'extérieur par une des trois adresses. iptables -t nat -A POSTROUTING -s 193.168.1.0/24 -j SNAT --to-source 192.168.1.5- 192.168.1.8
  • 30. L'IP Masquerade A. EL FERGOUGUI 30 filtres IPTABLES  Le principe est d'utiliser une adresse IP publique source pour cacher derrière elle toutes les adresses IP du réseau privé  iptables -t nat -A POSTROUTING -s 193.168.1.0/24 -j SNAT --to-source 192.168.1.199 est équiv à  iptables -t nat -A POSTROUTING -s 193.168.1.0/24 -j MASQUERADE  On peut utilisez d'autres options, comme choisir par rapport a votre interface réseau , ici "eth0" et au numéro de port, dans ce cas "80".  iptables -t nat -A POSTROUTING -o eth0 --dport 80 -j MASQUERADE
  • 31. question A. EL FERGOUGUI 31 filtres IPTABLES SNAT vs MASQUERADE
  • 32. La machine d'état A. EL FERGOUGUI 32 filtres IPTABLES  NEW: nouvelle connexion  ESTABLISHED: connexion déjà établie  RELATED : connexion avec une autre déjà établie  INVALID: le paquet invalide En générale ils fonctionnent avec la correspondance --state
  • 33. Création d'une règle A. EL FERGOUGUI 33 filtres IPTABLES  iptables [-t table] commande [correspondance] [cible]
  • 34. Commandes A. EL FERGOUGUI 34 filtres IPTABLES  -A, --append : ajoute une règle exemple: iptables -A INPUT  -D, --delete : supprime une régle exemple: iptables -D INPUT --dport 80 -j DROP ou iptables –D INPUT 1  -R, --replace exemple: iptables -R INPUT 1 -s 192.168.0.1 -j DROP  -I, --insert
  • 35. Commandes A. EL FERGOUGUI 35 filtres IPTABLES  -L, --list : donne la liste des entrées de la chaîne donnée. (–v –line-numbers ) Exemple iptables –L INPUT  -F, --flush : vide la chaine de toutes ses règle exemple: iptables -F INPUT  -X, --delete-chain: supprime une chaine utilisateur  -P, --policy: fixe la politique d'une chaine  -p, --protocol : type de protocole, exemple:iptables -A INPUT -p tcp  -s, --src, --source: source du paquet exemple: iptables -A INPUT -s 192.168.1.1  -d, --dst, --destination exemple: iptables -A INPUT -d 192.168.1.1
  • 36. Commandes A. EL FERGOUGUI 36 filtres IPTABLES  -i, --in-interface  -o, --out-interface  --sport, --source-port : port source iptables -A INPUT -p tcp --sport 22  --dport, --destination-port  --src-range : spécifier une plage d’adresses source exempel:iptables -A INPUT -p tcp -m iprange -- src-range 192.168.1.200-192.168.2.220  --dst-range idem pour destination
  • 37. Commandes A. EL FERGOUGUI 37 filtres IPTABLES  --length : longueur de paquet iptables -A INPUT -p tcp -m length --length 1400:1500  --mac-source iptables -A INPUT -m mac --mac-source 00:01:02:0 3:04:05  --source-port : multiport source max 15 iptables -A INPUT -p tcp -m multiport --source- port 22,53,80,110  --destination-port : idem pour destination  --port : port source = port detination
  • 38. Commandes pour le protocole tcp (-p tcp) A. EL FERGOUGUI 38 filtres IPTABLES  --tcp-flags [!] mark [,…]: spécifie l'ensemble de drapeaux tcp (SYN,ACK,FIN,RST,URG)  [!] –syn : spécifie la présence du drapeaux SYN (! Contraire)
  • 39. Commandes pour le protocole icmp (-p icmp) A. EL FERGOUGUI 39 filtres IPTABLES  --icmp-type [!] type: spécifie le type de paquet icmp  Exemple: type= echo-request, echo-reply
  • 40. Commandes A. EL FERGOUGUI 40 filtres IPTABLES  --state : iptables -A INPUT -m state --state NEW,RELATED,ESTABLISHED [,INVALID]  --tos : iptables -A INPUT -p tcp -m tos --tos 0x16  --ttl iptables -A OUTPUT -m ttl --ttl 60
  • 41. Commande du module limit (-m limit) A. EL FERGOUGUI 41 filtres IPTABLES  Le module limit limite les informations écrites dans le journal de bord ou limite les messages icmp (ping)  --limit rate : taux maximum, le taux rate est exprimé par un nombre suivi de /seconde, /minute, /hour, /day exemple 5/minute  --limit-burst number : le nimbre maximum de paquets initiaux que l'on accepte
  • 42. Cible DNAT A. EL FERGOUGUI 42 filtres IPTABLES  --to-destination Exemple: iptables -t nat -A PREROUTING - p tcp -d 15.45.23.67 --dport 80 -j DNAT -- to-destination 192.168.1.1-192.168.1.10
  • 43. Cible MASQUERADE A. EL FERGOUGUI 43 filtres IPTABLES  --to-ports exempel: iptables -t nat -A POSTROUTING -p TCP -j MASQUERADE --to-ports 1024- 31000
  • 44. Cible SNAT A. EL FERGOUGUI 44 filtres IPTABLES  --to-source Exemple iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to-source 194.236.50.155- 194.236.50.160:1024-32000
  • 45. Cible TOS A. EL FERGOUGUI 45 filtres IPTABLES  --set-tos Exemple iptables -t mangle -A PREROUTING -p TCP --dport 22 -j TOS --set-tos 0x10
  • 46. Cible TTL A. EL FERGOUGUI 46 filtres IPTABLES  --ttl-set Exemple iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-set 64
  • 47. Exemple de scripte firewall A. EL FERGOUGUI 47 filtres IPTABLES  # vide tout  IPTABLES -F  IPTABLES -X  IPTABLES –t nat -F
  • 48. Exemple de scripte firewall A. EL FERGOUGUI 48 filtres IPTABLES  # DEBUT des politiques par défaut  # Je veux que les connexions entrantes soient bloquées par défaut iptables -P INPUT DROP  Je veux que les connexions destinées à être forwardées soient bloquées par défaut iptables -P FORWARD DROP  Je veux que les connexions sortantes soient acceptées par défaut iptables -P OUTPUT ACCEPT
  • 49. iptables -A INPUT -j ACCEPT -i eth1 -s 192.168.1.0/24 –d 172.16.0.0/24 iptables -A OUTPUT -j ACCEPT -o eth1 –d 192.168.1.0/24 -s 172.16.0.0/24 iptables -A INPUT -j ACCEPT -p ALL -i lo iptables -A OUTPUT -j ACCEPT -p ALL -o lo iptables -A FORWARD -j ACCEPT -i eth1 -o eth0 -s 192.168.1.0/24 iptables -A FORWARD -j ACCEPT -o eth1 -i eth0 -s 0/0 A. EL FERGOUGUI 49 filtres IPTABLES
  • 50.  J'accepte les packets sortants d'établissement de connexion iptables -A FORWORD –i eth1 –o eth0 -m state --state NEW -j ACCEPT  Et les réponses iptables -A FORWORD –i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT  J'accepte les packets entrants relatifs à des connexions déjà établies iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT A. EL FERGOUGUI 50 filtres IPTABLES
  • 51.  J'autorise les connexions TCP entrantes sur les ports 20 et 21 (pour que mon serveur FTP soit joignable de l'extérieur) iptables -A INPUT -p tcp --dport 20 -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j ACCEPT  J'autorise les connexions TCP entrantes sur le port 22 (pour que mon serveur SSH soit joignable de l'extérieur) iptables -A INPUT -p tcp --dport 22 -j ACCEPT A. EL FERGOUGUI 51 filtres IPTABLES
  • 52.  J'autorise les connexions TCP entrantes sur le port 25 (pour que mon serveur de mail soit joignable de l'extérieur) iptables -A INPUT -p tcp --dport 25 -j ACCEPT  J'autorise les connexions TCP et UDP entrantes sur le port 53 (pour que mon serveur DNS soit joignable de l'extérieur) iptables -A INPUT -p tcp --dport 53 -j ACCEPT iptables -A INPUT -p udp --dport 53 -j ACCEPT A. EL FERGOUGUI 52 filtres IPTABLES
  • 53.  J'autorise les connexions TCP entrantes sur le port 80 (pour que mon serveur HTTP soit joignable de l'extérieur) iptables -A INPUT -p tcp --dport 80 -j ACCEPT  J'autorise les connexions TCP et UDP entrantes sur le port 139 mais uniquement sur l'interface "eth1" (pour que mon serveur Samba soit joignable depuis mon LAN seulement) iptables -A INPUT -p tcp --dport 139 -i eth1 -j ACCEPT iptables -A INPUT –p udp --dport 139 -i eth1 –j ACCEPT A. EL FERGOUGUI 53 filtres IPTABLES
  • 54.  J'autorise les flux UDP entrants sur le port 1234 (pour pourvoir reçevoir les flux VideoLAN) iptables -A INPUT -p udp --dport 1234 -j ACCEPT  J'autorise les flux UDP envoyés sur l'adresse multicast 224.2.127.254 et dont le port destination est 9875 (pour recevoir les annonces SAP) iptables -A INPUT -p udp -d 224.2.127.254 --dport 9875 -j ACCEPT A. EL FERGOUGUI 54 filtres IPTABLES
  • 55. J'accepte le protocole ICMP (i.e. le "ping") iptables -A INPUT -p icmp -j ACCEPT J'accepte le protocole IGMP (pour le multicast) iptables -A INPUT -p igmp -j ACCEPT Pas de filtrage sur l'interface de "loopback" iptables -A INPUT -i lo -j ACCEPT A. EL FERGOUGUI 55 filtres IPTABLES
  • 56.  La cible LOG iptables -A INPUT -i eth0 -p icmp -j LOG Faire un $ ping -n 1 192.168.1.34 Voir la tracer la réponse au ping (INPUT). Nous récupérons cette trace dans /var/log/messages : Apr 1 08:40:15 linux kernel: IN=eth0 OUT= MAC=00:00:b4:bb:5d:ee:00:20:18:29:11:31:08:00 SRC=192.168.1.22 DST=192.168.1.34 LEN=84 TOS=0x00 PREC=0x00 TTL=255 ID=4938 PROTO=ICMP TYPE=0 CODE=0 ID=53771 SEQ=256 A. EL FERGOUGUI 56 filtres IPTABLES
  • 57.  La règle par défaut pour la chaine INPUT devient "REJECT" (il n'est pas possible de mettre REJECT comme politique par défaut) iptables -A INPUT -j REJECT A. EL FERGOUGUI 57 filtres IPTABLES
  • 58.  DEBUT des règles pour le PARTAGE DE CONNEXION  Je veux que mon système fasse office de "serveur NAT"  (on supose que "eth0" par est l'interface de connexion à Internet iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE A. EL FERGOUGUI 58 filtres IPTABLES
  • 59.  Je veux que les requêtes TCP reçues sur le port 80 soient forwardées à la machine dont l'IP est 192.168.0.3 sur son port 80 (la réponse à la requête sera forwardée au client)  iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.3:80 A. EL FERGOUGUI 59 filtres IPTABLES
  • 60. iptables -A INPUT -j ACCEPT -p TCP -i eth0 --sport 1024: --dport 21 optables -A INPUT -j ACCEPT -p TCP -i eth0 --sport 1024: --dport 80 iptables -A INPUT -i eth1 -p ALL -j DROP -s 10.0.0.255 Iptables –L INPUT –v –line-numbers A. EL FERGOUGUI 60 filtres IPTABLES
  • 61. Nouvelles chaines A. EL FERGOUGUI 61 filtres IPTABLES  Iptables –N CH_telnet  Iptables –A CH_telnet –p tcp –s 192.168.1.14 --dport 23 –j RETURN  Iptables –A CH_telnet –p tcp –s 192.168.1.0/24 --dport 23 –j DROP  Iptables –A INPUT –j CH_telnet  Iptables –A FORWARD –j CH_telnet
  • 62. Limiter un trafique et Utilisation des journaux A. EL FERGOUGUI 62 filtres IPTABLES  La politique par défaut #iptables -P INPUT DROP  La règle qui laisse passer 5 tentatives de connexion TCP puis qui n'en laisse passer plus que 2 par minute iptables -A INPUT -p tcp --syn -m limit --limit 2/minute -- limit-burst 5 -j ACCEPT  Même chose avec les pings iptables -A INPUT -p icmp --icmp-type ping -m limit --limit 2/minute --limit-burst 5 -j ACCEPT  La politique par défaut #iptables -P INPUT ACCEPT Iptables –A INPUT –d 127.0.0.1 –m limit --limit 3/minute --limit-burst 3 –j LOG Iptables –A INPUT –d 127.0.0.1 –j DROP
  • 63. Interdiction de connexion A. EL FERGOUGUI 63 filtres IPTABLES  Interdire les connexion TCP destinées au poste quelque soit leur provenance:  Iptables –A INPUT –p tcp –s 0/0 –d 192.168.1.14 --sys -j DROP
  • 64. Luter contre les attaques DoS A. EL FERGOUGUI 64 filtres IPTABLES  Lutter contre l'inondation de conexion(SYN- FLOOD) Iptables –A INPUT –p tcp --syn –m limit --limit 1/s –j ACCEPT Lutter contre le ping de la mort Iptables –A INPUT –p icmp --icmp-type echo-request –m limit --limit 1/s –j ACCEPT  Lutter contre l'UDP Flood Iptables –A INPUT –p udp –m limit --limit 1/s –j ACCEPT
  • 65.  Pour conserver tout ce beau travail iptables-save Ou pour l'exploiter ailleur iptables-save > /root/maconfig.iptables  Pour restaurer ce travail iptable-restore < /root/maconfig.iptables A. EL FERGOUGUI 65 filtres IPTABLES
  • 66. Script Démarrage et arrêt du pare-feu Iptables A. EL FERGOUGUI 66 filtres IPTABLES #!/bin/sh FW_start() { echo "[Démarrage du pare-feu]" ### EFFACE TOUT LES PARAMETRES iptables -F ; iptables -t filter -F ; iptables -t nat -F ;iptables -t mangle -F echo "Vidages [OK]" ### REGLES DE FILTRAGE # Autoriser le Loopback iptables -A INPUT -i lo -j ACCEPT; iptables -A OUTPUT -o lo -j ACCEPT # Ne pas casser les connexions déjà établies iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -t filter -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # PING (ICMP) iptables -t filter -A INPUT -p icmp -j ACCEPT; iptables -t filter -A OUTPUT -p icmp -j ACCEPT
  • 67. # SSH iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT # Serveur web (HTTP) iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT # Serveur web (HTTPS) iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT # Serveur FTP iptables -t filter -A INPUT -p tcp --dport 20:21 -j ACCEPT iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 20:21 -j ACCEPT # Serveur MAIL SMTP:25 iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT A. EL FERGOUGUI 67 filtres IPTABLES
  • 68. # Serveur MAIL POP3:110 iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT # Serveur MAIL IMAP:143 iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT # Serveur MAIL POP3S:995 iptables -t filter -A INPUT -p tcp --dport 995 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 995 -j ACCEPT # DNS In/Out iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT # NTP iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT # Rejeter tout le reste iptables -A INPUT -j DROP echo "Filtrages [OK]" A. EL FERGOUGUI 68 filtres IPTABLES
  • 69. ### POLITIQUES # Trafic entrants bloqués iptables -P INPUT DROP # Trafic forwardés bloqués iptables -P FORWARD DROP # Trafic sortants bloqués iptables -P OUTPUT DROP echo "Politiques [OK]" } A. EL FERGOUGUI 69 filtres IPTABLES
  • 70. FW_stop() { echo "[Arret du pare-feu]" # Supprime tous les filtres iptables -F ;iptables -t filter –F; iptables -t nat -F iptables -t mangle -F # Attribut une politiques "ACCEPT" aux tables iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -t filter -P INPUT ACCEPT iptables -t filter -P FORWARD ACCEPT iptables -t filter -P OUTPUT ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT iptables -t mangle -P PREROUTING ACCEPT iptables -t mangle -P INPUT ACCEPT iptables -t mangle -P FORWARD ACCEPT iptables -t mangle -P OUTPUT ACCEPT iptables -t mangle -P POSTROUTING ACCEPT } A. EL FERGOUGUI 70 filtres IPTABLES
  • 71. FW_restart() { FW_stop; sleep 2; FW_start; } case "$1" in 'start') FW_start ;; 'stop') FW_stop ;; 'restart') FW_restart ;; 'status') iptables -L iptables -t nat -L iptables -t mangle -L ;; *) echo "Usage: firewall {start|stop|restart|status}" ;; esac A. EL FERGOUGUI 71 filtres IPTABLES
  • 72.  iptables start (ou restart) permet de restaurer l'état des tables  iptables stop efface toutes vos règles et met par défaut ACCEPT sur toutes les chaînes de toutes les tables iptables status Affiche l'état du FW A. EL FERGOUGUI 72 filtres IPTABLES