Pas �vident � comprendre pour un novice en iptables, mais on va s'y coller.
Une remarque : pourriez vous avoir l'obligeance de traduire "policy" par "politique" (ou "strat�gie")? Je crois que ce serait plus ad hoc, non?
Rosaire


cc a �crit :
Le Samedi 7 Juin 2003 10:39, Apollonie Raffalli a �crit :

Si tu veux, je te la fais plus technique, d'ailleurs j'ai vue dans le
thread que quelqu'un avait oubli� d'autoriser l'etat RELATED, pourtant
tr�s important ! Le protocol tcp est tr�s strict l� dessus.

L'�tat RELATED est certes important mais non n�cessaire compte tenu des besoins pr�cis de Rosaire.

La gestion de cet �tat est n�cessaire si l'on doit utiliser certains
protocoles comme le FTP qui n�cessite une double connexion.

Maintenant, c'est vrai que si l'on rajoute RELATED apr�s ESTABLISHED ce
n'est pas faux et cela permettra de g�rer tous les protocoles ; c'est
d'ailleurs ce que j'ai dans mon propre script puisque j'ai un serveur FTP.

Et pour


l'�tablissement de la connection je met trois lignes, c'est parce que �a
tiens en trois paquets !

Je maintiens mes dires : l'�tat RELATED n'a rien � voir avec l'�tablissement d'une connexion.

Sans esprit de pol�mique, je propose donc une nouvelle "r�gle" des trois
lignes :
client -> serveur "coucou" passerelle: NEW
serveur -> client "re coucou" passerelle: ESTABLISHED et non RELATED
client -> serveur "ok alors on cause!": ESTABLISHED

tu as raison.
l'�tat RELATED concerne des connexions *relatives* � des connexions d�j� �tablies, en g�n�ral les transferts FTP en mode actif.
Au niveau de la connexion elle-m�me, on n'a que deux �tats : NEW (on cr�e une nouvelle connexion) et ESTABLISHED (la connexion est �tablie).
Cela dit, pour prot�ger notre r�seau interne et notre passerelle des seules tentatives d'acc�s de l'ext�rieur tout en servant de passerelle pour notre r�seau interne, il faut et il suffit d'interdire toute connexion �tablie de l'ext�rieur (state NEW -j DROP sur l'interface externe). Mais pour que cela fonctionne, il faut mettre une police par d�faut � ACCEPT, sinon il fudrait autoriser un � un tous les services r�seau, par protocole.
Cette r�gle devant bien entendu s'appliquer aux paquets entrant et passant par la passerelle. Ce qui donne ce script que j'utilise et qui me donne statisfaction (test� avec de multiples outils avec succ�s)


#!/bin/bash
# firewall + nat - CC 01-2003

#d�finition variable pour l'interface externe (vers internet)
# mettre ici sa propre interface
EXTIF=ppp0

#vidage et remise � z�ro chaines
iptables -F
iptables -X
iptables -Z

#d�finitions policies par d�faut (accept ou drop)
iptables -P INPUT ACCEPT #on pourrait mettre DROP ici
iptables -P FORWARD ACCEPT #et ici # mais il faudrait alors autoriser explicitement tout ce qui peut # entrer et passer
iptables -P OUTPUT ACCEPT


#cr�ation de chaine utilisateur log et drop (logue et drope les # paquets refus�s)
iptables -N LD
iptables -F LD
iptables -A LD -j LOG --log-level warning --log-prefix "bloqu� : "
iptables -A LD -j DROP


#cr�ation de chaine utilisateur log et drop toute connexion nouvelle
#provenant de l'interface vers internet
#accepte les connexions �tablies ou relatives � une connexion �tablie
iptables -N FILTRE1
iptables -F FILTRE1
iptables -A FILTRE1 -i $EXTIF -m state --state NEW -j LD
#bloque aussi smb (devrait d�j� �tre arr�t� par la r�gle pr�c�dente
#mais illustre le moyen de bloquer des services particuliers
iptables -A FILTRE1 -i $EXTIF -p tcp --dport 137:139 -j LD
iptables -A FILTRE1 -i $EXTIF -p udp --dport 137:139 -j LD
iptables -A FILTRE1 -i $EXTIF -p tcp --dport 445 -j LD
iptables -A FILTRE1 -i $EXTIF -p udp --dport 445 -j LD
#autorise les paquets des connexions �tablies ou relatives � une connexion
#�tablie (comme FTP)
iptables -A FILTRE1 -i $EXTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
#rajouter ici les connexions entrantes autoris�es (ssh...)


#d�finition des actions (pour ce qui rentre et ce qui traverse) iptables -t filter -A INPUT -j FILTRE1 iptables -t filter -A FORWARD -j FILTRE1 echo "filtrage activ�" #masquerading iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward echo "masquerading activ�"







Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Répondre à