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"
