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é !!!
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.
Règle FORWARD iptables
-
- Contributeur
- Messages : 876
- Inscription : 05 août 2016, 20:25
- Status : Hors-ligne
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.phildu31 a écrit : Exemple : https://www.mondomaine.fr:1234 de l'extérieur sera redirigé vers https://serveurA:1234 en local
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.
Tu n'as qu'à faire pareil dans FORWARD.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.
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 : Et si je fais un "iptables -P FORWARD -j DROP", plus rien n'est redirigé !!!
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 : Voici mon script /etc/init.d/iptables, sans entrer dans les détails
"Les règles FORWARD" ? Tu n'en montres qu'une seule. Notamment, où est celle qui autorise le trafic retour ?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".