iptables est de très bas niveau et lorsque vous écrivez des règles iptables, vous traitez avec des paquets IP bruts. Cela a un certain nombre d’implications, dont vous avez découvert une.
Il existe des cas d'utilisation parfaitement valables pour les cas où le trafic sortant devrait être autorisé, mais aucun trafic entrant correspondant ne devrait être autorisé à passer à travers le pare-feu; ou l’inverse, le trafic entrant est autorisé mais le trafic sortant non autorisé. Les serveurs de stockage de journaux (qui à leur tour sont souvent utiles pour l'audit) constituent un exemple courant: le trafic de journaux doit être autorisé. dans , mais aucun ne devrait être autorisé en dehors . Dans les cas extrêmes, le trafic de journalisation doit être autorisé dans , mais rien d'autre devrait être permis soit dedans ou dehors .
Si iptables ne fait aucune hypothèse sur ce que vous voulez, vous augmentez non seulement la sécurité, mais également les performances, car le jeu de règles peut être optimisé pour ce que vous voulez que le pare-feu fasse réellement.
Si vous souhaitez autoriser le trafic entrant lié à une connexion ou une session déjà établie, indiquez-le-lui simplement:
sudo iptables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT
ou pour IPv6:
sudo ip6tables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT
Ajuste le -I INPUT 1
séparez-les au besoin (par exemple, si vous avez d'autres règles devant prévaloir sur la règle générale qui autorise le trafic relatif à une connexion ou une session établie).