OVH Cloud OVH Cloud

iptables: NEW, INVALID, INPUT, ... casse tete

4 réponses
Avatar
cdt_sylvestre
bonjour, je suis en train d essayer de configurer les regles pour iptables
et un serveur linux faisant passerelle (ppp0: internet et eth0:LAN)

quand j autorise un flux, je met les etats NEW,ESTABLISHED dans la ligne de
commande
ainsi pour forward, cela donne à peu près:

iptables -A FORWARD -p tcp -i eth0 --dport 110 -m state NEW,ESTABLISHED -j
ACCEPT
iptables -A FORWARD -p tcp -i eth0--dport 25 -m state NEW,ESTABLISHED -j
ACCEPT
iptables -A FORWARD -p tcp -i eth0 -j DROP

comme ca tout est refusé sauf le 110 et le 25
mais voilà j ai un proxy sur le serveur, je dois donc autoriser le FW a
aller vers le port 80:
iptables -A OUTPUT -p tcp -o ppp0 --dport 80 -m state NEW,ESTABLISHED -j
ACCEPT

apres je bloque tout en INPUT:
iptables -A INPUT -i ppp0 -j DROP
==========
hors cela bloque les paquets de retour du proxy qui va demander des pages
web
si je mets plutot dans INPUT:
iptables -A INPUT -i ppp0 -m state INVALID -j DROP

est ce correct?propre ?

merci à vous

4 réponses

Avatar
Kevin
Le Thu, 13 Nov 2003 16:26:34 +0100, cdt_sylvestre a ecrit:
| bonjour, je suis en train d essayer de configurer les regles pour iptables
| et un serveur linux faisant passerelle (ppp0: internet et eth0:LAN)
|
| quand j autorise un flux, je met les etats NEW,ESTABLISHED dans la ligne de
| commande
| ainsi pour forward, cela donne à peu près:
|
| iptables -A FORWARD -p tcp -i eth0 --dport 110 -m state NEW,ESTABLISHED -j
| ACCEPT
| iptables -A FORWARD -p tcp -i eth0--dport 25 -m state NEW,ESTABLISHED -j
| ACCEPT
| iptables -A FORWARD -p tcp -i eth0 -j DROP
|
Je verrais plutot:
iptables -P FORWARD DROP
iptables -A FORWARD -p tcp -i eth0 -o ppp0 --dport 110 -m state --state
NEW -j ACCEPT
iptables -A FORWARD -p tcp -i eth0 -o ppp0 --dport 25 -m state --state
NEW -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

(eventuellement, tu peux affiner cette troisieme regle)

| comme ca tout est refusé sauf le 110 et le 25
| mais voilà j ai un proxy sur le serveur, je dois donc autoriser le FW a
| aller vers le port 80:

et comment le proxy accepte les requetes du LAN?

| iptables -A OUTPUT -p tcp -o ppp0 --dport 80 -m state NEW,ESTABLISHED -j
| ACCEPT
|
pourquoi pas, mais personnelement je prefere toujours differencier
les flux NEW des ESTABLISHED ou RELATED

| apres je bloque tout en INPUT:
| iptables -A INPUT -i ppp0 -j DROP
|========= | hors cela bloque les paquets de retour du proxy qui va demander des pages
| web
| si je mets plutot dans INPUT:
| iptables -A INPUT -i ppp0 -m state INVALID -j DROP
|
| est ce correct?

bof, amha.
plutot:
iptables -P INPUT DROP
iptables -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT

--
Kevin
Nous ne voulons pas changer le mot de passe root. Il est tres bien, simple.
-+- Les 100 choses que vous n'aimez pas entendre de la part du sysadmin -+-
Avatar
Bertrand Masius
Bonjour,

Le Thu, 13 Nov 2003 16:26:34 +0100, "cdt_sylvestre"

bonjour, je suis en train d essayer de configurer les regles pour iptables
et un serveur linux faisant passerelle (ppp0: internet et eth0:LAN)

quand j autorise un flux, je met les etats NEW,ESTABLISHED dans la ligne de
commande
ainsi pour forward, cela donne à peu près:

iptables -A FORWARD -p tcp -i eth0 --dport 110 -m state NEW,ESTABLISHED -j
ACCEPT
iptables -A FORWARD -p tcp -i eth0--dport 25 -m state NEW,ESTABLISHED -j
ACCEPT
iptables -A FORWARD -p tcp -i eth0 -j DROP

comme ca tout est refusé sauf le 110 et le 25
mais voilà j ai un proxy sur le serveur, je dois donc autoriser le FW a
aller vers le port 80:
iptables -A OUTPUT -p tcp -o ppp0 --dport 80 -m state NEW,ESTABLISHED -j
ACCEPT


si tu as une règle OUTPUT en TCP, tu as forcément un INPUT qui
correspond, mais sans NEW (parce que TCP marche dans les deux sens)

