Dovecot-Fehler: ssl aktiviert, aber ssl_cert nicht gesetzt

7

Ich habe tagelang versucht, Postfix und Dovecot einzurichten, und ich glaube, ich habe alle Probleme gelöst, bis auf eines, das gerade aufgetreten ist. Wenn ich versuche, Dovecot neu zu starten, wird die folgende Fehlermeldung angezeigt:

doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf: ssl enabled, but  
ssl_cert not set
[....] Restarting IMAP/POP3 mail server: dovecotdoveconf: Fatal: Error in configuration 
file /etc/dovecot/dovecot.conf: ssl enabled, but ssl_cert not set

Wenn ich dovecot.conf überprüfe, gibt es nichts in Bezug auf ssl, daher gehe ich davon aus, dass der Fehler auf die Einstellungen in verweist 10-ssl.conf. Mir ist aufgefallen, dass die Einstellungen auskommentiert sind:

# ssl = no
# ssl_cert = </etc/ssl/dovecot.pem
# ssl_key = </etc/ssl/private/dovecot.pem

Ich weiß, dass diese früher nicht kommentiert wurden, aber wenn ich sie jetzt kommentiere, erhalte ich beim Start einen anderen Fehler über den unerwarteten Wert ssl in 10-ssl.conf. Im Dovecot-Wiki muss dieser Wert festgelegt werden, auch wenn er von einem bestimmten Protokoll an anderer Stelle überschrieben wird.

Wenn ich die SSL-Werte auskommentiere, wird die erste Fehlermeldung angezeigt, dass SSL aktiviert, aber nicht festgelegt ist.

Zuvor hatte ich mit OpenSSL ein selbstsigniertes Zertifikat erstellt und erhielt keine Fehlermeldungen, dass SSL nicht konfiguriert wurde. Tatsächlich konnte ich mich bei Pops von einem anderen Client-Computer aus anmelden und es gab die übliche Warnung, dass das Zertifikat nicht vertrauenswürdig ist. Ich habe jedoch festgestellt, dass das Zertifikat auf einen falschen Hostnamen verweist. Dies wurde früher verursacht, nachdem ich mein VPS neu erstellt und Dovecot törichterweise installiert und konfiguriert habe, wobei ein falscher Hostname festgelegt wurde.

Nun, ich habe alle Dateien gelöscht und neu installiert. Ich habe wieder alle Schlüssel gelöscht und ein paar Mal mit OpenSSL neu generiert, aber jetzt kann ich Dovecot aufgrund dieses Fehlers nicht einmal starten. Ich stecke fest und habe mich gefragt, wie ich das angehen soll. Ist es möglich, dass etwas in Postfix, das auf Dovecot verweist, dies verursacht?

Einige Websites sagen, Sie sollten Ihre Syntax überprüfen, z. B. ssl_cert = </etcvs, ssl_cert = /etcaber dies hat keinen Unterschied gemacht. Ich würde auch gerne nur vorübergehend ssl deaktivieren, um den Fehler zu umgehen, aber das schlägt auch fehl.

Gerade jetzt habe ich versucht , einen symbolischen Link zu den vorgebauten Schlüssel in erstellen /etc/dovecotund /etc/dovecot.pemaber ich die gleiche Meldung.

Steve
quelle
Warum sollte SSL aktiviert sein, wenn es nicht in 10-ssl.conf oder dovecot.conf festgelegt wurde? Wo wird es aktiviert? Ich habe Postfix überprüft, aber main.cf zeigt nur auf die Zertifikate. Könnte es etwas in /etc/postfix/master.cf sein? Ich habe nachgesehen, aber nichts bemerkt.
Steve
Führen Sie aus, um grep ssl /etc/dovecot/* -Rzu sehen, wo ssl in den Konfigurationsdateien erwähnt wird.
Sebix

Antworten:

4

Alter Beitrag jedoch: Der Fehler kommt von der Tatsache, dass die Hauptkonfigurationsdatei dovecot.conf eine Zeile haben muss: "! Include conf.d / *. Conf" am Ende.

Andernfalls werden die Konfigurationsdateien, die Sie in "conf.d /" haben, nicht geladen.

Ich denke, dies ist der Grund, warum Sie keinen Unterschied beim Ändern der Einstellungen in den Konfigurationsdateien in "conf.d /" feststellen.

Warum sollte SSL aktiviert sein, wenn es nicht in 10-ssl.conf oder dovecot.conf festgelegt wurde? Wo wird es aktiviert?

Das liegt daran, dass die Standardkonfiguration ssl = yes ist. Wenn Sie die Datei 10-ssl.conf nicht enthalten haben, in der Sie entweder ssl deaktivieren oder die Zertifikatdatei festlegen können, erhalten Sie dieses Ergebnis.

Tribis
quelle
1

Meine Dovecot-Konfiguration in dovecot/conf.d/10-ssl.conf, die auf zwei verschiedenen Servern funktioniert, lautet:

ssl = yes
ssl_cert = </path/to/cert.file
ssl_key = </path/to/key.file

Ich benutze eine Zertifizierungsstelle, also habe ich auch:

ssl_ca = </path/to/ca-bundle.pem

Es ist einige Zeit her, seit ich die Server eingerichtet habe, aber ich erinnere mich an Probleme mit Dovecot, und ich glaube, sie waren von Postfix getrennt.

Ich bin mir über den unerwarteten Wertefehler nicht sicher. Wenn Sie unkommentiert, hast du ändern ssl = nozu ssl = yes? Ich weiß auch, dass OpenSSL in Bezug auf Dateiberechtigungen etwas wählerisch ist. Meine Schlüsseldatei gehört root: root und hat 400 Berechtigungen.

Paul
quelle
Ich hatte es von ssl = yes in ssl = no geändert, und als ich dann versuchte, es wieder auf yes zu ändern, begann der Fehler.
Steve
Könnten Sie die Ausgabe des # dovecot -n anzeigen?
ALex_hha
Ich denke, ich kann es besser machen. Hier ist die Seite, die ich als Leitfaden zum Einrichten meiner Mailserver verwendet habe: exratione.com/2012/05/…
Paul
Die Schlüsseldatei muss für Dovecot lesbar sein. Wenn Sie eine sslcerts-Gruppe haben, machen Sie diese Gruppe mit dieser Gruppe lesbar und fügen Sie den Dovecot-Benutzer dieser Gruppe hinzu. Der Befehl dovecot -ngibt auch die vollständige Konfiguration nach Einschlüssen aus. Dies kann beim Debuggen hilfreich sein.
BillThor
In der neuesten Version wurden Änderungen an Dovecot vorgenommen. Ich musste entsprechend aktualisieren.
BillThor
0

Überprüfen Sie 20-imap.conf ( http://wiki2.dovecot.org/SSL/DovecotConfiguration ):

protocol imap {
  ssl_cert = </etc/ssl/dovecot.pem
  ssl_key = </etc/ssl/private/dovecot.pem
}

und 10-ssl.conf: ssl_parameters_regenerate = 0<< - Standard 168 Stunden

Aktualisieren:

doveconf -a | grep ssl
Kiew
quelle