Troumad a �crit :
Voil�, c'est long... et �a doit m�riter des am�liorations !

Certes, mais je n'ai rien vu qui soit susceptible de bloquer le trafic DNS entrant ou sortant sur le r�seau local.


LOCAL="eth0"
NET="eth1"

case "$1" in
   start)
       echo "Mise en place du mur de feu"

       # /etc/network/if-pre-up.d/iptables-start
       # Script qui d�marre les r�gles de filtrage "iptables"
       # MISE � ZERO des r�gles de filtrage
       iptables -F
       iptables -t nat -F

Ajoute une commande -X pour chaque table pour supprimer les �ventuelles cha�nes utilisateur comme dans le choix stop.


       # Je veux que les connexions entrantes soient bloqu�es par d�faut
       iptables -P INPUT DROP

       # Je veux accepter les connexions qui entrent par
       # une interface et sortent par l'autre (ex. de eth1 vers ppp0)
       # appel� aussi Forwarding
       iptables -P FORWARD ACCEPT

Tu n'as peur de rien, dis ! Donc le firewall prot�ge la passerelle mais pas le r�seau local.


       # Je veux que les connexions sortantes soient accept�es par d�faut
       iptables -P OUTPUT ACCEPT

       # Pas de filtrage sur l'interface de "loopback"
       iptables -A INPUT -i lo -j ACCEPT

# Je veux permettre tous les paquets sortants provenant de mon ordinateur
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

R�gle redondante avec la politique par d�faut ACCEPT de la cha�ne OUTPUT.

       # accepter le protocole ICMP (ex.ping)
       iptables -A INPUT -p icmp -j ACCEPT

AMA il vaut mieux g�rer explicitement les diff�rents types de requ�tes ICMP et laisser la r�gle suivante s'occuper des ICMP qui sont des r�ponses ou des messages d'erreur relatifs � des connexions existantes.


# J'accepte les packets entrants relatifs � des connexions d�j� �tablies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# D�commentez les deux lignes suivantes pour que le serveur FTP �ventuel
# soit joignable de l'ext�rieur
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT

La premi�re r�gle pour le port 20 est inutile quand on utilise le suivi de connexion. Le port 20 est utilis� uniquement comme port source par un serveur FTP en mode actif pour �tablir une connexion ftp-data _sortante_ vers le client.


[...]
       # D�commentez la ligne suivante pour que Imap soit
       # acc�ssible sur le r�seau interne
       iptables -A INPUT -i $LOCAL -p tcp --dport 110 -j ACCEPT

110 c'est le port pour POP3, et le port IMAP est plut�t le 143.

[...]
       iptables -A INPUT -i $LOCAL -p tcp --dport 111 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p tcp --dport 2049 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p tcp --dport 4000 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p tcp --dport 4001 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p tcp --dport 4002 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p tcp --dport 4003 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p udp --dport 111 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p udp --dport 2049 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p udp --dport 4000 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p udp --dport 4001 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p udp --dport 4002 -j ACCEPT
       iptables -A INPUT -i $LOCAL -p udp --dport 4003 -j ACCEPT

Quelle horreur, que c'est lourd. Essaie de regrouper autant que possible les ports par intervalles et le reste avec la correspondance multiport, ou mieux mport si ton noyau et ta version d'iptables le supportent. Par exemple en TCP :


iptables [...] -p tcp -m multiport --dports 111,2049 -j [...]
iptables [...] -p tcp --dports 4000:4003 -j [...]

ou encore plus simplement :

iptables [...] -p tcp -m mport --dport 111,2049,4000:4003 -j [...]

et la m�me chose en UDP.

Suggestion : regrouper les r�gles INPUT concernant l'interface locale dans une cha�ne utilisateur pour �viter de r�p�ter -i $LOCAL � chaque fois.

       # La r�gle par d�faut pour la chaine INPUT devient DROP
       # pour des raisons de s�curit�
       iptables -A INPUT -j DROP

Conseil : pr�f�re REJECT au lieu de DROP, c'est plus propre. Eventuellement avec une limitation (-m limit) en cas de flood.


# FIN des r�gles de filtrage
# DEBUT des r�gles pour le partage de connexion (i.e. le NAT)
# D�commentez la ligne suivante pour que le syst�me fasse office de
# "serveur NAT" et ainsi cacher les machines forward�es par le firewall


iptables -t nat -A POSTROUTING -o $NET -j MASQUERADE

Une correspondance -s sur la plage d'adresses source du r�seau local ne ferait pas de mal.


[...]

   restart)
       $0 stop

Pourquoi faire puisque le $0 start qui suit vide aussi les cha�nes et red�finit les politiques par d�faut ?


       /bin/sleep 1
       #/usr/bin/sleep 1
       $0 start


--
Pensez � lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez � rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Répondre à