Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 30-03-2020 21:19:35

galactic
Membre
Inscription : 16-01-2017

Firewall bloquant les envois de mail

Bonjour,
J'ai un serveur qui fonctionne avec 4 entités :
1 - application web
2 - service ssh pour l'administration
3 - client pour DNS dynamique
4 - un script d'envoi de mail avec client de messagerie (mutt)

J'ai paramétré iptables avec quelques règles.
Si iptables n'a aucun filtre ( iptables -P ACCEPT pour [ INPUT et OUTPUT ] ) : les 4 entités fonctionnent.
Si j'applique les règles ( iptables -P DROP pour [ INPUT et OUTPUT ] ), seules les 3 premières fonctionnent; l'envoi de mail ne se fait pas.

Le client de messagerie est utilisé seulement pour l'envoi de mail (protocole smtp/port 465)

Les règles concernant cette partie :

iptables -A INPUT -p tcp --sport 465 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 465 -j ACCEPT



J'ai élargi en mettant une plage de ports large, des fois qu'un autre port puisse être impliqué dans l'échange: même problème.
Je ne pense pas que celà soit une question de port, mais je ne vois pas ce qui manque dans ces règles.

Des idées ?

Hors ligne

#2 30-03-2020 23:37:31

raleur
Membre
Inscription : 03-10-2014

Re : Firewall bloquant les envois de mail

1) Les règles isolées du contexte du jeu de règle complet ne veulent rien dire.
2) Tu es sûr du port ? Le port 465 correspond au protocole SMTP sur TLS/SSL implicite, qui est obsolète et abandonné. On est censé utiliser plutôt le port 25 (SMTP) avec ou sans TLS/SSL explicite pour communiquer entre MTA. Par contre la communication entre un MUA comme mutt et un smarthost devrait utiliser le port 587 dédié au protocole Submission (sous-ensemble de SMTP).
3) La première règle est une faille de sécurité béante. Pour les paquets retour le port source ne suffit pas, on doit utiliser l'état de suivi de connexion (-m state --state ESTABLISHED).

Il vaut mieux montrer que raconter.

Hors ligne

#3 31-03-2020 11:08:56

galactic
Membre
Inscription : 16-01-2017

Re : Firewall bloquant les envois de mail

Bjr,

raleur a écrit :

1) Les règles isolées du contexte du jeu de règle complet ne veulent rien dire.


Je ne préjuge pas à qui je m'adresse : il y en a qui zappent au-delà de 5 lignes de code.

iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 22-j ACCEPT
iptables -A INPUT -p tcp --sport 465 -j ACCEPT
iptables -A INPUT -p tcp --sport 8245 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -P INPUT DROP
iptables -A OUTPUT -p tcp --sport 8080 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 465 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 8245 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -P OUTPUT DROP



raleur a écrit :

2) Tu es sûr du port ?


smtp/465 : c'est le port utilisé par Free;  et celà fonctionne si je n'utilise pas iptables.

raleur a écrit :

3) La première règle est une faille de sécurité béante. Pour les paquets retour le port source ne suffit pas, on doit utiliser l'état de suivi de connexion


J'écris d'abord les règles d'une façon basique, et quand celà fonctionnera, je passerai à une écriture plus élaborée.

Hors ligne

#4 31-03-2020 11:49:12

raleur
Membre
Inscription : 03-10-2014

Re : Firewall bloquant les envois de mail

galactic a écrit :

Je ne préjuge pas à qui je m'adresse : il y en a qui zappent au-delà de 5 lignes de code.


Et tu comptes sur l'aide de ces gens-là ?

Avec ces règles, les connexions sortantes vers TCP/465 devraient passer. Le trafic sur l'interface de loopback est aussi accepté, au cas où mutt passerait par un MTA local au lieu de s'adresser directement au SMTP extérieur. Il y a peut-être en parallèle des requêtes DNS avec des tailles importantes qui nécessitent le transport en TCP. Essaie d'ajouter des règles pour le port 53 en TCP aussi.

