Назад | Перейти на главную страницу

Нет STARTTLS с Dovecot и Postfix

Я много искал и не нашел решения.

Мне пришлось перезагрузить Mageia 6 на моем почтовом сервере. Я использую dovecot-2.2.34-1.mga6 и postfix-3.1.6-1.mga6. Openssl - это openssl-1.0.2o-1.mga6.

Я могу отправлять и получать электронную почту от Postbox (на основе Thunderbird) с паролем и без шифрования, но при попытке STARTTLS с телнета на 587 или 465 я получаю:

454 4.7.0 TLS недоступен из-за локальной проблемы

Это работало до того, как файловая система была повреждена, и мне пришлось переустановить Mageia. Старые файлы конфигурации не работают с новой установкой.

Из телнета:

Escape character is '^]'.
220 robob.robob.com ESMTP Postfix (3.1.6) (Linux)
EHLO robob.robob.com
250-robob.robob.com
250-PIPELINING
250-SIZE 252400000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
STARTTLS
454 4.7.0 TLS not available due to local problem

Предполагается, что Dovecot выполняет авторизацию.

# 2.2.34 (874deae): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.18 (29cc74d)
# OS: Linux 4.14.65-desktop-1.mga6 i686 Mageia 6 
# Hostname: robob.robob.com
auth_debug = yes
auth_mechanisms = plain login
disable_plaintext_auth = no
listen = *
mail_access_groups = mail
mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-              character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext
mbox_write_locks = fcntl
passdb {
driver = pam
}
protocols = imap pop3
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
 }
vsz_limit = 512 M
}
service imap-login {
process_min_avail = 10
service_count = 1
vsz_limit = 2 G
}
service imap {
vsz_limit = 640 M
}
service managesieve-login {
process_min_avail = 10
}
service managesieve {
vsz_limit = 640 M
}
service pop3-login {
process_min_avail = 10
}

    service pop3 {
    vsz_limit = 640 M
}

ssl_cert = </etc/pki/tls/certs/dovecot.pem
ssl_key =  # hidden, use -P to show it


userdb {
driver = passwd
}

protocol lda {
postmaster_address = postmaster@example.com
}

Помощь будет принята с благодарностью, так как я работал над этим около 30 часов, очень мало спал. У меня несколько пользователей, и я бы не хотел, чтобы они подключались небезопасно.

Спасибо Роберт


        # Please be sure to read the /usr/share/doc/postfix/README.MDK file
# to learn about differences from stock postfix to Mandriva package.
# This file contains only the parameters changed from a default install
# see /etc/postfix/main.cf.dist for a commented, fuller version of this file.

# These are changed by postfix install script
readme_directory = /usr/share/doc/postfix/README_FILES
html_directory = /usr/share/doc/postfix/html
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
command_directory = /usr/sbin
manpage_directory = /usr/share/man
daemon_directory = /usr/libexec/postfix
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
queue_directory = /var/spool/postfix
mail_owner = postfix

# User configurable parameters

mydomain = robob.com
mydestination = $myhostname, localhost.$mydomain, $mydomain, eoberjr.com
#inet_interfaces = localhost
#mynetworks_style = host
#delay_warning_time = 4h
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) (Linux)
unknown_local_recipient_reject_code = 450
smtp-filter_destination_concurrency_limit = 2
lmtp-filter_destination_concurrency_limit = 2
data_directory = /var/lib/postfix
mailbox_size_limit = 2000000000
message_size_limit = 252400000
#mailbox_command = /usr/bin/procmail  -a "$EXTENSION"
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
mail_spool_directory = /var/spool/mail
relay_domains = $mydestination /etc/postfix/relay_domains
mynetworks = 75.148.212.32/29, 127.0.0.1
canonical_maps = hash:/etc/postfix/canonical
virtual_maps = hash:/etc/postfix/virtual
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
maps_rbl_domains = blackholes.mail-abuse.org
smtpd_sasl_auth_enable = yes
ssl_cert = /etc/pki/tls/certs/dovecot.pem
ssl_key = /etc/pki/tls/private/dovecot.pem
smtp_tls_cert_file = /etc/pki/tls/certs/dovecot.pem
ssl_key = /etc/pki/tls/private/dovecot.pem
smtpd_sasl_type = dovecot
#smtpd_sasl_path = smtpd
smtpd_sasl_path = private/auth
smtpd_sasl_local_domain = robob.com
smtpd_sasl_security_options = noanonymous
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net, reject_rbl_client 2.0.0.127.b.barracudacentral.org
smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_relay_domains, reject_unauth_destinationa, reject_rbl_client bl.spamcop.net
broken_sasl_auth_clients = yes
inet_protocols = ipv4

Я пробовал это разными способами. Предполагается, что текущая конфигурация позволяет Dovecot выполнять аутентификацию. Я ценю разъяснения. Итак, Dovecot выполняет аутентификацию, а затем Postfix согласовывает шифрование? Я пробовал использовать cyrus sasl ранее, и это тоже не сработало, поэтому я удалил его.

Спасибо

У вас есть что-то вроде опечатки в вашей конфигурации Postfix.

smtp_tls_cert_file = /etc/pki/tls/certs/dovecot.pem

Директивы, начинающиеся с smtp_ используются, когда Postfix делает исходящий SMTP-подключения к другим серверам. В частности, эта директива используется только тогда, когда Postfix предназначен для аутентификации на другом SMTP-сервере с помощью клиентских сертификатов. Это крайне редкая ситуация, и это не та ситуация, в которой вы оказались.

Вы, наверное, хотели напечатать smtpd_tls_cert_file. Директивы, начинающиеся с smtpd_ применяются к входящим SMTP-соединениям.

Вам также необходимо предоставить закрытый ключ, соответствующий сертификату, в smtpd_tls_key_file директива.

И вам могут потребоваться еще другие изменения конфигурации. Читать соответствующая документация Postfix осторожно.