OVH Cloud OVH Cloud

iptables, comportement normal?

16 réponses
Avatar
news
Bonjour,

J'ai refait un pare-feu allege pour une machine connecte a internet.
Il est tres simple: tout peut sortir, ce qui entre ne peut etre qu'une
reponse a une requete interne.

ca donne ca:
# vidage des regles:
$IPTABLES -F INPUT
$IPTABLES -F FORWARD
$IPTABLES -F OUTPUT

# politque par defaut
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP

# ce qui est autorise
$IPTABLES -A OUTPUT -o eth0 -j ACCEPT
$IPTABLES -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

#tout ce qui est local est accepte
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT

# on logue le reste
$IPTABLES -A INPUT -j LOG --log-prefix "IPTABLES non catches: "
$IPTABLES -A INPUT -j DROP # juste pour etre "propre"


Mais voila, quand je fais un :
ssh mamachine
ca marche, sachant que mamachine est associee a l'IP de eth0 (dans
/etc/hosts).
En reduisant les regles, il semble que ce sont les regles liees a lo qui
laissent passer. Pq?
Hostname donne mamachine, ca vient de ca?
J'ai essaye en changeant le hostname, mais c'est pareil, idem en
ajoutant un nouveau nom a l'ip eth0.

Est-ce que c'est normal? Je ne crois pas, et il me semble que ca
fonctionnait pas y'a qqs jours.

A priori, le reste du trafic ne passe pas, mais ce genre de constats me
fait un peu douter.

Est-ce que je suis trop parano, ou c'est pas normal?

10 réponses

1 2
Avatar
Vincent
Bonjour,

J'ai refait un pare-feu allege pour une machine connecte a internet.
Il est tres simple: tout peut sortir, ce qui entre ne peut etre qu'une
reponse a une requete interne.

ca donne ca:
# vidage des regles:
$IPTABLES -F INPUT
$IPTABLES -F FORWARD
$IPTABLES -F OUTPUT

# politque par defaut
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP

# ce qui est autorise
$IPTABLES -A OUTPUT -o eth0 -j ACCEPT
$IPTABLES -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

#tout ce qui est local est accepte
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT

# on logue le reste
$IPTABLES -A INPUT -j LOG --log-prefix "IPTABLES non catches: "
$IPTABLES -A INPUT -j DROP # juste pour etre "propre"


Mais voila, quand je fais un :
ssh mamachine
ca marche, sachant que mamachine est associee a l'IP de eth0 (dans
/etc/hosts).
En reduisant les regles, il semble que ce sont les regles liees a lo qui
laissent passer. Pq?
Hostname donne mamachine, ca vient de ca?
J'ai essaye en changeant le hostname, mais c'est pareil, idem en
ajoutant un nouveau nom a l'ip eth0.

Est-ce que c'est normal? Je ne crois pas, et il me semble que ca
fonctionnait pas y'a qqs jours.

A priori, le reste du trafic ne passe pas, mais ce genre de constats me
fait un peu douter.

Est-ce que je suis trop parano, ou c'est pas normal?


Si tu fais un ping mamachine, il devrait te repondre 127.0.0.1 donc logique.

Avatar
memyself_
news wrote:

<snip>
Mais voila, quand je fais un :
ssh mamachine
ca marche, sachant que mamachine est associee a l'IP de eth0 (dans
/etc/hosts).


ça n'a rien à voir avec /etc/hosts. Tu n'utilise que des noms d'interface
dans ta config

Tu es sûr que ton pare-feux est bien activé?
iptables -L pour verifier la config

++

Avatar
Kevin Denis
On 2005-04-28, news wrote:

J'ai refait un pare-feu allege pour une machine connecte a internet.
Il est tres simple: tout peut sortir, ce qui entre ne peut etre qu'une
reponse a une requete interne.

ca donne ca:
#tout ce qui est local est accepte
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT

Mais voila, quand je fais un :
ssh mamachine
ca marche, sachant que mamachine est associee a l'IP de eth0 (dans
/etc/hosts).
En reduisant les regles, il semble que ce sont les regles liees a lo qui
laissent passer. Pq?


tout ce qui est a destination de ta propre IP passe par lo. C'est comme
ca.

Hostname donne mamachine, ca vient de ca?


non

J'ai essaye en changeant le hostname, mais c'est pareil, idem en
ajoutant un nouveau nom a l'ip eth0.

tu peux le faire en numerique aussi.


Est-ce que c'est normal? Je ne crois pas, et il me semble que ca
fonctionnait pas y'a qqs jours.

A priori, le reste du trafic ne passe pas, mais ce genre de constats me
fait un peu douter.

Est-ce que je suis trop parano, ou c'est pas normal?


C'est normal.
--
Kevin

Avatar
news
Vincent wrote:

Si tu fais un ping mamachine, il devrait te repondre 127.0.0.1 donc
logique.


Pas ici. Ca me repond l'IP de eth0 (c'est fait pour).

Avatar
news
Kevin Denis wrote:
On 2005-04-28, news wrote:

