4 votes

comment configurer deux ports smtp pour postfix ?

Un serveur CentOS 7 avec postfix, Dovecot, et mailx a besoin de prendre en compte les courriers envoyés à travers port 465 et reçu par port 25 . Quelle syntaxe et quels fichiers spécifiques doivent être modifiés pour y parvenir ?

Voici mes tentatives jusqu'à présent :

1.) J'ai ajouté 465 inet n - - - - smtpd à /etc/postfix/master.cf dans la section suivante :

# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n   -   n   -   -   smtpd
465       inet  n   -   -   -   -   smtpd

2.) J'ai ensuite redémarré postfix en tapant systemctl stop postfix suivi par systemctl start postfix et ensuite systemctl status postfix .

3.) Ensuite, j'ai assigné les ports 25 et 465 du pare-feu au service SMTP. J'ai testé pour confirmer que le pare-feu autorisait le port 465 en tapant nc my.SERVER.ip.addr 465 < /dev/null dans le terminal devbox, et voir qu'il répond en imprimant 220 mydomain.com ESMTP Postfix . J'ai ensuite vérifié que le pare-feu autorisait l'accès SMTP au port 25 en envoyant un courriel de test à partir d'un autre serveur et en constatant qu'il était reçu par ce serveur, évidemment par le port 25.

4.) J'ai confirmé que le client Thunderbird sur mon devbox a le port 465 configuré pour le smtp sortant dans le compte me@mydomain.com à partir duquel j'essaie d'envoyer des e-mails à partir du serveur en utilisant le client Thunderbird de mon devbox.

5.) J'ai ensuite tapé tcpdump -n -i any tcp port 465 dans le terminal du serveur et a également tapé tcpdump -n -i any tcp port 465 dans le terminal devbox.

6.) Une fois tout cela mis en place, j'ai essayé d'utiliser Thunderbird pour envoyer un courriel de test à partir de l'adresse suivante me@mydomain.com à some_other_test_account@someotherdomain.com . Thunderbird s'est arrêté sans envoyer l'e-mail, mais le message suivant est apparu tcpdump a été imprimé sur les terminaux des deux machines.

