HTTPS mit selbstsigniertem Zertifikat

Mit Hilfe eines selbstsignierten Zertifikats lässt sich ein Basisschutz hinsichtlich der Vertraulichkeit von HTTP-Übertragungen herstellen. Es fehlt dem Browser zwar die Möglichkeit, die Identität des Servers zuverlässig zu verifizieren, aber die Kommunikation ist gegen Abhören durch an der Kommunikation nicht beteiligte Dritte geschützt.

  1. Erstelle ein selbstsigniertes Zertifikat für deinen Webserver. Du kannst hierfür z. B. die Lösung aus diesem Beitrag auf Stack Overflow verwenden oder etwas ausführlicher diese Anleitung für OpenSSL auf der Kommandozeile verwenden.
    1. Hinweis: Im Produktiveinsatz lässt man ein selbst erzeugtes Zertifikat selbstverständlich von einer vertrauenswürdigen CA signieren, welche entweder unternehmensintern betrieben wird oder von einem Zertifikatsdienstleister. Für durchschnittliche Sicherheitsansprüche kann man hierfür auch die Zertifikate von Let's Encrypt verwenden und diesen Prozess mit Hilfe von certbot automatisieren, sofern es sich um eine öffentlich erreichbare Web-Ressource handelt.
  2. Konfiguriere deinen Web-Server so um, dass er das von dir erzeugte Schlüsselmaterial einsetzt und deine Webseite via HTTPS anbietet.
    1. Für Apache 2 kannst du dich an diesem Tutorial bei Digital Ocean orientieren.
    2. Für nginx kannst du dich an der Dokumentation zu nginx orientieren.
  3. Rufe zur Überprüfung deiner Einstellungen deine Webseite im Browser auf.
  4. Die Qualität der TLS-Einstellungen eines öffentlich erreichbaren Web-Servers kannst du mit Hilfe der Webseite https://www.ssllabs.com/ von Qualys einschätzen lassen. Probiere diesen Service mit einer von dir gewählten, per HTTPS erreichbaren Webseite aus und studiere die Ergebnisse.