Einrichten eines SSL Zertifikat

Vor kurzem habe ich meine Webseite auf SSL umgestellt. Nach diesem Artikel bekam ich einige Rückmeldungen mit der Frage, welche Einstellungen ich vorgenommen habe. Hier nun meine Antwort mit einer kleinen Anleitung um ein SSL Zertifikat unter nginx einzurichten. Ein nginx wie in meiner Beschreibung bekommt beim SSLLabs Test ein Rating von A+.

Key Generieren

Bevor ein SSL Zertifikat generiert werden kann, braucht es einiges an Vorbereitungen. Als erstes braucht es einen Key. Viele Zertifikatsanbieter stellen Tools bereit für diesen Key zu generieren. Um auf Nummer sicher zu gehen, generiere ich den Key mit Hilfe von Openssl auf dem Ziel System selber. Eune Bit Länge von 2048 bit ist genügend, besser wäre eine Länge von 4096 bits.

Certificate Signing Request Generieren

Der nächste Schritt beinhaltet den Zertifikatsantrag zu generieren. Dazu benötigen wir den zuvor generierten Key.

Nach dem Ausführen des Befehls einiges auszufüllen. (In Klammern steht was ausgefüllt werden muss)

Die generierte sbaerlocher.ch.csr Datei schickt man an den SSL Provider, man erhält danach eine .crt Datei zurück. Ich habe mir ein Comodo Zertifikat für knapp 4$/Jahr bei gogetssl.com gekauft. Je nach Anwendungsfall sollte man sich für ein teureres Zertifikat entscheiden, für eine private Webseite reicht ein günstiges Comodo Zertifikat oder ein gratis Zertifikat von StartSSl vollkommen aus.

SSL Zertifikat Speichern

Das zurück erhaltene Zertifikat muss nun mit dem Key zusammen auf dem Server abgespeichert werden. In meiner Struktur ist das unter /etc/ssl/nginx /sbaerlocher.ch.

Nginx Config

Die abgespeicherten Zertifikate müssen jetzt noch in die Nginx Configs eingetragen werden, die unter /etc/nginx gespeichert sind.

Im ersten server {} Block werden alle Anfragen auf Port 80 auf die SSL verschlüsselte Version weitergeleitet. Somit landen automatisch alle Besucher auf https://sbaerlocher.ch.

Im zweiten server {} Block wird das SSL konfiguriert. Es sollten folgende Punkte in der Config sein:

Damit die Seite nicht als IFrame eingebunden werden kann.

Dabei wird mitgeteilt, dass die Webseite die nächsten 365 Tage immer auf https angesteuert werden muss.

Hier wird die Datei eingebunden, die wir vom SSL Provider zurück erhalten habe.

Als zweites muss der Key eingebunden werden.

Bei den verwendeten SSL Protocols sollten nur die neusten Protokolle verwendet werden. Auf keinen Fall sslv3 oder älter, da es zu veraltet und unsicher ist.

Dies hier sind die ciphers, die ich verwende.

SSL Config

Nginx Restart

Nach der ganzen Konfiguration muss der nginx neu gestartet werden.

Kurz Zusammengefasst

Dies sind die Einstellungen, die ich auf meinem Nginx Server getätigt habe. Dies ergibt bei SSLLabs eine Bewertung von A+. Die ganze Config ist auf Gist (Github) veröffentlicht.

Config

Bei Gist (Github)

Download

Bei Gist (Github)

Update

Beim Generieren des Zertifikats wurde der wert -sha512 hinzugefügt.

2 Kommentare zu “Einrichten eines SSL Zertifikat

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.