Pages : 1
#1 Le 29/10/2012, à 11:02
- Shinji-san
smtp via postfix en relayhost encapsulé dans stunnel
Bonjour à tous.
J'ai réalisé il y a peu une installation de postfix en relayhost (ssl0.ovh.net) sur mon nouveau serveur Ubuntu server 12.04 LTS.
Souhaitant sécurisé tout ça je me suis vu obliger d'installer stunnel pour faire du smtp over SSL. En effet postfix ne connait que STARTTLS en natif alors que le smtp d'OVH ne le supporte pas.
Paramètres du *.conf :
debug = 5
output = /var/log/stunnel4/stunnel.log
client = yes
foreground = no
[ssmtp]
accept = n
connect = ssl0.ovh.net:465
Ce même port n est celui spécifié dans postfix :
relayhost = 127.0.0.1:n
Alors voici mon soucis :
Lorsque je bloque le port n de mon serveur avec iptables, les mails parviennent normalement.
Alors qu'en bloquant le port 465, plus rien ne passe ! N'est-ce pas étrange ? ça devrait être le contraire, n'est-ce pas !?
Avez-vous une idée ?
Dernière modification par Shinji-san (Le 30/10/2012, à 11:09)
Hors ligne
#2 Le 31/10/2012, à 10:00
- Shinji-san
Re : smtp via postfix en relayhost encapsulé dans stunnel
Personne ne voit de solutions ? Il manque des infos peut-être ?
Voici les règles iptables dont je parlais (sachant que j'utilise une stratégie classique dans laquelle je bloque tout par défaut et ouvre que ce que j'utilise) :
La règle suivante permet l'envoie de mails :
iptables -t filter -A OUTPUT -p tcp --dport 465 -j ACCEPT
Celle-ci ne change rien :
iptables -t filter -A OUTPUT -p tcp --dport n -j ACCEPT
Hors ligne
#3 Le 05/11/2012, à 09:39
- Shinji-san
Re : smtp via postfix en relayhost encapsulé dans stunnel
Heu ... toujours personne ?
Hors ligne
#4 Le 06/11/2012, à 12:29
- Pseudo supprimé
Re : smtp via postfix en relayhost encapsulé dans stunnel
Je pense que c'est normal, puisque la ressource est bindée en 127.0.0.1.
C'est comme si tu mettais une règle sur mysql alors qu'il travaille en 127.0.0.1:3306 et inaccessible par défaut de l'extérieur. Est-ce que tu mets une règle iptables sur les filtrages amavis et autres en 127.0.0.1:100xx ? non, spamassassin en 127.0.0.1:783 ? non etc ...
Ed:
sudo lsof -i:465,25,587 && sudo netstat -antup | egrep '(25|465|587|127\.0\.0\.1)' | sort
Dernière modification par Titouan (Le 06/11/2012, à 12:32)
#5 Le 16/11/2012, à 16:46
- Shinji-san
Re : smtp via postfix en relayhost encapsulé dans stunnel
Encore désolé du retard, j'ai du tout remonter ... mais bonne nouvelle, la config est la même donc même soucis
Alors, voilà le résultat de ta commande :
# sudo lsof -i:465,25,587 && sudo netstat -antup | egrep '(25|465|587|127\.0\.0\.1)' | sort
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
master 3577 root 12u IPv4 3952 0t0 TCP *:smtp (LISTEN)
master 3577 root 13u IPv6 3953 0t0 TCP *:smtp (LISTEN)
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 3577/master
tcp 0 0 0.0.0.0:n 0.0.0.0:* LISTEN 3630/stunnel4
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 3401/named
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 3401/named
tcp6 0 0 :::25 :::* LISTEN 3577/master
udp 0 0 127.0.0.1:53 0.0.0.0:* 3401/named
Par contre je ne comprends pas en quoi c'est normal. Les mails devraient sortir de mon firewall par le port n et aller vers le smtp d'OVH, port 465. Sinon comment faire pour leurs faire emprunter le tunnel ssh ? Y'a quelque chose que je ne dois pas comprendre ...
Dernière modification par Shinji-san (Le 19/11/2012, à 10:10)
Hors ligne
#6 Le 21/11/2012, à 16:56
- Shinji-san
Re : smtp via postfix en relayhost encapsulé dans stunnel
Toujours pas ?
Hors ligne
#7 Le 22/11/2012, à 17:50
- Pseudo supprimé
Re : smtp via postfix en relayhost encapsulé dans stunnel
Je ne vois pas où est le problème.
Je pense que cela serait préoccupant si c'était server=yes avec un forward dans le nat sur le port en question. Ok, il n'est pas bindé mais c'est tout comme, à caude de client=yes.
La conf est équivalent à
1/openssl s_client -host ton_smtp.domain.tld -port 465
la session se déroule normalement
et renvoie à la fin de la session de (1) selon le routage de transport_map & relayhost (2) à (3)
2/routage: condition du relais en fonction
relayhost=[127.0.0.1]:11465
ou
relayhost= #pas de valeur
transport_maps = hash:/etc/postfix/transport.cf
/etc/postfix/transport.cf
# Interne
domain.tld :
.domain.tld :
# Externe
* smtp:[127.0.0.1]:11465
toute destination (*) est renvoyée à un équivalent telnet 127.0.0.1 11465
3/telnet 127.0.0.1 11465
le serveur smtp (dans ton cas ssl0.ovh.net) est invoqué et la session se déroule normalement
si tu fais les tests en telnet 11465, c'est inaccessible depuis l'extérieur. (telnet smtp.domain.tld 11465)
4/wireshark
pour avoir la totalité des transactions, tu es obligé de prendre ethx et lo, avec
tcp.srcport==465 || tcp.dstport==465 4a/
tcp.srcport==11465 || tcp.dstport==11465 4b/
et cela même si tu envois un mail depuis n'importe où, (paris serveur, marseille client)
marseille client:
>thunderbird configuration, ton_smtp.domain.tld 465 SSL authentification user(oui)
5/ En résumé, tu as juste à te préoccuper en SMTP du 25 TLS, 587 TLS, et 465 SSL et c'est tout!
Edit: || à la place de &&
Dernière modification par Titouan (Le 22/11/2012, à 18:16)