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

Ошибка Dovecot SSL (Postfix работает нормально)

Мы пытаемся подключить почтовый клиент к нашему почтовому серверу. У нас есть постфикс и Dovecot настроен и работает на убунту.

Мы видим, что Dovecot прослушивает правильный порт, используя:

$ sudo netstat -tunlp | grep :993

Мы можем успешно протестировать постфиксное соединение с помощью openssl:

$ openssl s_client -connect localhost:465

Но та же команда на порту IMAPS не работает:

$ openssl s_client -connect localhost:993

CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 305 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1529946289
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)

/ вар / журнал / голубь

imap-login: Fatal: Can't load ssl_cert: There is no valid PEM certificate. (You probably forgot '<' from ssl_cert=<)
master: Error: service(imap-login): command startup failed, throttling for 2 secs

Мы пробовали много вещей (о чем свидетельствуют похожие проблемы и сообщения в блогах), но безуспешно, и на данном этапе это сводит нас с ума. Кажется, что решение находится всего в нескольких минутах ходьбы, но так было уже несколько часов ...

Есть идеи, что может быть не так?

doveconf -n

# 2.2.22 (fe789d2): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.13 (7b14904)
# OS: Linux 4.4.0-1060-aws x86_64 Ubuntu 16.04.4 LTS ext4
auth_verbose = yes
base_dir = /var/run/dovecot/
info_log_path = /var/log/dovecot.info
listen = *
log_path = /var/log/dovecot
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/home/vmail/%d/%n
passdb {
  args = /etc/dovecot/passwd
  driver = passwd-file
}
protocols = imap
service auth {
  executable = /usr/lib/dovecot/auth
  unix_listener /var/spool/postfix/private/auth-client {
    group = postfix
    mode = 0660
    user = postfix
  }
  user = root
}
service imap-login {
  chroot = login
  executable = /usr/lib/dovecot/imap-login
  user = dovecot
}
service imap {
  executable = /usr/lib/dovecot/imap
}
userdb {
  args = /etc/dovecot/users
  driver = passwd-file
}
valid_chroot_dirs = /var/spool/vmail

conf.d / 10-ssl.conf

ssl = yes
ssl_cert = </etc/ssl/certs/certificate.crt
ssl_key = </etc/ssl/private/key.key
ssl_ca = </etc/ssl/certs/certificate.ca-bundle 

Разрешения файла сертификата и ключа (одни и те же файлы используются postfix и Dovecot)

-rw------- 1 root root /etc/ssl/certs/certificate.crt
-rw------- 1 root root /etc/ssl/private/key.key