J'ai refait un pare-feu allege pour une machine connecte a internet.
Il est tres simple: tout peut sortir, ce qui entre ne peut etre qu'une
reponse a une requete interne.

ca donne ca:
#tout ce qui est local est accepte
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT

Mais voila, quand je fais un :
ssh mamachine
ca marche, sachant que mamachine est associee a l'IP de eth0 (dans
/etc/hosts).
En reduisant les regles, il semble que ce sont les regles liees a lo qui
laissent passer. Pq?



tout ce qui est a destination de ta propre IP passe par lo. C'est comme
ca.


Il me semblait pas justement.
Du coup, si on ping l'ip, ca ne veut plus dire que l'interface ethernet
est ok. Il me semblait avoir lu (y'a longtemps) que c'etait une facon de
faire, que si on voulait passer en local, fallait passer par 127.0.0.1

Hostname donne mamachine, ca vient de ca?



non


J'ai essaye en changeant le hostname, mais c'est pareil, idem en
ajoutant un nouveau nom a l'ip eth0.



tu peux le faire en numerique aussi.


exact.

Est-ce que c'est normal? Je ne crois pas, et il me semble que ca
fonctionnait pas y'a qqs jours.

A priori, le reste du trafic ne passe pas, mais ce genre de constats me
fait un peu douter.

Est-ce que je suis trop parano, ou c'est pas normal?



C'est normal.


OK, merci.
Ce comportement m'etonne quand meme un peu je dois dire.


Avatar
Kevin Denis
On 2005-04-29, news wrote:

tout ce qui est a destination de ta propre IP passe par lo. C'est comme
ca.


Il me semblait pas justement.
Du coup, si on ping l'ip, ca ne veut plus dire que l'interface ethernet
est ok.


"ok" ca veut dire quoi? Par exemple, je peux faire un ping sur mon
interface:
:~$ ping 172.16.5.45
PING 172.16.5.45 (172.16.5.45) 56(84) bytes of data.
64 bytes from 172.16.5.45: icmp_seq=1 ttld time=0.243 ms

alors qu'il n'y a rien dessus. Elle est ok, mais pourtant non puisque
aucun cable n'est au bout.

Il me semblait avoir lu (y'a longtemps) que c'etait une facon de
faire, que si on voulait passer en local, fallait passer par 127.0.0.1

le lo est une interface reseau virtuelle toujours presente meme quand

il n'y a aucune interface et qui represente toujours "soi meme".

L'idee de faire passer tout ce qui est a destination de ta propre IP
par lo est plutot bonne amha (ca va plus vite).
--
Kevin


Avatar
news
Kevin Denis wrote:
On 2005-04-29, news wrote:

tout ce qui est a destination de ta propre IP passe par lo. C'est comme
ca.


Il me semblait pas justement.
Du coup, si on ping l'ip, ca ne veut plus dire que l'interface ethernet
est ok.



C'etait ma methode pour verifier que le driver pour la carte reseau
etait bien charge et que l'interface fonctionnait.
Mais apparemment, ca va etre a revoir comme methode.



Avatar
Pascal
Salut,

Kevin Denis wrote:
[...]

En reduisant les regles, il semble que ce sont les regles liees a lo
qui laissent passer. Pq?


tout ce qui est a destination de ta propre IP passe par lo. C'est comme
ca.



Précision utile pour éviter toute ambiguïté : tout ce qui est émis _par
la machine_ à destination d'elle-même, quelle que soit l'adresse
destination utilisée.

Il me semblait pas justement.


Si. Et c'est normal : si les paquets étaient envoyés sur eth0, comment
feraient-ils pour revenir ?

Du coup, si on ping l'ip, ca ne veut plus dire que l'interface ethernet
est ok.


Non, en effet. En fait il suffit d'avoir une route locale vers n'importe
quelle adresse pour que le ping sur cette adresse réponde.

Il me semblait avoir lu (y'a longtemps) que c'etait une facon de
faire, que si on voulait passer en local, fallait passer par 127.0.0.1


Pas seulement. Tout le bloc 127.0.0.0/8 et toutes les adresses de toutes
les interfaces aussi.

Ce comportement m'etonne quand meme un peu je dois dire.


C'est au contraire très logique. ethX mène vers d'autres machines. Seule
l'interface de loopback mène vers la machine elle-même.

--
Pascal
Les changements du patch-o-matic-ng Netfilter au jour le jour :
http://www.plouf.fr.eu.org/bazar/netfilter/pom/pom-ng-change-parsed.txt



Avatar
TiChou
Dans le message <news:,
*Kevin Denis* tapota sur f.c.o.l.configuration :

le lo est une interface reseau virtuelle toujours presente meme quand
il n'y a aucune interface


Non, pas toujours.

--
TiChou

Avatar
Kevin Denis
On 2005-04-29, TiChou wrote:

le lo est une interface reseau virtuelle toujours presente meme quand
il n'y a aucune interface


Non, pas toujours.

Un peu plus de precisions, SVP?


--
Kevin


1 2