web-dev-qa-db-ja.com

MonitがSSLIMAP経由でDovecotに接続できない

Monitを実行して、Debianサーバー上のプロセスをチェックし続けます。他のすべてのサービス(Apache SSL、Postfix、SSHなど)では通常どおり機能しますが、DovecotでのMonitのチェックは繰り返し失敗します。これはいくつかのパッケージアップデートをインストールした後に始まったと思いますが、いつかはわかりません。

電子メールがまだ機能しているため、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

前もって感謝します

6
Ben

TomDoggが述べたように、問題は http://osdir.com/ml/ubuntu-security-announce/2014-05/msg00023.html によって引き起こされます。

このフォーラムの詳細: http://comments.gmane.org/gmane.comp.monitoring.monit.general/7378

参考までに、IMAPではなくPOPを使用しようとしても、問題は同じです。

考えられる解決策は次のとおりです。

  1. これらの2つのパッチを適用するか、それらがメインストリームリリースの一部になるのを待ちます。

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

  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つでは、テストしたいと思っていたものとは異なるものをテストする必要がありますが、更新を待つ間、少なくとも簡単に同様のテストを提供します。

3
mhost

一般的にdovecotを監視する場合は、次の構成を使用して、SSLなしでポート143を監視することを検討してください。

  if failed Host localhost port 143 type tcp protocol imap then restart
1
Sebastian S

次のコマンドでバージョンを確認してください。

$ monit -V

sslautoTLSV11またはTLSV12に置き換えることは、5.8からのみ可能です。

(たとえば、Ubuntuのリポジトリには、今日の時点で5.6しかありません。)

問題/コミットの詳細については、こちらをご覧ください: https://bitbucket.org/tildeslash/monit/issue/14/monit-33-add-support-for-tlsv11-and-tlsv12

したがって、次のいずれかを実行できます。

a)monitをバージョン5.8(またはそれ以上)に強制的に更新する、または

b)マシンにSSLV2またはSSLV3またはTLSV1などの古いTLSバージョンを使用させ、sslautoを監視チェックに保持するか。

c)ディストリビューションが5.8を利用できるようになるまで、監視チェックをコメントアウトします。

0
TomDogg