Professional Documents
Culture Documents
Linux
LASFAR Salim
Iptables est une interface en ligne de commande
permettant de configurer Netfilter1). En plus de Iptables,
depuis la version 8.04, Ubuntu est install avec la
surcouche UFW qui permet de contrler simplement
Netfilter, UFW est toutefois moins complet que iptables.
LP-R2SI:
Administration des
rseaux et scurit
sous Linux.
La table filter :
Iptables fonctionne selon un systme de tables, ces tables sont composes
de chane. Dans le cadre de la configuration et de l'utilisation de Netfilter
comme pare-feu, c'est la table Filter qui est utile, elle permet de filtrer les
cette table peut tre affect quatre politiques (policy) : DROP, LOG,
ACCEPT et REJECT.
Configuration du pare-feu :
Nous allons configurer notre pare-feu de la manire suivante :
destination
destination
destination
Pour l'instant, tout passe dans toutes les directions (policy ACCEPT).
Pour cette configuration basique, seul le trafic entrant (chaine input) nous
intresse.
Par dfaut, sudo iptables -L n'affiche que la table "filter". Pour consulter
les autres tables, vous devez ajouter l'option -t suivie de "nat", "mangle" ou
"raw". Pour la configuration d'un pare-feu la table "filter" est toutefois la
seule ncessaire.
Atelier :
paramtre protocole
interdire le protocole icmp entrant
effacer la rgle
paramtre source
interdire le protocole icmp provenant de localhost
effacer la rgle
paramtre inversion
interdire un paquet s'il ne provient pas de localhost
effacer la rgle
paramtre extension:
extension mac
interdire tout paquet entrant par eth0 dont l'adresse mac n'est pas celle
du voisin
effacer la rgle
extension limit
positionner la police par dfaut DROP pour la chane INPUT
crire une rgle qui laisse passer 5 tentatives de connexion TCP puis qui
n'en laisse passer plus que2 par minute
que faut il modifier ici pour que l'on puisse naviguer sur le net ?
effacer la rgle
2. Oprations sur plusieurs chanes et sur la table filter:
cration d'une nouvelle chane
crer une nouvelle chane qui log les paquets entrants en ajoutant le
prfixe [INPUT DROP] et qui le drop
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-prefix [INPUT DROP]
iptables -A LOG_DROP -j DROP
renvoyer sur cette nouvelle chane tout paquet engendrant une nouvelle
connexion en entre
crer une rgle qui modifie tout paquet qui arrive via l'interface eth1
destination du port 2222 afin que ce paquet ai dans son champ IP DST
l'adresse 192.168.0.1 et dans son champ TCP DPORT 22
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 2222 -j DNAT -to-destination 192.168.0.1:22
que se passe t il si on tente une connexion sur eth1 sur le port 2222 ?
Rien car les paquets sont drops dans la chaine FORWARD
que faut il faire pour que la translation fonctionne effectivement ? (dans
un sens comme dans l'autre)
pour vous aider mettez ces rgles dans un script se terminant par une
rgle qui log et drop tout et ensuite regarder attentivement les logs
crer une rgle qui altre le champ IP SRC de tout paquet sortant via
l'interface eth1, en remplaant la valeur de ce champ par l'adresse IP de
cette interface(eth1)
autoriser tout trafic provenant de eth0 tre forward par notre machine
Sauvegadre de configuration :
La commande iptables-save sauve ltat actuel de votre Netfilter dans un
fichier. Son utilisation :
# chmod +x /etc/firewall-start
# chmod +x /etc/firewall-stop
Ensuite, il est possible de lancer manuellement le firewall et de vrifier le
rsultat :
# /etc/firewall-start
# iptables -L -v
# chmod +x /etc/init.d/firewall
Crer les liens permettant de dmarrer automatiquement le script au
dmarrage de lordinateur :
# /etc/init.d/firewall stop
La commande suivante permet dmarrer le firewall :
# /etc/init.d/firewall start