Règle FORWARD iptables

Demande d'aide : c'est ici.
Répondre
phildu31
Messages : 1
Inscription : 01 juil. 2018, 16:13
Status : Hors-ligne

Bonjour,

J'ai mis en place un firewall pour filtrer uniquement les flux en entrée avec iptables sur raspbian mais je bloque sur un "problème".
Je m'explique...

Je souhaite utiliser des règles "FORWARD" afin de rediriger les flux entrants selon le port spécifié.
Exemple : https://www.mondomaine.fr:1234 de l'extérieur sera redirigé vers https://serveurA:1234 en local

Le "forward" fonctionne, que ce soit pour du https ou du ssh.
Mais voilà : je suis obligé de faire un "iptables -P FORWARD -j ACCEPT" pour que cela fonctionne, alors que je souhaiterais tout bloquer par défaut et n'accepter QUE des macadresses spécifiques.
Et si je fais un "iptables -P FORWARD -j DROP", plus rien n'est redirigé !!!
:icon_e_surprised:

Par défaut je fais un "DROP" pour les INPUT et OUTPUT et ne fais des "ACCEPT" uniquement pour des macadresses spécifiques. Et ça fonctionne pour les INPUT et OUTPUT.

Voici mon script /etc/init.d/iptables, sans entrer dans les détails :

'start")

sysctl -w net.ipv4.ip_forward=1
$0 stop
iptables -A POSTROUTING -t nat -j MASQUERADE
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1234 -j DNAT --to-destination IP_SERVEURA:1234
iptables -A FORWARD -p tcp -d IP_SERVEURA --dport 1234 -j ACCEPT

'stop')
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT DROP

Dans le "start", j'ai placé les filtres en INPUT pour autoriser les macadresses spécifiques, après les règles "FORWARD".

Si quelqu'un a une idée ou saurait ce qui ne va pas...

Merci d'avance.
PascalHambourg
Contributeur
Contributeur
Messages : 876
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

phildu31 a écrit : Exemple : https://www.mondomaine.fr:1234 de l'extérieur sera redirigé vers https://serveurA:1234 en local
iptables ne peut pas faire ça, il ne connaît rien aux URL HTTP, ni même à la résolution DNS. C'est un travail pour un reverse proxy HTTP.
Au mieux, il peut rediriger une connexion destinée à une adresse IP et un port donnés vers une autre adresse IP et un autre port donnés.
phildu31 a écrit : Par défaut je fais un "DROP" pour les INPUT et OUTPUT et ne fais des "ACCEPT" uniquement pour des macadresses spécifiques. Et ça fonctionne pour les INPUT et OUTPUT.
Tu n'as qu'à faire pareil dans FORWARD.
phildu31 a écrit : Et si je fais un "iptables -P FORWARD -j DROP", plus rien n'est redirigé !!!
Si, puisque la redirection intervient avant le filtrage, et la chaîne PREROUTING est parcourue avant la chaîne FORWARD. C'est peut-être bloqué ensuite, ou au retour.
phildu31 a écrit : Voici mon script /etc/init.d/iptables, sans entrer dans les détails
Il faut entrer dans les détails et fournir le script complet. Un jeu de règles est un ensemble cohérent, n'en montrer que des extraits ne sert à rien. On ne peut pas prédire l'effet d'une règle isolée de son contexte.
phildu31 a écrit : Dans le "start", j'ai placé les filtres en INPUT pour autoriser les macadresses spécifiques, après les règles "FORWARD".
"Les règles FORWARD" ? Tu n'en montres qu'une seule. Notamment, où est celle qui autorise le trafic retour ?
Répondre