Configurer un pare

Transcription

Configurer un pare
Table des matières
1
CONFIGURER UN PARE-FEU AVEC IPTABLES................................................. 2
1.1 INSTALLATION ................................................................................................. 2
1.2 FILTRER LES PAQUETS .................................................................................. 2
1.3 TABLES ............................................................................................................... 2
1.3.1
Table NAT .................................................................................................... 2
1.4 TABLE FILTER .................................................................................................. 2
1.5 TABLE MANGLE ............................................................................................... 2
1.6 CHAÎNES............................................................................................................. 3
1.6.1
TARGET ....................................................................................................... 3
1.7 LES COMMANDES DE iptables ................................................................. 3
1.7.1
LES PARAMÈTRES DE iptables ......................................................... 4
1.8 ADMINISTRER iptables .............................................................................. 4
1.9 EXEMPLES ......................................................................................................... 5
_____________________________________________________________________
 2011 Hakim Benameurlaine
1
1 CONFIGURER UN PARE-FEU AVEC IPTABLES
1.1 INSTALLATION
Installer le paquetage iptables si nécessaire.
#
1.2
yum
install
iptables
FILTRER LES PAQUETS
Les paquets sont filtrés un utilisant des règles prédéfinies.
Une chaîne correspond à un ensemble de règles.
La gestion des règles se fait en utilisant la commande iptables
Pour lister les règles qui se trouvent présentement dans la table des filtres :
iptables -L -n
Chain INPUT (policy ACCEPT)
target
prot opt source
destination
Chain FORWARD (policy ACCEPT)
target
prot opt source
destination
Chain OUTPUT (policy ACCEPT)
target
prot opt source
destination
(n=numeric)
Si aucune règle ne s’applique, alors la politique par défaut est appliquée.
1.3 TABLES
1.3.1 Table NAT
(Network Address Translation) : Table utilisée pour la translation
d'adresse ou la translation de port.
1.4
TABLE FILTER
C'est la table par défaut si aucune table n’est spécifiée. Cette table contient toutes
les règles de filtrage, il existe 3 types de chaînes :

FORWARD pour les paquets passant par le pare-feu.

INPUT pour les paquets entrants.

OUTPUT pour les paquets sortants.
Les cibles (target) disponibles sont : ACCEPT, DROP, REJECT
1.5
TABLE MANGLE
C'est la table qui contient les règles pour la modification de paquets. Elle est peu
utilisée et ne sera pas décrite.
_____________________________________________________________________
 2011 Hakim Benameurlaine
2
1.6
CHAÎNES
Une chaîne est une suite de règles, qui sont prises dans l'ordre ; dès qu'une règle
matche un paquet, elle est déclenchée, et la suite de la chaîne est ignorée. Une chaîne
est donc tout simplement un ensemble de règle à appliquer dans l’ordre.
Ils existent cinq chaînes prédéfinies :
Chaîne
INPUT
OUTPUT
FORWARD
PREROUTING
POSTROUTING
Description
règles pour les paquets entrants (table FILTER)
règles pour les paquets sortants (table FILTER)
règles pour les paquets qui transitent (table FILTER)
règles pour modifier les paquets entrants (table NAT)
règles pour modifier les paquets sortants (table NAT)
1.6.1 TARGET
Le target est l’action à prendre.
On doit spécifier un target (action) pour chaque règle d’une chaîne (j=jump).
Target
ACCEPT
DROP
REJECT
1.7
Description
accepter les paquets
interdire l’accès
interdire l’accès avec notification
LES COMMANDES DE iptables
iptables n'est pas livré avec une interface graphique ; les commandes et les règles
sont passées en ligne de commande. Le mieux est d'écrire des scripts qui permettent
d'appliquer toutes les règles d'un seul coup, dès le démarrage du Linux.
Commande
-A chaîne
-D chaîne
-I chaîne [no_regle]
-R chaîne no_regle
-L [chaîne]
-E [chaîne]
-F [chaîne]
-N chaîne
-X chaîne
-P chaîne target
-Z [chaîne]
Description
ajouter une règle à la fin de la chaîne
effacer une règle de la chaîne
insérer une règle dans la chaîne
remplacer une règle dans la chaîne
lister les règles
renommer la chaîne
effacer (flush) les règles sélectionnées
créer une nouvelle chaîne (usager)
effacer la chaîne définie par l’usager
définir la politique par défaut dans la chaîne
Remise à zéro des compteurs dans la chaîne
_____________________________________________________________________
 2011 Hakim Benameurlaine
