Dovecot 및 Postfix에는 STARTTLS가 없습니다.

Dovecot 및 Postfix에는 STARTTLS가 없습니다.

나는 많은 검색을 해왔지만 해결책을 찾지 못했습니다.

이메일 서버에 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 = [email protected]
}

제가 거의 잠을 자지 못한 채 약 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을 사용해 보았지만 작동하지 않아서 제거했습니다.

감사해요

답변1

Postfix 구성에 오타가 있는 것 같습니다.

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

Postfix가 다음을 만들 때 다음으로 시작하는 지시문이 smtp_사용됩니다.나가는다른 서버에 대한 SMTP 연결. 특히 이 지시문은 Postfix가 클라이언트 인증서를 사용하여 다른 SMTP 서버에 인증하려는 경우에만 사용됩니다. 이는 극히 드문 상황이며 귀하가 처한 상황이 아닙니다.

아마도 smtpd_tls_cert_file. 로 시작하는 지시문은 smtpd_들어오는 SMTP 연결에 적용됩니다.

또한 지시문에 인증서에 해당하는 개인 키를 제공해야 합니다 smtpd_tls_key_file.

그리고 또 다른 구성 변경이 필요할 수도 있습니다. 읽다관련 Postfix 문서주의하여.

관련 정보