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 à