Avis Iptables

Merci j’ai donc des log :

Jan 13 19:52:04 vps123161 kernel: [4220276.069036] IPTables-Dropped: IN=venet0 OUT= MAC= SRC=92.222.186.1 DST=37.59.119.xx LEN=32 TOS=0x08 PREC=0x00 TTL=10 ID=1 DF PROTO=ICMP TYPE=8 CODE=0 ID=3906 SEQ=1
Jan 13 19:52:04 vps123161 kernel: [4220276.151255] IPTables-Dropped: IN=venet0 OUT= MAC= SRC=92.222.184.1 DST=37.59.119.xx LEN=32 TOS=0x08 PREC=0x00 TTL=11 ID=1 DF PROTO=ICMP TYPE=8 CODE=0 ID=2572 SEQ=1
Jan 13 19:52:05 vps123161 kernel: [4220277.303417] IPTables-Dropped: IN=venet0 OUT= MAC= SRC=92.222.185.1 DST=37.59.119.xx LEN=32 TOS=0x08 PREC=0x00 TTL=9 ID=1 DF PROTO=ICMP TYPE=8 CODE=0 ID=62524 SEQ=1
Jan 13 19:52:06 vps123161 kernel: [4220278.031455] IPTables-Dropped: IN=venet0 OUT= MAC= SRC=167.114.37.1 DST=37.59.119.xx LEN=32 TOS=0x08 PREC=0x00 TTL=8 ID=1 DF PROTO=ICMP TYPE=8 CODE=0 ID=43177 SEQ=1
Jan 13 19:52:11 vps123161 kernel: [4220282.846098] IPTables-Dropped: IN=venet0 OUT= MAC= SRC=92.222.186.1 DST=37.59.119.xx LEN=32 TOS=0x08 PREC=0x00 TTL=10 ID=1 DF PROTO=ICMP TYPE=8 CODE=0 ID=48933 SEQ=1
Jan 13 19:52:11 vps123161 kernel: [4220283.247292] IPTables-Dropped: IN=venet0 OUT= MAC= SRC=92.222.184.1 DST=37.59.119.xx LEN=32 TOS=0x08 PREC=0x00 TTL=11 ID=1 DF PROTO=ICMP TYPE=8 CODE=0 ID=43034 SEQ=1
Jan 13 19:52:12 vps123161 kernel: [4220283.889020] IPTables-Dropped: IN=venet0 OUT= MAC= SRC=92.222.185.1 DST=37.59.119.xx LEN=32 TOS=0x08 PREC=0x00 TTL=9 ID=1 DF PROTO=ICMP TYPE=8 CODE=0 ID=65310 SEQ=1

c’est le monitoring d’OVH si j’ai bien compris c’est du ICMP de type 8 donc j’ai tenté de faire cela :

iptables -A OUTPUT -p icmp --icmp-type 8 -d 92.222.185.1 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 8 -d 92.222.184.1 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 8 -d 92.222.186.1 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 8 -d 167.114.37.1 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 8 -d 5.39.111.9 -j ACCEPT

Possible, mais les adresses sources ne correspondent pas aux noms d’hôte dans les règles de monitoring de ton premier message.

Autrement dit echo-request, requête de ping. C’est plus parlant que “type 8”.

Soit il s’agit d’une erreur d’étourderie, soit tu n’as pas compris la logique d’iptables. Voici quelques questions pour t’y aider :

  • Quelles sont les caractéristiques (direction entrante/sortante, source, destination) des paquets bloqués ?
  • Quelles sont les caractéristiques des paquets autorisés par les règles additionnelles ?
  • En quoi elles ne correspondent pas ?

Possible, mais les adresses sources ne correspondent pas aux noms d’hôte dans les règles de monitoring de ton premier message.

Autrement dit echo-request, requête de ping. C’est plus parlant que “type 8”.

Soit il s’agit d’une erreur d’étourderie, soit tu n’as pas compris la logique d’iptables. Voici quelques questions pour t’y aider :

  • Quelles sont les caractéristiques (direction entrante/sortante, source, destination) des paquets bloqués ?
  • Quelles sont les caractéristiques des paquets autorisés par les règles additionnelles ?
  • En quoi elles ne correspondent pas ?[/quote]

Ma logique me fait défaut …
SRC=92.222.186.1 = IP SOURCE DST=37.59.119.xx IP DISTANTE

donc

[code]iptables -A INPUT -p icmp --icmp-type echo-request -s 92.222.185.1 -d 37.59.119.XX -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-request -s 92.222.185.1 -d 37.59.119.XX -j ACCEPT

