Configuration de Postfix TLS

5

Je suis en train de mettre en place un serveur postfix sur Arch Linux. Cela semble fonctionner pour le moment - je peux parler avec succès via telnet localhost 25. Cependant, lorsque j'essaie de me connecter en utilisant openssl s_client, il se plaint:

$ openssl s_client -connect localhost:25
CONNECTED(00000003)
140243743024808:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:766:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 228 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---

et quitte avec le statut 1.

Partie pertinente de /etc/postfix/main.cf:

smtpd_tls_key_file = /path/to/server.key.pem
smtpd_tls_cert_file = /path/to/server.crt.pem
smtpd_tls_CAfile = /path/to/ca.pem

smtpd_tls_security_level = may

J'ai aussi la clé et le cert dans des formats non-pem, et ils fonctionnent bien avec un autre service qui les utilise (un serveur xmpp).

J'ai trouvé de la documentation disant que pour y parvenir, je devais décommenter une ligne /etc/postfix/main.cfet utiliser le port 587 au lieu de 25. Cela me donne la même chose openssl s_clientque ci-dessus.

Comment convaincre-t-on postfix d'utiliser TLS?

lvc
la source

Réponses:

3

Vous n'avez pas besoin d'utiliser le port 587 pour les tls, car il est indépendant du protocole d'application.

Je reçois exactement le même résultat que vous openssl s_client -connect localhost:25, mais cela fonctionne correctement sur mon serveur.

Actuellement, je n'ai pas accès à mon wiki personnel, donc je ne pouvais pas coller la commande correcte pour vérifier votre configuration de tls sur votre système. Mais vous pouvez utiliser CheckTLS .

teissler
la source
2

Je vous suggère de lire à propos de STARTTLS . En résumé, démarrez une connexion en texte brut non chiffrée et effectuez une mise à niveau vers TLS ultérieurement. La opensslcommande ne l'utilise pas et souhaite effectuer directement une négociation SSL / TLS.

La configuration de facto "générale" pour les MTA consiste à configurer STARTTLS sur le port 587, SSL / TLS pur sur 465 et non sécurisé avec l'option STARTTLS sur le port 25. Ce n'est pas une norme, à ce que je sache, les fournisseurs de services semblent le faire.

Gertvdijk
la source