Note : dans le noyau installé sur certains serveurs dédiés les tables sont compilées en dur et non en modules et sont donc toujours actives.
Bon à savoir ça ]]>
]]>
Par contre, je n'ai pas compris ce que tu voulais dire par "décharger" les tables.
Décharger les modules du noyau correspondants avec modprobe. Voir mon message #4.]]>
Pour vérifier qu'il ne manque rien, j'ai mis quelques echo :
Mais de toute manière, les règles Iptables sont bien vides.]]>
- faire comme si toutes les tables avaient toutes les chaînes, avec "|| true" pour neutraliser les erreurs de chaînes inexistantes.
EDIT : s/restore/save/]]>
Encore 2-3 bricoles à ajouter, mais l'essentiel est là.]]>
Pour le loopback, c'est la règle en OUTPUT que j'ai supprimé. J'ai vu que ça n'était pas forcément nécessaire.
Dans ton cas les deux règles sont nécessaires car les paquets de loopback doivent passer par les deux chaîne OUTPUT puis INPUT qui ont des politiques par défaut DROP.
Mais en rajoutant l'état RELATED, les paquets ICMP sont bloqués en entrée et en sortie. Par exemple
L'état RELATED ne doit s'appliquer qu'aux 3 types d'erreur (en INPUT et OUTPUT), pas à echo-request (en OUTPUT seulement si tu ne veux pas répondre au ping entrant).]]>
Les règles autorisant les paquets ICMP laissent passer bien plus que le ping.
Ça m'a fait penser que ça pouvait poser des problèmes de sécurité, d’où l'interdiction en entrée. Mais finalement, c'est plus clair avec les explications.
J'ai dû rajouter le type ICMP echo-request parce que le ping était bloqué. Par contre, je n'arrive pas à configurer l'état. Avec ces règles là, ça fonctionne :
Mais en rajoutant l'état RELATED, les paquets ICMP sont bloqués en entrée et en sortie. Par exemple :
En effet, il y a la règle en INPUT pour SSH pour avoir accès à ma machine occasionnellement depuis l’extérieur. Mais le serveur et la redirection du trafic sont la plupart du temps désactivés, activés seulement au besoin.
Merci pour ces précieuses informations concernant iptables-save + iptables-restore ]]>
]]>
(fournit par iptable-persistent chez Debian il me semble). C'est plus simple que de faire un script + service.
En effet, je viens de voir que les tables mangle, nat et filter sont listées dans /proc/net/ip_tables_names.
Donc pour la partie réinitialisation, je peux laisser tel quel non ?
J'ai viré les règles de la chaine INPUT. Va savoir pourquoi j'ai cru que c'était nécessaire.
J'ai enlevé le FTP, autant privilégier le SFTP. Et j'ai conservé ICMP en sortie.
(Et j'ai corrigé le port de connexion IMAP dans mon client mail au passage )
Tu penses quoi des règles actuelles ?
]]>
c'est pour un ordinateur domestique, pas un serveur.
Alors pourquoi toutes ces règles dans la chaîne INPUT ?
Notes :
- Tu pourrais factoriser les commandes de réinitialisation de stop() et start() dans une autre fonction.
Ces commandes activent les tables nat et mangle (et pourquoi pas la table raw ?) qui ne sont pas utilisées par tes règles. A mon avis il serait plus plus propre de ne réinitaliser que les tables déjà actives, listées dans /proc/net/ip_tables_names.
- Autoriser le port 21 est insuffisant pour le protocole FTP. Cela ne prend pas en compte les connexions de données actives ou passives qui utilisent des ports dynamiques différents de 21. Pour cela il faut charger le module nf_conntrack_ftp et ajouter une règle dans la table raw avec la cible CT pour marquer les connexions FTP à surveiller et des règles pour autoriser les connexions de données liées (RELATED).
- Les règles autorisant les paquets ICMP laissent passer bien plus que le ping.
- Le port 993 pour IMAPS (TLS implicite) est obsolète. On est censé utiliser le port standard 143 avec TLS explicite.
- Le port 587 n'est pas SMTP mais Submission, un sous-ensemble du protocole SMTP pour les clients de messagerie (alors que le protocole SMTP complet est prévu pour la communication entre agents de transport).
Au passage, vous savez ce que font ces règles ?
Oui. Que veux-tu savoir exactement ?
J'ai vu ça dans pas mal de configs, mais j'ai du mal à comprendre ce que ça fait.
Un conseil : n'utilise pas ce que tu ne comprends pas. Ça risque de bloquer du traffic que tu souhaites autoriser et/ou te procurer un faux sentiment de sécurité.]]>
Au passage, vous savez ce que font ces règles ? J'ai vu ça dans pas mal de configs, mais j'ai du mal à comprendre ce que ça fait.
Merci ! ]]>