iptables -A INPUT -p tcp -i ppp0 --sport 80 -m state ESTABLISHED,RELATED
-j
ACCEPT

apres je bloque tout en INPUT:
iptables -A INPUT -i ppp0 -j DROP
========= >hors cela bloque les paquets de retour du proxy qui va demander des pages
web
si je mets plutot dans INPUT:
iptables -A INPUT -i ppp0 -m state INVALID -j DROP

est ce correct?propre ?
Non, parce que tu jettes les paquets INVALID, mais tu ne dis pas ce que

tu fais des paquets NEW, ESTABLISHED et RELATED, qui vont traverser le
firewall

de plus, la règle de fin qui bloque tout est mise en place par iptables
dans la règle par défaut, qui est normalement DROP dans la config.


--
"Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément."

(Nicolas Boileau, l'Art poétique)

Avatar
Vincent RIEDWEG
En cette belle journée du Jeudi 13 Novembre 2003 21:43, Kevin DENIS écrivait
sur fr.comp.os.linux.configuration :

Le Thu, 13 Nov 2003 16:26:34 +0100, cdt_sylvestre a ecrit:
| bonjour, je suis en train d essayer de configurer les regles pour
| iptables et un serveur linux faisant passerelle (ppp0: internet et
| eth0:LAN)
|
| quand j autorise un flux, je met les etats NEW,ESTABLISHED dans la ligne
| de commande
| ainsi pour forward, cela donne à peu près:
|
| iptables -A FORWARD -p tcp -i eth0 --dport 110 -m state NEW,ESTABLISHED
| -j ACCEPT
| iptables -A FORWARD -p tcp -i eth0--dport 25 -m state NEW,ESTABLISHED -j
| ACCEPT
| iptables -A FORWARD -p tcp -i eth0 -j DROP
|
Je verrais plutot:
iptables -P FORWARD DROP
iptables -A FORWARD -p tcp -i eth0 -o ppp0 --dport 110 -m state --state
NEW -j ACCEPT
iptables -A FORWARD -p tcp -i eth0 -o ppp0 --dport 25 -m state --state
NEW -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


iptables -A FORWARD -i ppp0 -o eth0 -m state --state ERSTABLISHED -j ACCEPT

Le RELATED n'est pas nécessaire pour le pop et le smtp...

(eventuellement, tu peux affiner cette troisieme regle)


Oui et non... Si tu as correctement renseigner tes règles en NEW, seules les
connexions présentes dans la table des états et donc déjà acceptées sont
dans ce cas... On peut donc soit affiner soit généraliser selon son bon
vouloir.

| comme ca tout est refusé sauf le 110 et le 25
| mais voilà j ai un proxy sur le serveur, je dois donc autoriser le FW a
| aller vers le port 80:

et comment le proxy accepte les requetes du LAN?

| iptables -A OUTPUT -p tcp -o ppp0 --dport 80 -m state NEW,ESTABLISHED -j
| ACCEPT
|
pourquoi pas, mais personnelement je prefere toujours differencier
les flux NEW des ESTABLISHED ou RELATED

| apres je bloque tout en INPUT:
| iptables -A INPUT -i ppp0 -j DROP
|========= > | hors cela bloque les paquets de retour du proxy qui va demander des
| pages web
| si je mets plutot dans INPUT:
| iptables -A INPUT -i ppp0 -m state INVALID -j DROP
|
| est ce correct?

bof, amha.
plutot:
iptables -P INPUT DROP
iptables -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT


RELATED n'est pas non plus nécessaire ici.

Si ca peut aider qq1, j'ai fait un petit script maison dispo ici :
ftp://poloh.dyndns.org/public/xvincefw/

Vincent.

Avatar
Kevin
Le Fri, 14 Nov 2003 08:48:22 +0100, Vincent RIEDWEG a ecrit:
|> |
|> Je verrais plutot:
|> iptables -P FORWARD DROP
|> iptables -A FORWARD -p tcp -i eth0 -o ppp0 --dport 110 -m state --state
|> NEW -j ACCEPT
|> iptables -A FORWARD -p tcp -i eth0 -o ppp0 --dport 25 -m state --state
|> NEW -j ACCEPT
|> iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
|
| iptables -A FORWARD -i ppp0 -o eth0 -m state --state ERSTABLISHED -j ACCEPT
|
| Le RELATED n'est pas nécessaire pour le pop et le smtp...
|
n'y a t'il pas des icmp related a ces connections? (Faudrait que je
retrouve mes docs ou c'etait explique). Mais si un paquet icmp vient
avertir de quelque chose, il se fait bloquer. Avec le RELATED, il
passe.

--
Kevin
Merde! [appuis frenetiques sur ^C]
-+- Les 100 choses que vous n'aimez pas entendre de la part du sysadmin -+-