2 votes

iptables ne laisse pas tomber par IP et port ?

J'ai environ 4 adresses IP qui ne cessent de frapper un port de mon réseau de manière aléatoire et que je voudrais bloquer. J'ai donc ajouté les règles comme ceci à mon routeur OpenWRT :

iptables -I INPUT -s FIRST_PUBLIC_IP -p tcp --dport 32400 -j DROP
iptables -I INPUT -s SECOND_PUBLIC_IP -p tcp --dport 32400 -j DROP
iptables -I INPUT -s THIRD_PUBLIC_IP -p tcp --dport 32400 -j DROP
iptables -I INPUT -s FOURTH_PUBLIC_IP -p tcp --dport 32400 -j DROP

J'ai aussi cette règle qui écrit dans le journal chaque fois qu'il y a une connexion sur ce port.

iptables -I FORWARD -p tcp --dport 32400 -m limit --limit 1/min -j LOG --log-prefix "PLEX Connection "

Je pensais donc que si l'une des 4 adresses IP listées essayait de se connecter sur ce port, elle serait simplement abandonnée et n'arriverait jamais dans la chaîne de transmission. Tout le reste déclencherait cette règle de journalisation.

Cependant, ces adresses IP sont toujours enregistrées via la règle FORWARD. Elles sont en direct maintenant et les ont rendues permanentes au redémarrage. Qu'est-ce qui m'a échappé ?

6voto

Matt Chan Points 590

Les paquets qui surfent sur la table FORWARD n'atteignent pas la table INPUT. Donc, si vos paquets atteignent effectivement la table FORWARD, ils sont probablement en train d'être natés ou quelque chose de similaire - ce qui est correct, mais signifie que vous ne pouvez pas utiliser les règles INPUT pour les affecter.

L'entrée Netfilter de Wikipédia contient un excellent diagramme de référence - intimidant à lire mais très utile comme référence : https://en.wikipedia.org/wiki/Netfilter#/media/File:Netfilter-packet-flow.svg .

Mais je soupçonne que vous manipulez des paquets, et c'est pourquoi ce n'est pas immédiatement évident. Envisagez d'ajouter vos règles - aussi compliquées soient-elles - dans le PreRouting de nat, ou dans la table FORWARD à la place, et voyez le changement de comportement.

Bonne chance, et n'hésitez pas à développer votre question si nécessaire.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X