iptables -A INPUT -p icmp --icmp-type echo-request -s 92.222.186.1 -d 37.59.119.XX -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-request -s 92.222.186.1 -d 37.59.119.XX -j ACCEPT

iptables -A INPUT -p icmp --icmp-type echo-request -s 167.114.37.1 -d 37.59.119.XX -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-request -s 167.114.37.1 -d 37.59.119.XX -j ACCEPT

iptables -A INPUT -p icmp --icmp-type echo-request -s 5.39.111.9 -d 37.59.119.XX -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-request -s 5.39.111.9 -d 37.59.119.XX -j ACCEPT
[/code]

Pour moi c’est un sans faute ?

FAIL :confused: D’après les LOG c’est toujours drop

Note : inutile de citer tout le message précédent surtout lorsque tu réponds directement dessous. Au besoin tu peux citer les morceaux particuliers auxquels tu réponds point par point comme je fais.

DST = “destination”, pas “distante”. Ici, il se trouve que cette adresse de destination est locale puisque le paquet est destiné à la machine.
L’autre information importante est “IN=venet0”, signifiant qu’il s’agit d’un paquet entrant, qui doit donc être traité dans la chaîne INPUT.

C’est mieux mais pas encore parfait.

  • Les règles dans la chaîne OUTPUT ne servent à rien pour autoriser les réponses de ta machine aux pings d’OVH. Primo il faudrait spécifier le type echo-reply et non echo-request. Secundo les paquets de réponse sont dans l’état ESTABLISHED et donc doivent déjà être autorisés par la règle générale acceptant les paquets dans cet état. Tertio, la source et la destination ne sont pas cohérentes avec la direction du paquet.

  • Tu n’as pas besoin de spécifier l’adresse de destination dans la chaîne INPUT, on sait déjà que la destination est forcément la machine locale. Ce n’est utile que si la machine a plusieurs adresses et que tu veux filtrer différemment selon l’adresse destination.

Vérifie l’ordre des règles dans la chaîne INPUT, que ces nouvelles règles ne soient pas placées après la règle LOG/DROP.

J’ai donc fais comme ceci :

iptables -A INPUT -p icmp --icmp-type echo-request -s 92.222.185.1 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -s 92.222.185.1 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -s 92.222.184.1 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -s 92.222.184.1 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -s 92.222.186.1 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -s 92.222.186.1 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -s 167.114.37.1 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -s 167.114.37.1 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -s 5.39.111.9 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -s 5.39.111.9 -m state --state ESTABLISHED -j ACCEPT

A première vue cela fonctionne, merci beaucoup.

Si ça marche, ce n’est pas grâce aux règles OUTPUT qui sont toujours erronées, la source et la direction étant encore incohérents. Mais au moins elles ne gênent pas, elles ne servent juste à rien.

Donc ? je ne comprends pas ce que je dois faire pour ces règles.

Donc ce n’est pas une simple erreur d’étourderie. C’est bien ce qui m’ennuie.
Dans quel but les as-tu écrites ? Quels paquets sont-elles censées accepter ? Quels paquets acceptent-elles en réalité ?
N’aie pas peur d’être trivial dans tes réponses. Ne te contente pas d’une description à haut niveau mais décris les flux et les paquets mis en jeu. Les règles iptables traitent des paquets, tu dois donc raisonner en terme de paquets.

c’est des packets pour établir sur le manager les infos MRTG d’OVH j’ai pas plus d’infos mise a part les IPS et le protocole.

Tu fais une description à trop haut niveau, pas du tout adaptée à l’écriture de règles iptables.
Je vais te montrer la démarche puisque tu sembles un peu perdu.

Grâce aux règles LOG on a vu dans les logs des paquets ICMP type 8 (echo-request = requête ping) entrants émis par certaines adresses de machines chez OVH. On extrait les caractéristiques suivantes :
Direction : IN = entrant -> INPUT
protocole : ICMP
type : echo-request
source : 92.222.185.1 (exemple)
destination : locale, adresse indifférente
état : indifférent

Avec ces informations, on peut écrire la règle iptables pour accepter ces paquets :

Il faut aussi accepter les paquets de réponse qui seront émis par ta machine vers l’émetteur de la requête :
Direction : sortant -> OUTPUT
protocole : ICMP
type : echo-reply
source : locale, indifférente
destination : 92.222.185.1 (l’adresse à l’origine de la requête)
état : ESTABLISHED (car c’est une réponse)

Avec ces informations, on peut écrire la règle iptables pour accepter ces paquets :

Cependant, cette dernière règle est redondante s’il existe une règle plus générale acceptant tous les paquets sortants dans l’état ESTABLISHED comme celle-ci :

Merci, en effet j’ai pas la logique iptables mais a force je vais m’y faire merci pour tout