Si ça ne marche toujours pas, tu as l'option d'ajouter des règles de LOG en fin de chaînes pour voir les paquets bloqués avec dmesg.

galactic a écrit :

J'écris d'abord les règles d'une façon basique


L'utilisation du suivi de connexion, c'est archi-basique et ça simplifie en éliminant les règles de retour avec --sport. Ton jeu de règles actuel deviendrait :

iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j LOG

iptables -P OUTPUT DROP
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 465 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 8245 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -j LOG


Il vaut mieux montrer que raconter.

Hors ligne

#5 01-04-2020 12:30:33

galactic
Membre
Inscription : 16-01-2017

Re : Firewall bloquant les envois de mail

raleur a écrit :

Essaie d'ajouter des règles pour le port 53 en TCP aussi.


L'ajout de règles autorisant le protocole TCP sur le port 53/domain n'a pas d'incidence.


Par ailleurs je doute de la "stabilité" d'iptables :

iptables -A INPUT -p tcp --sport 465 -j LOG
iptables: No chain/target/match by that name.



La distribution est un portage sur architecture ARM, et d'origine iptables n'était pas présent : donc apt-get install.

Hors ligne

#6 01-04-2020 22:47:21

raleur
Membre
Inscription : 03-10-2014

Re : Firewall bloquant les envois de mail

Bizarre cette erreur. Quelle variante d'iptables utilises-tu ? L'ancienne qui utilise l'infra iptables du noyau ou la nouvelle qui utilise l'infra nftables ?

iptables -V


Il vaut mieux montrer que raconter.

Hors ligne

#7 02-04-2020 15:27:12

galactic
Membre
Inscription : 16-01-2017

Re : Firewall bloquant les envois de mail

iptables -V
iptables v1.4.12
 



Cette version date de juillet 2011.

Hors ligne

#8 02-04-2020 16:17:24

raleur
Membre
Inscription : 03-10-2014

Re : Firewall bloquant les envois de mail

Pas tout jeune. D'où vient-elle ?
Et le reste du système, le noyau ?
Est-ce que le module xt_LOG ou ipt_LOG est présent ?

uname -a
modinfo ipt_LOG
modinfo xt_LOG
cat /proc/net/ip_tables_targets

Dernière modification par raleur (02-04-2020 16:19:46)


Il vaut mieux montrer que raconter.

Hors ligne

#9 02-04-2020 18:28:08

galactic
Membre
Inscription : 16-01-2017

Re : Firewall bloquant les envois de mail

Bsr,

# uname -a
Linux ubuntu 3.4.79+ #5 SMP PREEMPT Wed Oct 15 14:06:46 CST 2014 armv7l armv7l armv7l GNU/Linux



Pas étonnant que les logs ne soient pas accessibles :

# modinfo ipt_LOG
ERROR: modinfo: could not find module ipt_LOG
# modinfo xt_LOG
ERROR: modinfo: could not find module xt_LOG



# cat /proc/net/ip_tables_targets
REJECT
REDIRECT
NETMAP
MASQUERADE
DNAT
SNAT
ERROR
 

Hors ligne

#10 02-04-2020 19:14:05

galactic
Membre
Inscription : 16-01-2017

Re : Firewall bloquant les envois de mail

Le problème semble résolu (sous réserve de finaliser les règles iptables et la configuration de mutt).
Après divers essais, je me suis aperçu que le blocage se faisait sur les règles de la chaine INPUT.
J'ai changé le port smtp : smtp/465 --> smtp/587 (voir ici : Free)
Merci pour l'aide et les suggestions.

Hors ligne

#11 02-04-2020 19:29:21

raleur
Membre
Inscription : 03-10-2014

Re : Firewall bloquant les envois de mail

Qu'est-ce que c'est ce noyau tout pourri qui n'a même pas été compilé avec la cible LOG ?

Finalement c'était bien le port 587 qu'il fallait autoriser, et pas le 465.

Il vaut mieux montrer que raconter.

Hors ligne

Pied de page des forums