Я запускаю Monit, чтобы постоянно проверять процессы на сервере Debian. Он работает как обычно для всех других служб (Apache SSL, Postfix, SSH и т. Д.), Но проверки Monit на Dovecot неоднократно терпят неудачу. Я думаю, что это могло начаться после установки некоторых обновлений пакета, но я не уверен, когда.
Dovecot правильно работает для клиентских подключений, поскольку электронная почта все еще работает. Я пробовал тестировать с open_ssl s_client, и оттуда все выглядит нормально для SSLv3, TLS1.1 и TLS1.2.
Раздел Dovecot из / etc / monit / monitrc:
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
заранее спасибо
Проблема вызвана http://osdir.com/ml/ubuntu-security-announce/2014-05/msg00023.html как сказал ТомДогг.
На этом форуме есть более подробная информация: http://comments.gmane.org/gmane.comp.monitoring.monit.general/7378
К вашему сведению, проблема такая же, даже если вы попытаетесь использовать POP вместо IMAP.
Вот возможные решения:
Примените эти 2 патча или дождитесь, пока они станут частью основного выпуска:
http://hg.dovecot.org/dovecot-2.2/rev/09d3c9c6f0ad
http://hg.dovecot.org/dovecot-2.2/rev/7129fe8bc260
Отслеживайте либо pop, либо imap без SSL, как сказал Себастьян С.
if failed host localhost port 143 type tcp protocol imap then restart
Следите за портом только без imap или pop, как предложил kexik
if failed port 993 for 5 cycles then restart
Вариант 1 - единственное реальное решение, так как два других заставляют вас протестировать что-то другое, что вы надеялись протестировать, но они, по крайней мере, легко предоставляют аналогичный тест, пока вы ждете обновления.
Если вы хотите контролировать dovecot в целом, вы можете рассмотреть возможность мониторинга порта 143 без SSL, используя следующую конфигурацию:
if failed host localhost port 143 type tcp protocol imap then restart
Проверьте свою версию с помощью:
$ monit -V
Замена sslauto
с участием TLSV11
или TLSV12
возможно только начало 5.8
.
(Ubuntu, например, имеет только 5.6
в их репо на сегодняшний день.)
Более подробную информацию о проблеме / фиксации можно найти здесь: https://bitbucket.org/tildeslash/monit/issue/14/monit-33-add-support-for-tlsv11-and-tlsv12
Итак, вы можете:
а) принудительно обновить monit до версии 5.8
(или выше), или
б) заставить ваш компьютер использовать старую версию TLS, например SSLV2
или SSLV3
или TLSV1
и хранить sslauto
в вашем контрольном чеке, или
в) закомментируйте проверку монитора, пока ваш дистрибутив 5.8
доступный.