Security-X
Forum Security-X => Internet & Réseau => Discussion démarrée par: XmichouX le février 14, 2014, 11:59:06
-
Yo !
J'ai une question concernant IPTables.
Dans le cadre du boulot, j'ai ajouté quelques règles sur un iptables (os debian).
J'ai vu qu'il figurait déjà la règle suivante :
Chain INPUT (policy DROP 3854 packets, 476K bytes)
pkts bytes target prot opt in out source destination
419K 60M ACCEPT all -- lo any anywhere anywhere
Concernant cette ligne, elle n'autorise pas tous les flux entrants bien-sûr, ceci à cause du "local" spécifié pour l'interface "in".
Dans le man iptables, j'ai trouvé ça :
-i, --in-interface [!] [nom]
Nom de l'interface qui reçoit les paquets (seulement pour les paquets passant par les chaînes INPUT, FORWARD et PREROUTING). Lorsqu'un «!» est utilisé avant le nom d'interface, la sélection est inversée. Si le nom de l'interface se termine par un «+», il désigne toutes les interfaces commençant par ce nom. Si cette option est omise, toutes les interfaces réseau sont désignées.
-o, --out-interface [!] [nom]
Nom de l'interface qui envoie les paquets (seulement pour les paquets passant par les chaînes FORWARD, OUTPUT et POSTROUTING). Lorsqu'un «!» est utilisé avant le nom d'interface, la sélection est inversée. Si le nom de l'interface se termine par un «+», il désigne toutes les interfaces commençant par ce nom. Si cette option est omise, toutes les interface réseau sont désignées.
Mais j'aimerais bien comprendre exactement ce que veut dire ma règle, ce qu'actuellement je n'ai pas réellement compris;
Merci !
-
Salut
Ta règle ressemble à ça ?
igor51@debian-lenovo:~% sudo iptables -A INPUT --in-interface lo -j ACCEPT
Ce qui donne :
igor51@debian-lenovo:~% sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
Si je suis bien réveillé, ta règle autorise tous les flux entrant sur ton interface local, quelque soit la source .
-
Salut,
oui c'est ça : -A INPUT -i lo -j ACCEPT
Concrètement, ça veut dire quoi ça ? (flux entrant sur mon interface "locale")
Sachant que ça n'autorise pas tous les flux entrants.
Merci :)
-
Sachant que ça n'autorise pas tous les flux entrants.
Comment ça ? Juste avec la règle que tu as mise, la réponse est "j'autorise tous les flux entrant sur cette interface".
Cela signifique, que si tu as un process qui écoute sur ton interface "lo", alors les connexions seront acceptées. Je cherche un exemple parlant, mais je n'ai que Stunnel sous la main et je ne sais pas si tu connais...
-
En fait, ce que je ne comprends pas bien est la notion de "local".
Si mon IP est par exemple 10.30.2.2. Si un autre serveur (10.30.2.3 par exemple) tente de se connecter à moi en tcp, ça ne fonctionne pas (normal à vrai dire vu que c'est l'interface locale qui est spécifiée).
En fait je ne vois pas trop à quoi la règle peut servir. ça sert pour des processus qui font du réseau localement ?
genre un processus qui se connecterait via le "réseau" à un autre processus (autre port) sur le même PC?
Thx
-
Ca sert pour les processus qui écoute sur la boucle local.
J'ai trouvé un exemple concret (vu que tu ne sembles pas connaitre Stunnell)
igor51@debian-lenovo:~% sudo netstat -tpna
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 3212/mysqld
Par exemple, j'ai une base de donnée Mysql qui n'écoute qu'en local. Si tu bloques toutes les connexions par défaut pour les autoriser une par une dans ton iptables, tu dois mettre ta règle si tu veux pouvoir t'y connecter, sinon iptables empechera la connexion sur à la base.
-
D'ac, merci =)