Au niveau du SERVEUR, cela se traduit par :

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
15:26:40.204817 IP my.SERVER.ip.addr.urd > my.DEVBOX.ip.addr.40555: Flags [S.], seq 1955299233, ack 152228482, win 14480, options [mss 1460,sackOK,TS val 1056230222 ecr 5576928,nop,wscale 7], length 0
15:26:40.293442 IP my.DEVBOX.ip.addr.40555 > my.SERVER.ip.addr.urd: Flags [.], ack 1, win 115, options [nop,nop,TS val 5577014 ecr 1056230222], length 0
15:26:40.293926 IP my.SERVER.ip.addr.urd > my.DEVBOX.ip.addr.40555: Flags [P.], seq 1:43, ack 1, win 114, options [nop,nop,TS val 1056230312 ecr 5577014], length 42
15:26:40.298215 IP my.DEVBOX.ip.addr.40555 > my.SERVER.ip.addr.urd: Flags [F.], seq 1, ack 1, win 115, options [nop,nop,TS val 5577015 ecr 1056230222], length 0
15:26:40.298521 IP my.SERVER.ip.addr.urd > my.DEVBOX.ip.addr.40555: Flags [F.], seq 43, ack 2, win 114, options [nop,nop,TS val 1056230316 ecr 5577015], length 0
15:26:40.384890 IP my.DEVBOX.ip.addr.40555 > my.SERVER.ip.addr.urd: Flags [.], ack 43, win 115, options [nop,nop,TS val 5577104 ecr 1056230312], length 0
15:26:40.389738 IP my.DEVBOX.ip.addr.40555 > my.SERVER.ip.addr.urd: Flags [.], ack 44, win 115, options [nop,nop,TS val 5577113 ecr 1056230316], length 0
15:28:49.598741 IP my.DEVBOX.ip.addr.40557 > my.SERVER.ip.addr.urd: Flags [S], seq 1432245308, win 14600, options [mss 1460,sackOK,TS val 5706324 ecr 0,nop,wscale 7], length 0
15:28:49.598807 IP my.SERVER.ip.addr.urd > my.DEVBOX.ip.addr.40557: Flags [S.], seq 706641072, ack 1432245309, win 14480, options [mss 1460,sackOK,TS val 1056359616 ecr 5706324,nop,wscale 7], length 0
15:28:49.685239 IP my.DEVBOX.ip.addr.40557 > my.SERVER.ip.addr.urd: Flags [.], ack 1, win 115, options [nop,nop,TS val 5706409 ecr 1056359616], length 0
15:28:49.685304 IP my.DEVBOX.ip.addr.40557 > my.SERVER.ip.addr.urd: Flags [P.], seq 1:186, ack 1, win 115, options [nop,nop,TS val 5706409 ecr 1056359616], length 185
15:28:49.685328 IP my.SERVER.ip.addr.urd > my.DEVBOX.ip.addr.40557: Flags [.], ack 186, win 122, options [nop,nop,TS val 1056359703 ecr 5706409], length 0
15:28:49.700806 IP my.SERVER.ip.addr.urd > my.DEVBOX.ip.addr.40557: Flags [P.], seq 1:43, ack 186, win 122, options [nop,nop,TS val 1056359719 ecr 5706409], length 42
15:28:49.783363 IP my.DEVBOX.ip.addr.40557 > my.SERVER.ip.addr.urd: Flags [.], ack 43, win 115, options [nop,nop,TS val 5706510 ecr 1056359719], length 0
15:28:49.783411 IP my.SERVER.ip.addr.urd > my.DEVBOX.ip.addr.40557: Flags [P.], seq 43:154, ack 186, win 122, options [nop,nop,TS val 1056359801 ecr 5706510], length 111
15:28:49.868122 IP my.DEVBOX.ip.addr.40557 > my.SERVER.ip.addr.urd: Flags [.], ack 154, win 115, options [nop,nop,TS val 5706592 ecr 1056359801], length 0
15:30:36.430512 IP my.DEVBOX.ip.addr.40557 > my.SERVER.ip.addr.urd: Flags [F.], seq 186, ack 154, win 115, options [nop,nop,TS val 5813157 ecr 1056359801], length 0
15:30:36.430912 IP my.SERVER.ip.addr.urd > my.DEVBOX.ip.addr.40557: Flags [F.], seq 154, ack 187, win 122, options [nop,nop,TS val 1056466449 ecr 5813157], length 0
15:30:36.513221 IP my.DEVBOX.ip.addr.40557 > my.SERVER.ip.addr.urd: Flags [.], ack 155, win 115, options [nop,nop,TS val 5813243 ecr 1056466449], length 0
^C
19 packets captured
20 packets received by filter
0 packets dropped by kernel

Au DEVBOX, cela s'est traduit par :

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
12:32:00.232924 IP my.SERVER.ip.addr.urd > 10.0.0.2.40557: Flags [S.], seq 706641072, ack 1432245309, win 14480, options [mss 1460,sackOK,TS val 1056359616 ecr 5706324,nop,wscale 7], length 0
12:32:00.232992 IP 10.0.0.2.40557 > my.SERVER.ip.addr.urd: Flags [.], ack 1, win 115, options [nop,nop,TS val 5706409 ecr 1056359616], length 0
12:32:00.233212 IP 10.0.0.2.40557 > my.SERVER.ip.addr.urd: Flags [P.], seq 1:186, ack 1, win 115, options [nop,nop,TS val 5706409 ecr 1056359616], length 185
12:32:00.319025 IP my.SERVER.ip.addr.urd > 10.0.0.2.40557: Flags [.], ack 186, win 122, options [nop,nop,TS val 1056359703 ecr 5706409], length 0
12:32:00.334311 IP my.SERVER.ip.addr.urd > 10.0.0.2.40557: Flags [P.], seq 1:43, ack 186, win 122, options [nop,nop,TS val 1056359719 ecr 5706409], length 42
12:32:00.334359 IP 10.0.0.2.40557 > my.SERVER.ip.addr.urd: Flags [.], ack 43, win 115, options [nop,nop,TS val 5706510 ecr 1056359719], length 0
12:32:00.415529 IP my.SERVER.ip.addr.urd > 10.0.0.2.40557: Flags [P.], seq 43:154, ack 186, win 122, options [nop,nop,TS val 1056359801 ecr 5706510], length 111
12:32:00.415586 IP 10.0.0.2.40557 > my.SERVER.ip.addr.urd: Flags [.], ack 154, win 115, options [nop,nop,TS val 5706592 ecr 1056359801], length 0
12:33:46.981077 IP 10.0.0.2.40557 > my.SERVER.ip.addr.urd: Flags [F.], seq 186, ack 154, win 115, options [nop,nop,TS val 5813157 ecr 1056359801], length 0
12:33:47.066884 IP my.SERVER.ip.addr.urd > 10.0.0.2.40557: Flags [F.], seq 154, ack 187, win 122, options [nop,nop,TS val 1056466449 ecr 5813157], length 0
12:33:47.066946 IP 10.0.0.2.40557 > my.SERVER.ip.addr.urd: Flags [.], ack 155, win 115, options [nop,nop,TS val 5813243 ecr 1056466449], length 0
^C
11 packets captured
12 packets received by filter
0 packets dropped by kernel

