효과적인 구성으로 Dovecot을 설정했습니다( dovecot -n
).
# 2.3.7.2 (3c910f64b): /etc/dovecot/dovecot.conf
# OS: Linux 5.2.15-200.fc30.x86_64 x86_64 Fedora release 30 (Thirty)
# Hostname: <my hostname>
auth_debug = yes
auth_mechanisms = plain login
auth_verbose = yes
listen = 10.168.0.9,<my external IP>
mail_location = mbox:~/mail:INBOX=/var/mail/%u
mbox_write_locks = fcntl
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
passdb {
driver = pam
}
protocols = imap
ssl_cert = </etc/letsencrypt/live/<my hostname>/cert.pem
ssl_cipher_list = PROFILE=SYSTEM
ssl_key = # hidden, use -P to show it
userdb {
args = blocking=no
driver = passwd
}
verbose_ssl = yes
썬더버드 60.9.0으로 접속하려고 하는데 포트 143을 사용하든 993을 사용하든 인증이 되지 않습니다. journalctl -efu dovecot.service
산출:
Sep 21 21:43:58 <myhostname> dovecot[31705]: auth: Debug: auth client connected (pid=2668)
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x10, ret=1: before SSL initialization
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: before SSL initialization
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2002, ret=-1: before SSL initialization
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: before SSL initialization
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS read client hello
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write server hello
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write certificate
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write key exchange
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write server done
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2002, ret=-1: SSLv3/TLS write server done
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2002, ret=-1: SSLv3/TLS write server done
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2002, ret=-1: SSLv3/TLS write server done
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2002, ret=-1: SSLv3/TLS write server done
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write server done
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS read client key exchange
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS read change cipher spec
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS read finished
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write session ticket
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write change cipher spec
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3/TLS write finished
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x20, ret=1: SSL negotiation finished successfully
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL: where=0x2002, ret=1: SSL negotiation finished successfully
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Aborted login (no auth attempts in 0 secs): user=<>, rip=10.168.0.53, lip=<myhostextip>, TLS, session=<OvtgaBWT5iUKqAA1>
Sep 21 21:43:58 <myhostname> dovecot[31705]: imap-login: Debug: SSL alert: close notify
마지막에서 두 번째 행에 오류가 표시된 것으로 보입니다. "0초 내에 인증 시도가 없습니다." Ubuntu에 설치된 Dovecot에 Thunderbird 클라이언트를 연결할 때 발생하는 문제인증서 예외에 대한 잠재적인 문제를 나타냅니다. Thunderbird(Windows 버전)에 저장된 인증서를 삭제한 후 인증서 관리에서 다시 발급받고 보안 예외를 추가했습니다. 이것은 도움이 되지 않았습니다. 또한 위의 로그 파일은 인증서 대화 상자가 정상적으로 진행되었음을 의미합니다.
cram-md5
지원되는 인증 메커니즘으로 추가하면 추가로 auth: Fatal: CRAM-MD5 mechanism can't be supported with given passdbs
로그에 기록됩니다.
내가 무엇을 보지 못하고 있거나 오해하고 있거나 잘못하고 있습니까? 어떻게 작동하게 합니까?
편집: 완전히 새로운 프로필을 사용하는 Thunderbird x64로 테스트되었습니다. 작동하지 않습니다. Thunderbird를 60에서 68로 업그레이드해 보았습니다. 도움이 되지 않습니다. Mozilla의 로그 기능을 사용하여 인증 및 IMAP 트래픽을 기록했습니다. 인증에 아무것도 로그인되지 않으며 IMAP 트래픽의 비둘기장 서비스에 대해서는 아무것도 없습니다.
답변1
문제는 인증서에 있습니다.인증서는 신뢰할 수 있지만 공개적으로 사용되는 서버 이름에 할당되었습니다. 내부 IP 주소로 내부 네트워크에서 서버에 접속하고 있었습니다.따라서 Thunderbird는 서버와의 통신을 거부했습니다.
연결 보안을 없음으로 설정하고 인증 방법을 일반 비밀번호로 설정하기 전에는 보안 예외를 확인하는 것이 도움이 되지 않았습니다. 이를 통해 초기 계정 설정 구성 창을 종료할 수 있었습니다. 그 후 계정 설정을 SSL/TLS 및 일반 비밀번호로 다시 변경하면 Thunderbird에서 보안 예외 메시지를 표시하게 되었는데, 이를 확인했고 이제는 작동합니다.