Monit 无法通过 SSL IMAP 连接到 Dovecot

Monit 无法通过 SSL IMAP 连接到 Dovecot

我运行 Monit 来检查 Debian 服务器上的进程。它对所有其他服务(Apache SSL、Postfix、SSH 等)都正常运行,但 Monit 对 Dovecot 的检查却屡屡失败。我认为这可能是在安装一些软件包更新后开始的,但我不确定是什么时候。

由于电子邮件仍在运行,因此 Dovecot 客户端连接工作正常。我尝试使用 open_ssl s_client 进行测试,SSLv3、TLS1.1 和 TLS1.2 似乎也一切正常。

/etc/monit/monitrc 中的 Dovecot 部分: check process dovecot with pidfile /run/dovecot/master.pid start program = "/usr/sbin/service dovecot start" stop program = "/usr/sbin/service dovecot stop" if failed port 993 type tcpssl sslauto protocol imap then unmonitor

当我启用 Dovecot 监控时,我在 /var/log/monit 中收到以下消息: 'dovecot' failed protocol test [IMAP] at INET[localhost:993] via TCPSSL -- IMAP: error receiving data -- Success

我认为这可能是这样的https://secure.kitserve.org.uk/content/ssl-tls-version-conflict-zarafa-monit但我尝试用以下所有选项依次替换“sslauto”,但没有成功:SSLV2|SSLV3|TLSV1|TLSV11|TLSV12

我一直参考的 Monit 文档在这里: http://mmonit.com/monit/documentation/#connection_testing

提前致谢

答案1

问题是由于http://osdir.com/ml/ubuntu-security-announce/2014-05/msg00023.html正如 TomDogg 提到的。

这个论坛有更多详细信息:http://comments.gmane.org/gmane.comp.monitoring.monit.general/7378

仅供参考,即使您尝试使用 POP 而不是 IMAP,问题仍然是一样的。

以下是可能的解决方案:

  1. 应用这 2 个补丁或等待它们成为主流版本的一部分:

    http://hg.dovecot.org/dovecot-2.2/rev/09d3c9c6f0ad
    http://hg.dovecot.org/dovecot-2.2/rev/7129fe8bc260

  2. 正如 Sebastian S 在他的回答中提到的那样,监控不使用 SSL 的 pop 或 imap。

    if failed host localhost port 143 type tcp protocol imap then restart
    
  3. 按照 kexik 的建议,只监控不使用 imap 或 pop 的端口

    if failed port 993 for 5 cycles then restart
    

选项 1 是唯一真正的解决方案,因为其他两个解决方案迫使您测试与您希望测试的不同的东西,但它们至少可以在您等待更新时轻松提供类似的测试。

答案2

如果您想全面监控 dovecot,您可以考虑使用以下配置监控不使用 SSL 的 143 端口:

  if failed host localhost port 143 type tcp protocol imap then restart

答案3

使用以下命令检查您的版本:

$ monit -V

仅从 开始才可sslautoTLSV11或进行替换。TLSV125.8

(例如,5.6截至今天,Ubuntu 仅在其 repo 中。)

在这里找到有关问题/提交的更多详细信息:https://bitbucket.org/tildeslash/monit/issue/14/monit-33-add-support-for-tlsv11-and-tlsv12

因此您可以:

a) 强制将 monit 更新至版本5.8(或更高版本),或

b)强制你的机器使用较旧的 TLS 版本,例如SSLV2SSLV3TLSV1并保留sslauto在你的监控检查中,或者

c) 注释掉监控检查直到你的发行版可用5.8

相关内容