Notez que les 7 premiers éléments dans la sortie du serveur sont apparus lors d'un test précédent, bien que les deux tcpdump -n -i any tcp port 465 Les commandes (serveur et devbox) ont été exécutées en même temps.

Notez que la saisie de postconf -n sur le serveur a donné lieu à :

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
unknown_local_recipient_reject_code = 550  

Aussi, taper postconf -M sur le serveur donne lieu à :

smtp       inet  n       -       n       -       -       smtpd
465        inet  n       -       -       -       -       smtpd
pickup     unix  n       -       n       60      1       pickup
cleanup    unix  n       -       n       -       0       cleanup
qmgr       unix  n       -       n       300     1       qmgr
tlsmgr     unix  -       -       n       1000?   1       tlsmgr
rewrite    unix  -       -       n       -       -       trivial-rewrite
bounce     unix  -       -       n       -       0       bounce
defer      unix  -       -       n       -       0       bounce
trace      unix  -       -       n       -       0       bounce
verify     unix  -       -       n       -       1       verify
flush      unix  n       -       n       1000?   0       flush
proxymap   unix  -       -       n       -       -       proxymap
proxywrite unix  -       -       n       -       1       proxymap
smtp       unix  -       -       n       -       -       smtp
relay      unix  -       -       n       -       -       smtp
showq      unix  n       -       n       -       -       showq
error      unix  -       -       n       -       -       error
retry      unix  -       -       n       -       -       error
discard    unix  -       -       n       -       -       discard
local      unix  -       n       n       -       -       local
virtual    unix  -       n       n       -       -       virtual
lmtp       unix  -       -       n       -       -       lmtp
anvil      unix  -       -       n       -       1       anvil
scache     unix  -       -       n       -       1       scache

Le contenu de /var/log/maillog dans cette période étaient :

Mar  3 15:22:05 mydomain postfix/postfix-script[8565]: starting the Postfix mail system
Mar  3 15:22:05 mydomain postfix/master[8567]: daemon started -- version 2.10.1, configuration /etc/postfix
Mar  3 15:23:40 mydomain postfix/smtpd[8572]: connect from unknown[my.DEVBOX.ip.addr]
Mar  3 15:25:26 mydomain postfix/smtpd[8572]: lost connection after UNKNOWN from unknown[my.DEVBOX.ip.addr]
Mar  3 15:25:26 mydomain postfix/smtpd[8572]: disconnect from unknown[my.DEVBOX.ip.addr]
Mar  3 15:26:40 mydomain postfix/smtpd[8572]: connect from unknown[my.DEVBOX.ip.addr]
Mar  3 15:26:40 mydomain postfix/smtpd[8572]: lost connection after CONNECT from unknown[my.DEVBOX.ip.addr]
Mar  3 15:26:40 mydomain postfix/smtpd[8572]: disconnect from unknown[my.DEVBOX.ip.addr]
Mar  3 15:28:49 mydomain postfix/smtpd[8578]: connect from unknown[my.DEVBOX.ip.addr]
Mar  3 15:30:36 mydomain postfix/smtpd[8578]: lost connection after UNKNOWN from unknown[my.DEVBOX.ip.addr]
Mar  3 15:30:36 mydomain postfix/smtpd[8578]: disconnect from unknown[my.DEVBOX.ip.addr]
Mar  3 15:33:40 mydomain postfix/anvil[8574]: statistics: max connection rate 1/60s for (465:my.DEVBOX.ip.addr) at Mar  3 15:23:40
Mar  3 15:33:40 mydomain postfix/anvil[8574]: statistics: max connection count 1 for (465:my.DEVBOX.ip.addr) at Mar  3 15:23:40
Mar  3 15:33:40 mydomain postfix/anvil[8574]: statistics: max cache size 1 at Mar  3 15:23:40  

