Frage zu "self signed certificate"

bsd4me

Well-Known Member
Hallo,

ich habe einen Webserver mit einem self signed certificate versehen. das läuft auch gut, nur meckern viele Browser, dass die Verbindung insecure ist wie etwa: "Your connection is not private". Benötigt man unbedingt einen externen CA zur Validierung des Certifikates? Kann man das evtl. umgehen?

danke, Norbert
 
Hallo,

Es gibt in meinen Augen zwei Möglichkeiten:

  1. Das "root" Zertifikat mit welchem du das self signed Zertifikat ausgestellt hast, kannst du auf dem Client (Firefox, Android etc.) importieren. Danach funktioniert es ohne Meldung.
  2. Du kannst das Projekt "Let's Encrypt" [1] verwenden, sollte der Webserver extern erreichbar sein.

Gruss

[1] https://letsencrypt.org/
[1] https://thomas-leister.de/anleitung-fuer-lets-encrypt-kostenlose-tls-zertifikate-fuer-alle/
[1] https://www.digitalocean.com/commun...ure-apache-with-let-s-encrypt-on-ubuntu-16-04
 
Also die ganze X.509 PKI mit ihren >1000 CAs ist broken by design, aber sie alles was wir für HTTPS haben. Browser und Betriebssysteme enthalten jeweils eine Liste von als vertrauenswürdig eingestuften CAs. Jede dieser CAs und ihrer Sub-CAs können dir ein Serverzertifikat ausstellen, dass von allen gängigen Browsern akzeptiert wird (von Randfälle wie Certificate Pinning mal abgesehen).

Derzeit ist die bequemste Lösung des Porblems für kleine Setups einfach Let's Encrypt zu verwenden. FreeBSD bietet da den security/letsencrypt.sh Port an.
 
Der Königsweg wäre, das selbstsignierte Zertifikat direkt im Browser zu importieren und gleichzeitig zu "pinnen".

Sobald du mit unbekannten Clients zu tun hast, die du nicht kontrollierst, geht das nicht mehr. An der Stelle kommen dann externe CAs als notwendige Übel ins Spiel. Mit HPKP kannst du dann auch das Zertifikat oder den public key "pinnen", das funktioniert aber nach dem Prinzip TOFU (trust on first use) und ist mehr eine Krücke, um das marode CA-System in den Griff zu kriegen.
 
Zurück
Oben