DarkTrinity
Member
Hallo liebe Community
ich versuche gerade mein Wissen zu TLS/SSL Zertifikaten zu vertiefen und es gibt da ein paar Unklarheiten - vielleicht kann mir ja jemand dazu einen Tipp geben
Bis jetzt "gab es für mich" immer nur 3 verschiedene Sorten von Zertifikaten:
Nachdem ich meinen Testserver im LAN aktualisiert habe (u.a. Ubuntu auf Version 20), hatte ich plötzlich Probleme mit dem Abrufen der Test-Mailaccounts über einen Thunderbird Client. In den Logs fand ich dann sowas:
Wegen diesem Problem bin ich auf die folgende Seite gestossen: https://weakdh.org/ und habe noch ein bissel rescherchiert
Ich habe dann einen "Diffi-Hellmann-Exchange Key" erstellt
und diesen in die Config von Dovecot und Postfix eingebaut
Ergebnis: Emails sind wieder abrufbar
Auf der o.g. Seite wird ebenfalls empfohlen, dies für die Apache2- Webhosts zu machen.
Ok....
Aber ist dieses Diffie Hellman nicht eigentlich nur die hinter der Verschlüsselung stehende Berechnung ?
Anders gefragt:
Es wäre toll, wenn ich hier einen entsprechenden Link oder eine kurze Erklärung dazu bekommen könnte. Ich habe selbst schon viel gegoogelt aber die o.g. Unklarheiten kriege ich irgendwie nicht
ich versuche gerade mein Wissen zu TLS/SSL Zertifikaten zu vertiefen und es gibt da ein paar Unklarheiten - vielleicht kann mir ja jemand dazu einen Tipp geben
Bis jetzt "gab es für mich" immer nur 3 verschiedene Sorten von Zertifikaten:
- Selbstsignierte Zertifikate
- haben garkeine Zertifizierungsstelle, da das Cert sich quasi selbst zertifiziert. Daher wäre die Bezeichnung "Selbstsignierend" in meinen Augen passender. DIe sollte man eher nicht benutzen. Dieses Cert ist oft in Netzwerktauglichen Peripheriegeräten (wie zB Druckern) vorhanden und kann bei guten Modellen gegen ein privat- oder öffentlich signiertes ausgetauscht werden.
- Privatsignierte Zertifikate
- haben eine Zertifizierungsstelle, die ich selbst angelegt habe (CA). Das benutze ich zB in einem LAN, wo ich Webseiten entwickle bevor diese online gehen oder auch mal i-was teste.
- Öffentlich signierte Zertifikate
- haben eine öffentlich anerkannte Zertifizierungsstelle. Sowas benutze ich auf meinem Webserver und zwar von Let's-Encrypt, wo die Zertifikate auf Domains bezogen sind
Nachdem ich meinen Testserver im LAN aktualisiert habe (u.a. Ubuntu auf Version 20), hatte ich plötzlich Probleme mit dem Abrufen der Test-Mailaccounts über einen Thunderbird Client. In den Logs fand ich dann sowas:
Apr 7 10:49:48 hostXXXXX dovecot: imap-login: Error: Failed to initialize SSL server context: Can't load DH parameters: error:1408518A:SSL routines:ssl3_ctx_ctrl:dh key too small: user=<>, rip=192.168.XXX.XXX, lip=192.168.XXX.XXX, session=<ezhkA16/hNLAqLwC>
Wegen diesem Problem bin ich auf die folgende Seite gestossen: https://weakdh.org/ und habe noch ein bissel rescherchiert
Ich habe dann einen "Diffi-Hellmann-Exchange Key" erstellt
openssl dhparam -out ./dh.pem 4096
und diesen in die Config von Dovecot und Postfix eingebaut
## dovecot
ssl_dh = </opt/dhpem/dh.pem
## postfix
smtpd_tls_dh1024_param_file = /opt/dhpem/dh.pem
Ergebnis: Emails sind wieder abrufbar
Auf der o.g. Seite wird ebenfalls empfohlen, dies für die Apache2- Webhosts zu machen.
Ok....
Aber ist dieses Diffie Hellman nicht eigentlich nur die hinter der Verschlüsselung stehende Berechnung ?
Anders gefragt:
- Brauche ich dieses dh-param auch auf dem Webserver, der durch Lets-Encrypt versorgt wird, zwingend ?
- Oder trat dieses Problem vielleicht nur deswegen auf meinem lokalen Testsever auf, weil die dort eingesetzten Zertifikate nicht ausreichend stark verschlüsselt sind ?
- Kann man diesen Diffie-Hellman Parameter ergänzend zu dem "normalen" Zertifikat (ob nun privat oder öffentlich signiert) einsetzen oder ist es mehr ein "Entweder - Oder" ?
- Ach ja - da gibts noch die "SSL Cipher Suites". Soweit ich verstanden habe, wird über diese Werte festgelegt, welcher genaue Verschlüsselungsalgorithmus zwischen Server und Client zur Anwendung kommen soll. Mit OpenSSL lassen sich Einträge ausgeben, die der Server umsetzen kann. So verstehe ich es zumindest - ist das auch richtig so ?
PS Ist dieser DIffie-Hellman Parameter vielleicht eine Alternative zu der SSL Cipher Suites- Liste ?
- I-wie habe ich immer noch nicht begriffen, was dieser "dh-Parameter" wirklich ist - hab nur "Vermutungen"
Es wäre toll, wenn ich hier einen entsprechenden Link oder eine kurze Erklärung dazu bekommen könnte. Ich habe selbst schon viel gegoogelt aber die o.g. Unklarheiten kriege ich irgendwie nicht