Les paramètres du serveur sortant dans Thunderbird sont les suivants :

Description:           <Not Specified>  
Server Name:           mydomain.com  
Port:                  465
User Name:             me
Authentication Method: Normal Password
Connection Security:   SSL/TLS  

J'interprète cela comme signifiant que le blocage se trouve dans postfix. Donc que dois-je changer pour que postfix autorise les clients distants à envoyer des messages par le biais de port 465 tout en permettant de recevoir du courrier d'autres serveurs par l'intermédiaire de port 25 ?


EDIT :


Conformément aux instructions du lien donné par @sebix, j'ai essayé ce qui suit :

Sur /etc/postfix/main.cf J'ai décommenté la ligne suivante :

smtpd_tls_security_level = may

Sur /etc/postfix/master.cf j'ai décommenté les deux lignes suivantes :

-o smtpd_tls_wrappermode=yes 
-o smtpd_sasl_auth_enable=yes

Cependant, lorsque j'ai essayé d'envoyer un courriel de test, Thunderbird m'a répondu avec la boîte de dialogue d'erreur suivante :

Sending of message failed.
The message could not be sent because the connection to SMTP server mydomain.com was  
lost in the middle of the transaction. Try again or contact your network administrator.  

EDIT#2


Selon la suggestion d'Esa Jokinen, j'ai essayé les plusieurs commandes suivantes.

Sur la DEVBOX, j'ai tapé telnet mydomain.com 587 et j'ai reçu la réponse suivante. Notez que les deux lignes où j'ai ajouté l'entrée ont # devant eux, même s'il n'y avait pas # dans le terminal. J'ai ajouté le # pour l'accentuation/la clarté :

Trying my.Server.ip.addr...
Connected to mydomain.com.
Escape character is '^]'.
220 mydomain.com ESMTP Postfix
# EHLO mydomain.com
250-mydomain.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
# STARTTLS
454 4.7.0 TLS not available due to local problem

Ensuite, sur le SERVEUR, j'ai tapé openssl s_client -host localhost -port 587 -starttls smtp . Le résultat est le suivant :

CONNECTED(00000003)
140634999289760:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:769:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 244 bytes and written 284 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---

Sur le SERVEUR, j'ai à nouveau tapé postconf -n et maintenant j'obtiens la sortie suivante :

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_cert_file = </etc/pki/dovecot/certs/dovecot.pem
smtpd_tls_key_file = </etc/pki/dovecot/private/dovecot.pem
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
unknown_local_recipient_reject_code = 550

Sur le SERVEUR, j'ai à nouveau tapé postconf -M et a obtenu en retour ce qui suit :

smtp       inet  n       -       n       -       -       smtpd
587        inet  n       -       -       -       -       smtpd
submission inet  n       -       -       -       -       smtpd 
-o smtpd_tls_security_level=encrypt 
-o smtpd_sasl_auth_enable=yes 
-o smtpd_sasl_type=dovecot 
-o smtpd_sasl_path=private/auth 
-o smtpd_sasl_security_options=noanonymous 
-o smtpd_sasl_local_domain=$myhostname 
-o smtpd_client_restrictions=permit_sasl_authenticated,reject 
-o smtpd_sender_login_maps=hash:/etc/postfix/virtual 
-o smtpd_sender_restrictions=reject_sender_login_mismatch 
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
pickup     unix  n       -       n       60      1       pickup
cleanup    unix  n       -       n       -       0       cleanup
qmgr       unix  n       -       n       300     1       qmgr
tlsmgr     unix  -       -       n       1000?   1       tlsmgr
rewrite    unix  -       -       n       -       -       trivial-rewrite
bounce     unix  -       -       n       -       0       bounce
defer      unix  -       -       n       -       0       bounce
trace      unix  -       -       n       -       0       bounce
verify     unix  -       -       n       -       1       verify
flush      unix  n       -       n       1000?   0       flush
proxymap   unix  -       -       n       -       -       proxymap
proxywrite unix  -       -       n       -       1       proxymap
smtp       unix  -       -       n       -       -       smtp
relay      unix  -       -       n       -       -       smtp
showq      unix  n       -       n       -       -       showq
error      unix  -       -       n       -       -       error
retry      unix  -       -       n       -       -       error
discard    unix  -       -       n       -       -       discard
local      unix  -       n       n       -       -       local
virtual    unix  -       n       n       -       -       virtual
lmtp       unix  -       -       n       -       -       lmtp
anvil      unix  -       -       n       -       1       anvil
scache     unix  -       -       n       -       1       scache

