<div dir="ltr">Hallo Alexander,<br><div><br><div class="gmail_quote"><div dir="ltr">Am Sa., 14. Juli 2018 um 19:23 Uhr schrieb Alexander Dalloz <<a href="mailto:ad%2Blists@uni-x.org">ad+lists@uni-x.org</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Ein openssl s_client Test gegen Port 993 von einem der beiden Server <br>
gegen den anderen liefert eine sauber validierte Zertifikatskette?<br>
<br>
Bei mir funktioniert die Auflösung auf einem CentOS 7.5 gegen einen IMAP <br>
Server mit einem letsencrypt Zertifikat ohne Probleme:<br></blockquote><div> </div><div><div>Über den IMAPS Port erhalte ich sowohl das Server Zertifikat als auch das Intermediate Zertifikat und alles funktioniert problemlos:</div><div><br></div><div># openssl s_client -showcerts -connect server.domain.tld:993<br>CONNECTED(00000003)<br>depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3<br>verify return:1<br>depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3<br>verify return:1<br>depth=0 CN = server.domain.tld<br>verify return:1<br>---<br>Certificate chain<br> 0 s:/CN=server.domain.tld<br>   i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3<br>-----BEGIN CERTIFICATE-----<br>...<br>-----END CERTIFICATE-----<br> 1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3<br>   i:/O=Digital Signature Trust Co./CN=DST Root CA X3<br>-----BEGIN CERTIFICATE-----<br>...<br>-----END CERTIFICATE-----</div></div><div><br></div><div><br></div><div>Mein Problem ist, dass über den dsync Port nur das Server Zertifikat kommt. Das ist, so wie ich die Doku verstehe, wohl normal, weshalb man "ssl_client_ca_file" setzen muss, damit das Zertifikat geprüft werden kann.<br></div><div><br></div></div><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Du kannst dem Zertifikat aus lets-encrypt-x3-cross-signed.pem.txt <br>
explizit vertrauen:<br>
<br>
# update-ca-trust force-enable<br>
# cp lets-encrypt-x3-cross-signed.pem.txt /etc/pki/ca-trust/source/anchors/<br>
# update-ca-trust extract<br>
<br>
Auf meinem CentOS 7.5 System  ist dies nicht notwendig.<br></blockquote><div><br></div><div>Ich würde vermuten, dass es auch auf RHEL 7.5 nicht nötig sein sollte. Ich dachte, dass CentOS die gleiche Zertifikatsbundle Datei enthält.</div><div><br></div><div>Jedenfalls, wenn ich das Zertifikat auf die von dir empfohlene Weise in die /etc/pki/tls/cert.pem aufnehme, funktioniert mit meiner ursprünglichen geposteten Konfiguration sowohl IMAPS, als jetzt auch die Replikation.<br></div><div>ssl_cert = </etc/letsencrypt/live/server1.domain.tld/fullchain.pem<br>ssl_client_ca_file = /etc/pki/tls/cert.pem<br></div><div><br></div><div>Vielen Dank für den hilfreichen Tipp.<br></div><div><br></div><div>Was ich jedoch nicht verstehe, warum es nicht funktionierte, als ich vorher ssl_client_ca_file auf die lets-encrypt-x3-cross-signed.pem.txt setzte.<br></div><div><br></div><div>Grüße</div><div>Lukas<br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">Am Sa., 14. Juli 2018 um 19:23 Uhr schrieb Alexander Dalloz <<a href="mailto:ad%2Blists@uni-x.org">ad+lists@uni-x.org</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Am 14.07.2018 um 12:44 schrieb Lukas:<br>
> Hallo,<br>
> <br>
> ich versuche die Replikation über TCP mit SSL zwischen zwei Dovecot 2.2.10<br>
> Servern auf RHEL 7.5 zum Laufen zu bekommen.<br>
> <br>
> Sobald die Replikation beginnt oder ich sie z. B. versuche mittels "doveadm<br>
> replicator replicate lukas" anzustoßen, wird auf dem Server auf dem ich den<br>
> Befehl ausführe folgendes geloggt:<br>
> <br>
> Jul 14 08:57:40 server1 dovecot: doveadm(lukas): Received invalid SSL<br>
> certificate: unable to get local issuer certificate: /CN=server2.domain.tld<br>
> Jul 14 08:57:40 server1 dovecot: doveadm(lukas): Error: doveadm server<br>
> disconnected before handshake: Received invalid SSL certificate: unable to<br>
> get local issuer certificate: /CN=server2.domain.tld<br>
> Jul 14 08:57:40 server1 dovecot: doveadm(lukas): Error: sync: Disconnected<br>
> from remote: Received invalid SSL certificate: unable to get local issuer<br>
> certificate: /CN=server2.domain.tld<br>
> <br>
> Das Problem liegt wohl in der Zertifikat-Chain. Wenn ich mit openssl auf<br>
> den dsync Port 12345 connecte sehe ich dass nur das Zertifikat für den<br>
> Host, nicht aber die volle Chain geliefert wird:<br>
> <br>
> # openssl s_client -connect server1.domain.tld:12345<br>
> CONNECTED(00000003)<br>
> depth=0 CN = server1.domain.tld<br>
> verify error:num=20:unable to get local issuer certificate<br>
> verify return:1<br>
> depth=0 CN = server1.domain.tld<br>
> verify error:num=21:unable to verify the first certificate<br>
> verify return:1<br>
> ---<br>
> Certificate chain<br>
>   0 s:/CN=server1.domain.tld<br>
>     i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3<br>
<br>
<br>
Ein openssl s_client Test gegen Port 993 von einem der beiden Server <br>
gegen den anderen liefert eine sauber validierte Zertifikatskette?<br>
<br>
Bei mir funktioniert die Auflösung auf einem CentOS 7.5 gegen einen IMAP <br>
Server mit einem letsencrypt Zertifikat ohne Probleme:<br>
<br>
# echo QUIT | openssl s_client -connect <a href="http://1.2.3.4:143" rel="noreferrer" target="_blank">1.2.3.4:143</a> -starttls imap<br>
CONNECTED(00000003)<br>
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3<br>
verify return:1<br>
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3<br>
verify return:1<br>
depth=0 CN = <a href="http://sys5.org" rel="noreferrer" target="_blank">sys5.org</a><br>
verify return:1<br>
---<br>
Certificate chain<br>
  0 s:/CN=<a href="http://sys5.org" rel="noreferrer" target="_blank">sys5.org</a><br>
    i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3<br>
  1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3<br>
    i:/O=Digital Signature Trust Co./CN=DST Root CA X3<br>
  2 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3<br>
    i:/O=Digital Signature Trust Co./CN=DST Root CA X3<br>
<br>
Du kannst dem Zertifikat aus lets-encrypt-x3-cross-signed.pem.txt <br>
explizit vertrauen:<br>
<br>
# update-ca-trust force-enable<br>
# cp lets-encrypt-x3-cross-signed.pem.txt /etc/pki/ca-trust/source/anchors/<br>
# update-ca-trust extract<br>
<br>
Auf meinem CentOS 7.5 System  ist dies nicht notwendig.<br>
<br>
Alexander<br>
<br>
<br>
<br>
</blockquote></div>