Vous n'êtes pas identifié(e).
Pages : 1
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 !
Dernière modification par Nsyo (10-04-2019 16:44:44)
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é.
Dernière modification par raleur (09-04-2019 22:46:03)
Il vaut mieux montrer que raconter.
Hors ligne
(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 ?
Dernière modification par raleur (10-04-2019 12:08:34)
Il vaut mieux montrer que raconter.
Hors ligne
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
Dernière modification par Nsyo (10-04-2019 15:41:24)
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).
Il vaut mieux montrer que raconter.
Hors ligne
Encore 2-3 bricoles à ajouter, mais l'essentiel est là.
Dernière modification par Nsyo (10-04-2019 16:47:00)
- 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/
Dernière modification par raleur (10-04-2019 20:56:53)
Il vaut mieux montrer que raconter.
Hors ligne
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.
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.
Il vaut mieux montrer que raconter.
Hors ligne
Dernière modification par Nsyo (11-04-2019 10:35:02)
Il vaut mieux montrer que raconter.
Hors ligne
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
Pages : 1