SSL Zertifikat - NGINX #2

Mai 24, 2020

Einleitung

Was ist eigentlich SSL? SSL hört man öfters im Zusammenhang von Sicherheit und Webseiten. Aber wie gehört dies eigentlich genau zusammen?

Dies werden wir uns jetzt gemeinsam, Schritt für Schritt anschauen.

SSL Vergangenheit und Gegenwart

SSL heißt Secure Socket Layer und ist ein Sicherheitsprotokoll, welches in den 90ern entwickelt wurde, um den Datenverkehr im Internet zu verschlüsseln.

Jedoch ist dieses schon lange überholt und nicht mehr zulässig in der Verwendung.
Heute wird nur noch (großteilig) TLS (v1.3)* verwendet, welches jedoch im Volksmund immer noch SSL heißt. Dies ist auch der Grund, weswegen ich bei dem Begriff SSL bleiben werde.
*TLS => Transport Layer Security

Versionen

Versionen

Wir werden auf dem jeweiligen Server gemäß RFC8446 ein TLS v1.3 Zertifikat installieren.

Und was bringt mir ein SSL Zertifikat?

Das ist ja alles schön und gut, dass SSL neue Updates und so bekommt, aber was bringt mir das? Das ist recht simple. SSL schützt den Datenverkehr und verifiziert das die Webseite von einer bestimmten Person oder Unternehmen ist.

Beispiel für Sicherheit:

Du sitzt in einem kleinen Café, möchtest dich auf Spotify anmelden und Musik hören. Hierfür gehst du auf Spotify (http://accounts.spotify.com/) und meldest dich an.

Tja, wenn es jetzt in diesem Café eine Person gäbe und diese sich mit Netzwerksicherheit auskennen würde, könnte diese jetzt deine Anmeldedaten durch ein Tool wie Wireshark abgreifen.

Dies ist zum Glück kein Alltag und auch Spotify und andere Unternehmen haben hier gewisse Vorkehrungen getroffen, dass dies nicht passieren kann. Denn diese haben das http Protokoll auf das https Protokoll weiterleiten lassen, weswegen nur eine einzige Anfrage durch http läuft. Danach jedoch, wird alles andere mit dem sicheren HTTPS (Hyper Text Transfer Protocol Secure), welches durch ein SSL Zertifikat abgesichert ist, laufen.

Das klingt doch gut. Das wollen wir jetzt auch machen.

SSL mit Let's Encrypt & Certbot

Derzeitiger NGINX Zustand: POST

Wir machen uns die Installation einfach, denn hierfür gibt es ein Programm namens Certbot, welches die Installation voll automatisch übernimmt.

Die genauen Anleitungen für jegliche Distros gibt es auf Certbot.

Ich verwende hier Debian 10, weswegen ich diese Anleitung verwenden werde:
https://certbot.eff.org/lets-encrypt/debianbuster-nginx

sudo apt-get install certbot python-certbot-nginx
sudo certbot --nginx

Die Installation der verschiedenen Pakete kann zwischen 1 und 2 Minuten dauern.
Sollte dies erfolgreich passiert sein, kann man den 2. Befehl ausführen.

Dies sieht dan wie folgt aus:
Certbot

Schritte:

  • Gebe deine E-Mail-Adresse ein. (z.B. max.muster@muster.de)
  • A -> Zum Akzeptieren der AGBs.
  • N oder A, je nachdem ob man seine E-Mail-Adresse teilen möchte.
  • Gebe nun deine Domain(s) an! z.B. www.robinschleser.de, robinschleser.de
    • Dies setzt eine Domain voraus, eine IP-Adresse funktioniert nicht
  • Nun wird von der Let's Encrypt Zertifizierungsstelle ein Zertifikat generiert.

certbot-redirect
Wie vorhin im Beispiel angesprochen, leitet Spotify allen Datenverkehr der anfällt an https weiter. Um dies ebenfalls auf der eigenen Webseite zu haben, tippen wir hier "2" ein.

certbot-finished

Glückwunsch

Deine Webseite hat nun ein SSL Zertifikat und wird nun unter Chrome, Firefox, Edge, Safari und co. nicht mehr als Unsicher angezeigt.

ipEdge-1
wurde zu
Anmerkung-2020-05-23-150518

Extra

Um zu testen oder einfach ein paar Informationen über das eigene Zertifikat zu bekommen, lässt sich diese Seite empfehlen.
https://www.ssllabs.com/ssltest/

Hier wird einfach die eigene Domain angegeben und nach ein paar Minuten später, wird deinem SSL Zertifikat eine Note gegeben + ein paar Informationen werden dir hier angezeigt. z.B.
Bewertung

Information: Hier steht etwas von Ablaufen. Dies kann vorerst ignoriert werden. Da Certbot für uns eine Zeitgesteuerte Erneuerung eingerichtet hat :)

Ich will ein A haben!

Interessant.... Dann würde ich empfehlen in ein paar Tagen noch einmal in der NGINX Serie vorbeizuschauen, dann wird es einen Artikel dafür geben. :D


Danke für das Lesen dieses Artikels, ich hoffe er hat dir gefallen oder auch weiter geholfen.

In den kommenden Tagen wird ein Artikel zu PHP kommen.



Großartig! Das Abonnement wurde erfolgreich abgeschlossen.
Großartig! Schließen Sie als Nächstes die Kaufabwicklung ab, um vollen Zugriff zu erhalten.
Willkommen zurück! Sie haben sich erfolgreich angemeldet.
Erfolg! Ihr Konto ist vollständig aktiviert, Sie haben jetzt Zugang zu allen Inhalten.