3
1.7.1 LES PARAMÈTRES DE iptables
Option
-p [!] proto
-s [!] adresse [/mask]
--sport [!] [!] [port[:port]]
-d [!] adresse [/mask]
--dport [!] [!] [port[:port]]
-i [!] eth
-o [!] eth
-j target
1.8
Description
protocole : TCP, UDP, ICMP, ALL
adresse source
port source
adresse destination
port destination
interface d’entrée
interface de sortie
cible
ADMINISTRER iptables
1) Supprimer les règles :
service iptables stop
2) Afficher les règles :
service iptables status
3) Ajouter une règle :
iptables -A INPUT -j ACCEPT -i lo
4) Sauvegarder les règles dans le fichier /etc/sysconfig/iptables :
service iptables save
5) Restaurer les règles à partir du fichier /etc/sysconfig/iptables :
service iptables start
more /etc/sysconfig/iptables
6) Sauvegarder les règles dans un fichier quelconque :
iptables-save > /etc/iptables.rules
7) Restaurer les règles à partir d’un fichier :
iptables-restore < /etc/iptables.rules
_____________________________________________________________________
 2011 Hakim Benameurlaine
4
1.9
EXEMPLES
1) Ajouter une nouvelle règle dans la chaîne INPUT :
iptables -A INPUT
-p tcp --dport 80 -j DROP
2) Supprimer une règle de la chaîne
iptables -D INPUT
INPUT :
-p tcp --dport 80 -j DROP
ou bien
iptables -D INPUT 1
3) Remplacer une règle de la chaîne
INPUT :
iptables -R INPUT 1 -s 192.168.0.1 -j DROP
4) Insérer une règle de la chaîne INPUT :
iptables -I INPUT 1 –p tcp --dport 80 -j ACCEPT
5) Afficher toutes les règles des chaînes de la table FILTER :
iptables –L
6) Afficher toutes les règles de la chaîne INPUT de la table
FILTER :
iptables -L INPUT
7) Flusher les règles de la chaîne INPUT :
iptables -F
INPUT
8) Créer une nouvelle chaîne LOG_DROP :
iptables -N LOG_DROP
9) Supprimer la chaîne LOG_DROP :
iptables -X LOG_DROP
10)
Définir la politique par défaut de la chaîne INPUT :
iptables -P INPUT DROP
11)
Ajout de règles :
iptables -A INPUT -p tcp --source ! 10.42.42.42 –j
REJECT
iptables -A INPUT -p icmp -j DROP
iptables -A INPUT -p tcp -s 192.168.42.42 -j ACCEPT
iptables -A FORWARD -p tcp -d 10.1.0.1 -j ACCEPT
iptables -A INPUT -p icmp -i eth0 -j REJECT
_____________________________________________________________________
 2011 Hakim Benameurlaine
5
iptables -A OUTPUT -p icmp -o eth0 -j DROP
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p udp --sport 80 -j DROP
iptables -A OUTPUT -p tcp -m multiport --sport
3128,21,1000 -j DROP
iptables -A OUTPUT -p tcp --sport 1024:2042 -j ACCEPT
iptables -A INPUT -p
iptables -A INPUT -p
iptables -A INPUT -p
110,4242,119 -j DROP
iptables -A INPUT -p
tcp --dport 110 -j DROP
udp --dport 110 -j DROP
tcp -m multiport --dport
tcp --sport 4925:4633 -j ACCEPT
iptables -A INPUT -p tcp --dport 42 --tcp-flags SYN,
ACK -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j DROP
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state -state NEW,ESTABLISHED
-j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state
--state ESTABLISHED
-j ACCEPT
12)
Ajout de règles dans la chaîne PREROUTING de la table NAT :
iptables -t nat -A PREROUTING -d 42.12.42.12 -p tcp -dport 110 -j DNAT
--to-destination 192.168.1.2:6110
iptables -t nat -A PREROUTING -d ! 42.12.42.12 -p tcp
--dport 80 -j DNAT
--to-destination 192.168.2.1:3128
_____________________________________________________________________
 2011 Hakim Benameurlaine
6