安装 courier-ssl 后,Courier 无法运行

安装 courier-ssl 后,Courier 无法运行

我一直在尝试在运行 Ubuntu 14.04 的 Courier IMAP 服务器上启用 SSL。我安装了courier-sslcourier-imap-ssl。然后服务器完全停止工作,Rainloop webmail 中出现“身份验证错误”。无论服务是否启动,都会发生这种情况,并且只有卸载courier-imap-ssl时才能解决。courier-ssl

这里可能存在什么问题?我该如何启用 SSL?

安装courier-sslcourier-imap-ssl运行后,如果我运行,会出现此错误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: 1463335379
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---

如果我运行,会出现此错误telnet localhost 993

Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Connection closed by foreign host.

答案1

我建议使用 openssl 连接到 SSL 服务。普通 telnet 无法与加密连接进行通信:

openssl s_client -connect localhost:993

您可以在建立连接后通过输入以下命令来验证服务:

A login MYUSERNAME MYPASSWORD

响应应该是:

A OK LOGIN Ok.

修复错误安装的一个选项是完全删除该服务,即使配置正确:

apt-get remove --pure courier-imap-ssl

并重新安装。

SSL 问题通常与证书有关,原因之一可能是 /etc/courier/dhparams.pem 未正确生成。DH 参数可以通过mkdhparams命令重新生成。

答案2

您用来检查 courier 的命令仅适用于立即建议切换到 TLS 的服务器:

openssl s_client -connect localhost:993

为了正确测试邮件服务,当邮件服务STARTTLS切换到使用 TLS 时,您需要添加如下选项:

openssl s_client -connect localhost:993 -starttls imap

我不知道 14.04 中的服务状态,但我在 18.04 中使用它,并且可以设置 TLS1 协议并且它可以工作。

现在,使用最后一条命令,您将确切看到支持哪些 TLS。由于您提到courier,我尝试了各种设置,但无法使其与 TLSv1.2 配合使用。它似乎仅限于 TLSv1。如果您希望获得这个,那么您需要切换到另一个服务器,例如 dovecot,它是99% 兼容

相关内容