PII 233 wrote:
Le Thu, 18 Dec 2003 15:07:55 +0100, zorman cyril �crivait :
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
J'utilise ferm pour �crire mes r�gles de fa�on plus lisible, et il me g�n�re :
iptables -t filter -A INPUT -i eth0 -p tcp --state ESTABLISHED,RELATED -j ACCEPT
qui produit l'erreur :
iptables v1.2.6a: Unknown arg `--state'
Try `iptables -h' or 'iptables --help' for more information.
en cherchant un peu, j'ai trouv� via google la commande "mod" de ferm, qui
n'appara�t
pas dans son manuel, du coup :
mod state state (ESTABLISHED,RELATED) ACCEPT;
fonctionne.
Ou bien :
iptables -A INPUT -i eth0 -p tcp -m state --state
ESTABLISHED,RELATED -j ACCEPT
C'est beaucoup plus �l�gant et beaucoup plus simple.
Alternativement :
option automod
qui appara�t dans le man, mais sans r�elle explication pour qui ne connait
pas sa signification, fait l'affaire.
maintenant, nous acceptons touts les paquets entrant, en relation avec
une connexion d�j� �tablie ou une nouvelle connexion li�e � une
connexion d�j� �tablie
Attention, il y a une petite confusion dans "une nouvelle
connexion li�e � une connexion d�j� �tablie": c'est un _paquet_
en relation avec une connexion d�j� �tablie.
Pour un firewall ne filtrant que le ftp, voici un script �crit
*rapidement* pour proposer un filtrage plus fin (smpt, http, et
autre sont beaucoup plus simples � mettre en place, donc non
indiqu�s ici)...
# Attention, ne pas confondre nouvelle connexion, avec connexion
#"non encore int�gr�e" dans la table d'�tats.
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP
# Quel que soit le mode ftp utilis�,
#la connexion s'�tablie sur le port 21,
iptables -A INPUT -p tcp --sport 21 --dport 1024: -m state
--state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024: --dport 21 -j ACCEPT
# ensuite elle se poursuit avec le transfert des donn�es
#sur le port 20 du serveur (!= client qui
#est ici la machine locale).
iptables -A INPUT -p tcp --sport 20 --dport 1024: -m state
--state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUPUT -p tcp --sport 1024: --dport 20 -m state
--state ESTABLISHED,RELATED -j ACCEPT
# En revanche, pour l'autre type de ftp (actif), c'est
#diff�rent.
iptables -A INPUT -p tcp --sport 1024: --dport 1024: -m state
--state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024: --dport 1024: -m state
--state ESTABLISHED,RELATED -j ACCEPT
Il suffit de rajouter les @IP et je pense que l'on atteint un
niveau de filtrage beaucoup plus fin.
Bonne soir�e
Guillaume Lehmann