Kostenlose SSL Zertifikate

Kostenlose SSL Zertifikate

Neuerdings gibt es zahlreiche Quellen für kostenlose, nicht selbst signierte SSL Zertifikate.

Wobei selbst signierte SSL Zertifikate ja auch nicht schlecht sind. Allein schon der verwendete Begriff „Snakeoil” macht sie schon pädagogisch wertvoll (bei den automatisch von ssl-cert bei Installation erzeugten Zertifikaten). Und auch die Transportstrecke ist gesichert, es bleiben nur 2 Probleme: die andere Seite kann u. U. vorgeben, jemand zu sein, die sie nicht ist, und der Anwender bekommt die Sicherheitswarnung im Browser. Insofern reichen sie z. B. oft aus, um einen privat genutzten Webserver abzusichern, z. B. beim Dateiaustausch.

Mittlerweile lassen sich mit kleinem Mehraufwand jedoch auch offiziell gültige Zertifikate erstellen.

3 Jahre sorglos mit WoSign

Die für mich aktuell beste Lösung ist WoSign. Auf dieser chinesischen Seite kann man sich Zertifikate für bis zu 3 Jahre ausstellen, und das kostenlos – Dauer ca. 10 Minuten, wenn man bereits in den Server eingeloggt ist und weiß, wie man mit Zertifikaten umzugehen hat.

Wie immer in so einem Fall sollte man den privaten Schlüssel selber generieren und nur den öffentlichen Teil (certificate signing request) hochladen – dann muß man auch keine Angst haben, daß das Zertifikat in China signiert wird.

openssl req -new -newkey rsa:3072 -nodes -out mydomain.de.csr -keyout mydomain.de.key

Hier müssen wir einige Daten eintragen – die Defaults sollte man nicht nehmen, da hier bei mir schon die Signierung fehlgeschlagen ist, diese Werte werden jedoch normalerweise nicht angezeigt (nur, wenn man sich die Zertifikats-Details anschaut), ich trage z. B. bei Name, Firma usw. dasselbe ein.

Ich nehme hier 3072 Bit, genauso gut sind 2048 oder 4096 Bit, je nach Sicherheitsanforderungen. Mit 4096 Bit sollte man auch die nächsten 2 Jahrzehnte noch sicher sein – aber bis dahin hat man oft ja die Keys ohnehin mehrmals ausgetauscht.

2015-12-15 10_44_40-Apply for WoSign Digital Certificates online_ SSL Certificates_ Code Signing Cer

Die .csr Datei lade ich dann bei WoSign hoch (bzw. copy/paste den Inhalt) und kann eine .zip Datei runterladen, die die benötigten Zertifikate (für die Domain und für WoSign/root) enthält und die auf den Server kopiert werden müssen.

Die Konfigurationsdatei für Apache (für nginx und andere ähnlich) sieht dann folgendermaßen aus:

<IfModule mod_ssl.c>
        <VirtualHost *:443>
                ServerAdmin webmaster@localhost
                DocumentRoot /var/www/
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
                SSLCertificateFile      /etc/ssl/certs/2_mydomain.de.crt
                SSLCertificateKeyFile /etc/ssl/private/mydomain.key
                SSLCertificateChainFile /etc/ssl/certs/1_root_bundle.crt
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
                BrowserMatch "MSIE [2-6]" \
                                nokeepalive ssl-unclean-shutdown \
                                downgrade-1.0 force-response-1.0
                BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
                <IfModule mod_headers.c>
                        Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
                </IfModule>
        </VirtualHost>
</IfModule>

Hier müssen wir sowohl unseren selbst generierten Key (/etc/ssl/private/mydomain.key), unser Domainzertifikat (/etc/ssl/certs/2_mydomain.de.crt) wie auch das root/chain-Zertifikat (/etc/ssl/certs/1_root_bundle.crt) korrekt angeben.

Damit haben wir ein vollwertiges, 3 Jahre gültiges SSL Zertifikat.

Wildcards sind nicht möglich, dafür lassen sich bis zu 5 Domains (und Subdomains) auf einmal signieren.

1 Jahr gültig: StartSSL

Eher der Vollständigkeit halber (StartSSL ist recht beliebt) sei hier StartSSL erwähnt.

Hierzu gibt es bei Heise auch eine recht umfangreiche Anleitung zur Benutzung.

Leider sind die Zertifikate hier jedoch nur 1 Jahr gültig.

Dauerhaft gültig, noch nicht sehr reif, Sicherheitsbedenken: Let’s Encrypt

Let’s Encrypt ist ein Community-basierter Ansatz, bei dem sich Anwender ihre Zertifikate (für verifizierbare Domains) selber ausstellen können.

Aktuell ist Let’s Encrypt erst kurz der Beta entsprungen und noch verschiedenen Kritiken ausgesetzt, so öffnet es möglicherweise kurz Angreifern ein Einfallstor und benötigt zum Laufen aktuell auch root-Rechte. Beides dürfte in nächster Zeit behoben werden.

Alternativen, die zumindest ohne Admin-Rechte auskommen, gibt es bereits, da sich prinzipiell jeder seinen Client selber schreiben kann. So gibt es auch bei Github bereits einige Alternativen (siehe folgenden Post bei Heise.

Später sollen auch Wildcards unterstützt werden.

Fazit

Ganz klar aktuell empfehle ich WoSign, in einigen Monaten, mit etwas mehr Reife, sollte Let’s Encrypt die erste Wahl werden. Mit mächtigen Unterstützern wie Mozilla und Facebook sollte Let’s Encrypt keine Eintagsfliege sein und dann (mit passendem Cron Job) nach einmaligem Aufsetzen dauerhaft SSL bereitstellen.


WoSign 3 Jahre gültig
Let’s Encrypt ewig gültig mit Cron Job und etwas mehr Setup
StartSSL 1 Jahr gültig, aktuell keine gute Alternative

Schreibe einen Kommentar

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