Ensuite, j'ai essayé d'envoyer un e-mail via le serveur en utilisant le client Thunderbird sur la devbox distante. Après ce test, en tapant nano /var/log/maillog dans le SERVEUR donne :

Mar  4 11:57:19 mydomain postfix/smtpd[11029]: error: open database /etc/postfix/virtual.db: No such file or directory
Mar  4 11:57:19 mydomain postfix/smtpd[11029]: warning: cannot get RSA certificate from file </etc/pki/dovecot/certs/dovecot.pem: disabling TLS support
Mar  4 11:57:19 mydomain postfix/smtpd[11029]: warning: TLS library problem: 11029:error:02001002:system library:fopen:No such file or directory:bss_file.c:398:fope$
Mar  4 11:57:19 mydomain postfix/smtpd[11029]: warning: TLS library problem: 11029:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:400:
Mar  4 11:57:19 mydomain postfix/smtpd[11029]: warning: TLS library problem: 11029:error:140DC002:SSL routines:SSL_CTX_use_certificate_chain_file:system lib:ssl_rsa$
Mar  4 11:57:19 mydomain postfix/smtpd[11029]: connect from unknown[98.244.12.133]
Mar  4 11:57:20 mydomain postfix/cleanup[11032]: 1FD8680B3BCE: message-id=<20150304165720.1FD8680B3BCE@mydomain.com>
Mar  4 11:57:20 mydomain postfix/qmgr[10139]: 1FD8680B3BCE: from=<double-bounce@mydomain.com>, size=873, nrcpt=1 (queue active)
Mar  4 11:57:20 mydomain postfix/smtpd[11029]: disconnect from unknown[98.244.12.133]
Mar  4 11:57:20 mydomain postfix/local[11034]: 1FD8680B3BCE: to=<root@mydomain.com>, orig_to=<postmaster>, relay=local, delay=0.07, delays=0.04/0.01/0/0.0$
Mar  4 11:57:20 mydomain postfix/qmgr[10139]: 1FD8680B3BCE: removed

Ces relevés indiquent que le problème se situe au niveau des certitudes. Notez que j'ai utilisé les certificats spécifiés dans le document /etc/dovecot/conf.d/10-ssl.conf . J'ai juste coupé et collé les urls des deux fichiers cert/key après avoir utilisé nano pour confirmer que chaque fichier existait et contenait des codes de cryptage. Je me suis également assuré de faire pointer la clé vers la clé et le certificat vers le certificat.

Est-ce que j'ai fait ça correctement ?


EDIT#3


J'ai changé les références url des fichiers clés de

smtpd_tls_cert_file = </etc/pki/dovecot/certs/dovecot.pem
smtpd_tls_key_file = </etc/pki/dovecot/private/dovecot.pem

à

smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem
smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem

J'ai aussi enlevé les deux < les symboles dans /etc/dovecot/conf.d/10-ssl.conf . (Ces deux symboles étaient déjà présents avant le début de ce test). sudo nano pour ouvrir bpth le cert et la clé pour s'assurer qu'ils étaient accessibles aux emplacements donnés, et ils l'étaient. J'ai ensuite essayé d'envoyer un autre courriel par le biais du serveur en utilisant le client Thunderbird sur ma devbox. Thunderbird m'a alors demandé d'ajouter une exception pour le certificat inconnu. Lorsque j'ai accepté le certificat inconnu, Thunderbird m'a donné une boîte de dialogue "connection timed out" et n'a pas réussi à envoyer l'email, alors que le message suivant était écrit dans le fichier /var/log/maillog :

