Comodo PositiveSSL für nginx inklusive sicherer SSL Konfiguration

Da ich mal wieder mit Owncloud experimentieren wollte, das letzte mal ist gut 2 Jahre her und nicht so erfreulich gelaufen, habe ich mir mal wieder einen günstigen VServer bestellt und drauf los installiert.

Der gesamte Datentausch soll natürlich SSL gesichert ablaufen. Normalerweise würde ich zu diesem zweck ein CACert SSL Zertifikat verwenden, aber da sich auch Freunde und Verwandte auf den Server verbinden sollen und ich keinen Bock auf fragen zu einem „ungültigen“ Zertifikat habe, habe ich diesmal ein Zertifikat gekauft.

Bei Namecheap gibt es günstige SSL Zertifikate von Comodo schon für ca. 7€ im Jahr. Das ist nur Domain Validated, aber das reicht für unseren zweck ja aus, damit unsere Freunde keine Horrormeldung gezeigt bekommen die Verbindung sei unsicher.

Ich gehe mal davon aus das jemand der einen VServer betreibt weiss wie er einen CSR (auf dem Server) mit OpenSSL erstellt, eine Beispielhafter Befehl dafür wäre dieser:

openssl req -nodes -newkey rsa:2048 -keyout 'yourdomain_com.key' -out 'yourdomain_com.csr' -subj '/CN=yourdomain.com/C=DE'

Einen schönen Generator für solche Befehle gibt es auch hier: SSLTrust Script Generator.

Die Keyfile müsst ihr für euch behalten, am besten verlässt diese garnicht erst den Server. Mit dem Inhalt der CSR File könnt Ihr nun das Zertifikat beantragen.

Ist der ganze Prozess korrekt abgelaufen bekommt Ihr von Comodo ein Zip File mit allen benötigten Zertifikaten. Jetzt wird es ein bisschen tricky weil nginx alle Zertifikate in einer Datei in einer bestimmten Reihenfolge haben möchte. Wenn man weiss wie es geht ist es auf der Kommandozeile aber recht einfach:

cat yourdomain_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt >> yourdomain_com_bundle.crt

Nun verschiebt ihr eure Keyfile und die yourdomain_com_bundle.crt an einen Ort wo nginx darauf zugreifen kann, z.B. /etc/ssl/nginx. Passt die Zugriffsrechte per „chmod 600“ , sowie die Ownership per „chown www-data:root“ (auf Debian) an und fügt die Dateien in die nginx Konfiguration für eure Website ein.

Damit euer Server auch gegen Lücken wie Poodle etc. immun ist solltet Ihr noch einige Kleinigkeiten in der Konfiguration anpassen. Leider sperrt man damit z.B.  Win XP User mit IE6 aus, aber wer das nutzt ist selber schuld.

Folgendes Zeilen habe ich noch hinzugefügt:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'AES256+EECDH:AES256+EDH';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;

Nun noch nginx neu starten und IHr köönt eure Domain bei Qualys SSL Test überprüfen lassen. Normalerweise sollte der Test sehr gut mit diesen Einstellungen ausfallen.

Das ist jetzt zugegebenermaßen kein kompletter Walkthrough aber vielleicht hilft es ja noch jemandem ausser mir.

 

 

Schreibe einen Kommentar

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