Différences entre les versions de « Le système d'exploitation GNU-Linux/Protection avec iptables »

m (Ajout de la catégorie Le système d'exploitation GNU-Linux (livre) (avec HotCats))
'''Créer une configuration de base :'''
 
Nous allons autoriser une connexion déjà établie (ESTABLISHED) à recevoir du trafic.
A FAIRE
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 
Autorisons maintenant le trafic sur deux ports utilisés par des services très répandus / utilisés. Bien évidemment à vous de faire le tri en fonction de ce que vous utilisez ou non.
* Trafic SSH :
# iptables -A INPUT -p tcp -i eth0 --dport ssh -j ACCEPT
 
* Trafic Web :
# iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
 
* Requêtes Ping :
# iptables -A INPUT -p icmp -j ACCEPT
 
* Trafic Local :
# iptables -I INPUT 2 -i lo -j ACCEPT
 
Voici ce que vous devriez avoir pour l'instant si vous listez les filtres (l'option -v permet de voir sur quelle interface la règle est appliquée) :
# iptables -L -v
# Chain INPUT (policy ACCEPT 155 packets, 21332 bytes)
# pkts bytes target prot opt in out source destination
# 20 1562 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
# 0 0 ACCEPT all -- lo any anywhere anywhere
# 0 0 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:ssh
# 0 0 ACCEPT tcp -- eth0 any anywhere anywhere tcp dpt:http
# 0 0 ACCEPT icmp -- any any anywhere anywhere
#
# Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
# pkts bytes target prot opt in out source destination
#
# Chain OUTPUT (policy ACCEPT 343 packets, 59235 bytes)
# pkts bytes target prot opt in out source destination
 
Comme vous pouvez le constater, la politique est une politique d'acceptation (policy ACCEPT). Donc tous les paquets entrent sans restriction. En résumé, jusque là, nos modifications n'ont servies à rien.
Nous allons donc devoir modifier la politique en politique de refus (policy DROP).
# iptables -P INPUT DROP
 
La modification est effective immédiatement. A partir de maintenant, seuls les paquets tcp entrants sur les ports 80, 22 ainsi que les requêtes ICMP sont acceptés.
 
Ces modifications ne seront pas prises en compte au redémarrage. Il faut pour cela créer un fichier script contenant toutes les commandes précédentes.
 
# #!/bin/sh
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A INPUT -p tcp -i eth0 --dport ssh -j ACCEPT
# iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
# iptables -A INPUT -p icmp -j ACCEPT
# iptables -I INPUT 2 -i lo -j ACCEPT
# iptables -P INPUT DROP
 
Créez ce fichier dans le répertoire ''/etc/init.d/'' et n'oubliez pas de le rendre exécutable.
Enfin, utilisez la commande [http://fr.wikibooks.org/wiki/Le_syst%C3%A8me_d%27exploitation_GNU-Linux/Le_processus_d%27initialisation#La_commande_update-rc.d update-rc.d] afin que ce script soit exécuté au démarrage.
 
# updaterc.d votre_fichier defaults
 
== Les conditions ==
10

modifications