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)
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]
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).
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
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
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
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