Dovecot und virtuelles SSL

Alex JOST jost+lists at dimejo.at
Do Sep 7 17:03:24 CEST 2017


Am 07.09.2017 um 16:17 schrieb Claudia Koch:
> Am 07.09.2017 um 15:53 schrieb Alex JOST:
>> Am 07.09.2017 um 15:36 schrieb Claudia Koch:
>>> Hallo an Alle,
>>>
>>> ich habe hier einen IMAP-Server mit Dovecot 2.2.13, der ein
>>> ssl-Zertifikat ausliefert. Soweit alles fein:
>>>
>>> 10-ssl.conf:
>>>
>>> ssl_cert = </etc/zertifikate/certs/imap.abc.de.crt
>>> ssl_key = </etc/zertifikate/private/imap.abc.de.key
>>> ssl_ca = </etc/zertifikate/certs/imap.abc.de.cert
>>>
>>> Nun soll dieser IMAP-Server ein zweites Zertifakat für imap.xyz.de mit
>>> ausliefern. Laut Doku zur Virtualisierung müsste das dann so aussehen:
>>>
>>> 10-ssl.conf:
>>>
>>> local_name imap.abc.de {
>>>
>>> ssl_cert = </etc/zertifikate/certs/imap.abc.de.crt
>>> ssl_key = </etc/zertifikate/private/imap.abc.de.key
>>> ssl_ca = </etc/zertifikate/certs/imap.abc.de.cert
>>>
>>> }
>>>
>>> local_name imap.xyz.de {
>>>
>>> ssl_cert = </etc/zertifikate/certs/imap.abc.de.crt
>>> ssl_key = </etc/zertifikate/private/imap.abc.de.key
>>> ssl_ca = </etc/zertifikate/certs/imap.abc.de.cert
>>>
>>> }
>>>
>>> Ich kann dann diese Konfig auch mit dovecot -n abfragen.
>>>
>>> Wenn ich dann jedoch mit openssl (mit SNI) versuche das Zertifikat ab zu
>>> fragen, erhalte ich im LOG den Fehler:
>>>
>>> imap-login: Fatal: Couldn't parse private ssl_key: error:0906D06C:PEM
>>> routines:PEM_read_bio:no start line: Expecting: ANY PRIVATE KEY
>>>
>>> Dabei verwende ich di gleichen Zertifikate wie im stand-alone-Modus.
>>> Auch habe ich es mit PEM-Varianten versucht. Laut diversen Aussagen im
>>> Netz soll das wohl funktionieren.
>>>
>>> Benutzt jemand diese Variante und hatt eventuell einen Tipp, woran es
>>> hängen könnte.
>>
>> Steht im allgemeinen Teil noch 'ssl_key' und 'ssl_cert', oder hast Du
>> das nach 'local_name' verschoben?
>>
>> Zur Sicherheit bitte 'doveconf -n' posten.
>>
> 
> Hallo Alex,
> 
> nein, da steht nix mehr drin.
> 
> dovecot -n
> 
> # 2.2.13: /etc/dovecot/dovecot.conf
> # OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.9
> auth_debug = yes
> disable_plaintext_auth = no
> mail_debug = yes
> mail_location = mbox:~/mail:INBOX=/var/mail/%u
> namespace inbox {
>    inbox = yes
>    location =
>    mailbox Drafts {
>      special_use = \Drafts
>    }
>    mailbox Junk {
>      special_use = \Junk
>    }
>    mailbox Sent {
>      special_use = \Sent
>    }
>    mailbox "Sent Messages" {
>      special_use = \Sent
>    }
>    mailbox Trash {
>      special_use = \Trash
>    }
>    prefix =
> }
> passdb {
>    driver = pam
> }
> protocols = " imap pop3"
> userdb {
>    driver = passwd
> }
> verbose_ssl = yes
> local_name imap.abc.de {
>    ssl_ca = </etc/zertifikate/certs/imap.abc.de.cert
>    ssl_cert = </etc/zertifikate/certs/imap.abc.de.crt
>    ssl_key = </etc/zertifikate/private/imap.abc.de.key
> }
> local_name imap.xyz.de {
>    ssl_ca = </etc/zertifikate/certs/imap.abc.de.cert
>    ssl_cert = </etc/zertifikate/certs/imap.abc.de.crt
>    ssl_key = </etc/zertifikate/private/imap.abc.de.key
> }
> 
> Das Ganze ist aktuell auf einer Testumgebung mit der
> Standardinstallation von Debian. Dadurch ist das recht kurz gehalten.

Ich glaube, Du musst 'ssl_key' und 'ssl_cert' auch im allgemeinen Teil 
(als Standard) definieren.

PS: 'ssl_ca' solltest Du nur setzen, wenn Du Client-Zertifikate 
verifizierst.

-- 
Alex JOST


Mehr Informationen über die Mailingliste Dovecot