Ich wollte schon lang einen Artikel über Verschlüsselung schreiben. Nachfolgend kommen hier einige Infos über SSL und warum SSL Zertifikate die Grün sind trotzdem nicht mehr Sicherheit bringen als die, die von Browsern als unsicher eingestuft werden. Und wie man die Irreführende Meldung abschaltet. Weiterhin möchte ich euch darlegen, dass ihr trotz eines grünen Balkens SSL-Zertifikate mit Vorsicht betrachten solltet und euch bewusst machen, dass SSL eigentlich nur der verschlüsselten Kommunikation dient und nicht automatisch die Sicherheit bietet, die es Verspricht. Nochmal; ein grüner Balken in der URL schützt nicht vor Viren oder manipulierten Inhalten, die euch einer unterjubeln will!
SSL steht für secure sockets layer. Man sollte Heutzutage allerdings nur noch TLS (Transport Layer Security – Transportschichtsicherheit) nutzen. Allerdings spricht man nach wie vor von SSL. SSL sollten eigentlich alle kennen. Das ist das, wenn ihr zu eurer Bank geht und dann ein Schloss vor der URL steht oder diese sich sogar Grün färbt. z.B so:
Wichtig hierbei ist allerdings nicht unbedingt die Grünfärbung, sondern dass die Verbindung generell verschlüsselt ist.
Was verbirgt sich nun hinter dem grünen Balken? (mit der linken Maustaste auf das grüne Schloss klicken und anschließend auf Zertifikat anzeigen, fördert folgendes Bild zu Tage)
Darin sehe ich für wen das Zertifikat, von wem ausgestellt wurde. Die Zertifizierungsagentur(CA), die das Zertifikat ausgestellt hat befindet sich unter Allgemeiner Name(CN) CN steht für common name.
Das Merken wir uns für Später, denn das wird noch beim Ausstellen von eigenen Zertifkaten wichtig, da allerdings unter „Ausgestellt für:“.
Was wir bis hierhin wissen ist also, dass es ein Zertifikat gibt, welches die sichere Kommunikation zwischen Client und Server herstellt. Dieses Zertifikat können wir erstellen, damit es als nicht mehr unsicher gilt, müssen wir dieses von einer CA, bei der wir uns vorher ausgewiesen haben, Zertifizieren lassen. Wenn ihr jetzt aber auf unsere Seite geht, bekommt ihr folgende Warnung:
Ist es jetzt gefährlich hier hin zu surfen? – Nein!
Wenn ihr auf „Ich kenne das Risiko“ klickt und dann auf Ausnahme hinzufügen klickt und dort dann Zertifikat anzeigen bekommt, steht darin:
Ihr seht also es ist von der CA Cert Signing Authority ausgestellt. Die CA Cert ist eine gemeinnützige Organisation, die es sich zum Ziel gesetzt hat kostenlose Zertifikate auf Basis eines Web of Trusts zu Zertifizieren.
Die verschiedenen CAs sind bei Firefox in einem internen Zertifikatsspeicher(PKI Speicher) gespeichert, bei InternetExplorer und Chrome in einem Windowsinternen PKI Speicher. Ob die allerdings so sicher sind, wie sie vorgeben bezweifel ich. Denn neben der US-Regierung und der Bundesregierung sind da auch noch die Chinesen („CNNIC“), America Online (ich wusste garnicht, dass die über das Jahr 2000 gekommen sind, denn ich habe schon lange keine CDs mit kostenlosen Minuten mehr im Postfach gehabt), TÜRKTRUST, verschiedene andere Staaten, Intel und Microsoft. Ich führe es hier auf, weil es wichtig ist, dass ihr versteht, dass jeder von denen, wenn er wollte, eure Email mitlesen könnte, indem er euch ein ungültiges (also ein von ihnen generiertes, von ihnen unterschriebenes, und daher vom Browser akzeptiertes) Zertifikat vor die Nase hält. Aber auch traditionelle CAs sind vor fälschungen nicht sicher, lest dazu folgenden Link: http://www.reuters.com/article/2012/02/02/us-hacking-verisign-idUSTRE8110Z820120202 (englisch). Dazu sei gesagt, dass Verisign das Urgestein der CAs ist.
TL;DR: Verisign wurde mehrmals gehackt, gehört hat man dennoch nicht viel davon. Ausschließen, dass da mehr passiert ist, kann man natürlich nicht.
Also kurz gesagt und bezugnehmend auf meine Einleitung, nur weil es grün ist, ist es nicht sicher. Bitte betrachtet also ein Zertifikat nicht als Garant für eine sichere Verbindung und vertraut dieser blindlinks. Seht SSL eher als verschlüsselte Kommunikation zwischen einem Client und dem Server!
Um ohne Warnung meine Seite zu betreiben, könnte ich klar auch zu einem Kommerziellen Anbieter gehen, den ein paar Euro in den Rachen werfen und dafür würde dann keine Warnung mehr aufblinken.
Ich möchte euch hier kurz darlegen, wie sowas von statten geht: Ich nehm jetzt mal RapidSSL, weil ich einige Zertifikate dort für Enterprise Kunden hosten muss.
Ich geh also auf deren Seite klicke: Ein zertifikat anlegen. Daraufhin fülle ich ein paar Daten aus lege mein Geld(30€ pro Domain, jede Subdomain würde nochmal 30€ kosten) in Form einer Kreditkarte oder einer Rechnung auf den Tisch und habe mein warnungsfreies Zertifikat. Eine Überprüfung, ob ich wirklich der bin, der ich Vorgebe zu sein, findet nicht statt. Wenn ich jetzt will, dass sich der Balken grün färbt, kostet mich das Zertifikat 300€.
Ich habe allerdings ein Problem damit, jemanden mein Geld zu geben, der nur ein script im Hintergrund laufen lässt, welches ich auch selbst laufen lassen könnte. Nur damit die Warnung nicht erscheint. Zumal dieses WOT modell der CaCert irgendwie mehr noch verspricht, wirklich der zu sein, der ich vorgebe zu sein, da ich persönlich bei mindestens 3 Leuten mit meinen Ausweis vorstellig sein muss, um ein Zertifikat von einem Jahr ausstellen zu dürfen. CaCert hat versucht in den PKI Speicher von Mozilla aufgenommen zu werden, scheiterte aber bisher immer am internen Audit.
Es gibt aktuell Bestrebungen einen ähnlichen Service(ohne WOT) anzubieten, der dann wohl (weil von Mozilla unterstützt) in den PKI von Mozilla aufgenommen wird. Das soll mitte 2015 erscheinen. Infos bekommt ihr hier: https://letsencrypt.org/
Die Warnung kann man dennoch generell abschalten, in dem man die CA in den PKI Speicher aufnimmt. Dies habe ich nachfolgend erklärt:
Geht auf folgende Seite http://www.cacert.org/index.php?id=3 und klickt dort unter Klasse 1 PKI Schlüssel auf Stammzertifikat (PEM Format). Daraufhin öffnet sich folgender Dialog und ihr macht die Einstellung wie gezeigt. Zukünftig sind dann auch Zertifikate der CaCert im CA Speicher von Firefox. Für Chrome und IE(den ihr ja nicht benutzen solltet), klickt ihr auf das Installationspaket von Windows.
Abschließend noch einen link, wo ihr die Sicherheit von meinem oder auch euerer Server überprüfen könnt.
https://dev.ssllabs.com/ssltest/analyze.html?d=opennerds.org&latest
Wenn dann das Ergebnis so aussieht, ist alles super: (Wichtig ist hier das von mir hervorgehobene(bei euch ist das selbstverständlich nicht gelb hinterlegt): If trust issues are ignored: A)
Das alles stelle ich jetzt nicht noch gesondert als Anleitung hier rein, da es schon ein sehr gutes Tutorial gibt: http://www.asconix.com/howtos/debian/free-cacert-ssl-certificates-debian-howto Wenn Ihr fragen dazu oder zum Artikel habt, zögert nicht euere Fragen als Antwort zu stellen.
Quellen:
https://wikipedia.org/
https://blog.fefe.de/
https://ssllabs.com/
https://letsencrypt.org/
https://reuters.com/ (Achtung: leitet penetrant auf http um)
https://cacert.org/