Mar  4 14:08:28 mydomain postfix/postfix-script[11361]: stopping the Postfix mail system
Mar  4 14:08:28 mydomain postfix/master[11293]: terminating on signal 15
Mar  4 14:08:33 mydomain postfix/postfix-script[11444]: starting the Postfix mail system
Mar  4 14:08:33 mydomain postfix/master[11446]: daemon started -- version 2.10.1, configuration /etc/postfix
Mar  4 14:08:44 mydomain postfix/smtpd[11451]: error: open database /etc/postfix/virtual.db: No such file or directory
Mar  4 14:08:44 mydomain postfix/smtpd[11451]: connect from unknown[my.DEVBOX.ip.addr]
Mar  4 14:08:44 mydomain postfix/smtpd[11451]: warning: SASL: Connect to private/auth failed: No such file or directory
Mar  4 14:08:44 mydomain postfix/smtpd[11451]: fatal: no SASL authentication mechanisms
Mar  4 14:08:45 mydomain postfix/master[11446]: warning: process /usr/libexec/postfix/smtpd pid 11451 exit status 1
Mar  4 14:08:45 mydomain postfix/master[11446]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling

NOTE :

Retirer le < de </etc/pki/dovecot/certs/dovecot.pem y </etc/pki/dovecot/private/dovecot.pem sur /etc/dovecot/conf.d/10-ssl.conf a provoqué l'arrêt de la connexion JavaMail imap d'une application fonctionnant sur le serveur. Mais en mettant le < a réglé le problème. Cela peut faire référence à un dossier lié.

0 votes

Quels sont les paramètres SMTP sortants de Thunderbird ? Méthode authentifiée ? Sécurité de la connexion ?

0 votes

@masegaloeh Je viens d'ajouter cela à la fin de mon OP. Cela vous aide-t-il à diagnostiquer le problème ?

1 votes

Eh bien, vous avez besoin de TLS du côté client sur le port 465, de sorte que vous avez probablement besoin de l'activer sur ce port explicitement en utilisant -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes . Voir TLS README : Activation de TLS dans le serveur SMTP de Postfix

1voto

Esa Jokinen Points 41064

Il semble que vous n'ayez pas activé le SSL sur le port 465 ni utilisé des paramètres différents pour votre serveur de soumission smtp. Cela signifie que vous avez peut-être les mêmes paramètres sur le port 465 que sur le port 25. Thunderbird tente alors d'établir une connexion SMTPS mais répond en texte clair. La soumission est une configuration totalement différente du SMTP ordinaire et nécessite certainement une authentification également.

Ceci sur master.cf devrait permettre une soumission bien sécurisée (SMTP avec authentification TLS) sur le port 587 :

submission inet n - - - - smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth
  -o smtpd_sasl_security_options=noanonymous
  -o smtpd_sasl_local_domain=$myhostname
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o smtpd_sender_login_maps=hash:/etc/postfix/virtual
  -o smtpd_sender_restrictions=reject_sender_login_mismatch
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject

Supprimez simplement le smtpd_sender_login_maps s'il n'est pas nécessaire. Les lignes Dovecot spécifiques ne sont pas exactement Dovecot spécifiques. Au lieu de cela, Postfix utilise Dovecot pour l'authentification SASL, que vous devriez vraiment configurer.

Pour TLS, vous devez également ajouter ces paramètres dans votre main.cf (et peut-être remplacer le snakeoil par votre propre chemin de certificat) :

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

Avec ces modifications, il pourrait également fonctionner sur SMTPS (465) :

smtps inet n - - - - smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_type=dovecot
...

Je pense que cela pourrait vous être utile pour continuer :

http://wiki2.Dovecot.org/HowTo/PostfixAndDovecotSASL

https://www.vultr.com/docs/simple-mailserver-postfix-Dovecot-sieve-centos-7

0 votes

Merci. Vos quatre suggestions pour utiliser le port 465 ont eu pour résultat : Sending of message failed. The message could not be sent because the connection to SMTP server mydomain.com was lost in the middle of the transaction. Try again or contact your network administrator. Est-ce que j'ai manqué quelque chose ? Je vais étudier vos 587 suggestions avant de faire des changements aussi radicaux.

0 votes

Je viens d'essayer d'ajouter les 11 lignes à master.cf que vous avez suggérées pour le port 587, puis j'ai essayé d'envoyer un courriel de test depuis ma devbox locale vers mondomaine.com, mais Thunderbird m'a donné l'erreur suivante : Sending of message failed. An error occurred sending mail: Unable to establish a secure link with SMTP server mydomain.com using STARTTLS since it doesn't advertise that feature. Switch off STARTTLS for that server or contact your service provider. Comment puis-je résoudre ce problème ?

0 votes

Je viens d'ajouter cela à ma solution originale. Est-ce que le STARTTLS est annoncé après ces modifications ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X