HTTPS für alle mit Let's Encrypt
Heute hat die Zertifizierungsstelle Let's Encrypt offiziell ihren Betrieb aufgenommen. Let's Encrypt hat das Ziel, die Nutzung von verschlüsselten HTTPS-Verbindungen einfacher zu machen und bietet kostenlose TLS-Zertifikate an.
Schon bisher war es für alle schokokeks.org-Kunden möglich, eigene Zertifikate zu nutzen und für Webseiten einzutragen. Zudem unterstützen wir auch schon seit einer Weile die HSTS-Technologie, um HTTPS-Verbindungen zusätzlich abzusichern.
Sicherheitslücke in OpenSSL
Wie gestern Abend bekannt wurde gab es in OpenSSL eine gravierende Sicherheitslücke, die von ihren Entdeckern Heartbleed genannt wird. Die Sicherheitslücke erlaubt das Auslesen des privaten Keys eines Servers, die Auswirkungen sind somit gravierend und betreffen einen Großteil der Infrastruktur im Internet. Betroffen sind alle OpenSSL-Versionen von 1.0.1 bis 1.0.1f.
Abschied von CAcert
Als wir vor langer Zeit schokokeks.org gestartet hatten, hatten wir unsere Server mit SSL-Zertifikaten der Community-Zertifizierungsstelle CAcert ausgestattet. Wir werden CAcert-Zertifikate ab sofort nicht mehr einsetzen und wollen das kurz begründen.
StartSSL und OCSP
Heute früh war für einige Stunden unser Mailserver für Thunderbird-Nutzer nicht erreichbar. Alleine die Suche nach der Ursache hat uns einige Zeit gekostet, leider mit dem Ergebnis, dass wir nichts beschleunigen können.
Hintergrund: Es gibt eine Funktion, mit der ein Client (Mailprogramm, Browser) online abfragen kann ob ein bestimmtes SSL-Zertifikat jetzt grade gültig ist oder ob es beispielsweise gesperrt wurde. Diese Funktion nennt sich OCSP.
Zertifikate von StartSSL
schokokeks.org setzt zum Betrieb der Hosting-Server ausschließlich auf freie Software und wir unterstützen gerne freie Projekte diverser Art. Deshalb haben wir von Anfang an SSL-Zertifikate vom Projekt CAcert eingesetzt.
Neues Zertifikat mit Firmennamen
Wir haben heute das Zertifikat für die Webseiten von schokokeks.org erneuert. Alle Webseiten sind über https erreichbar, die Seiten, die einen Login erfordern (Konfigurationsinterface, Webmail, Wiki), sind ausschließlich SSL-geschützt erreichbar.
Wir haben nun bei der freien Zertifizierungsstelle CAcert eine sogenannte Organisations-Assurance durchgeführt, d. h. die Echtheit unserer Firma wurde überprüft. Damit ist im Zertifikat auch unser Firmenname schokokeks.org GbR eingetragen (bislang war dieses Feld leer).
Um CAcert-Zertifikate automatisch zu akzeptieren, muss man die Root-Zertifikate im Browser einfügen.
SSL/SSH-Keys von Debian-basierten Systemen kompromittiert
Eine Verwundbarkeit in den OpenSSL-Paketen von Debian hat gravierende Auswirkungen. Diverse Schlüssel, die mit diesem Paket erstellt wurden, sind angreifbar.
https://nvd.nist.gov/vuln/detail/CVE-2008-0166
Auf unseren eigenen Systemen benutzen wir ausschließlich Gentoo Linux, insofern sind unsere Server-Keys nicht betroffen. Zur Sicherheit unsere Kunden haben wir alle SSL-Server-Zertifikate und alle SSH-Publickeys (in authorized_keys) überprüft.
Wir fanden keine unsicheren SSL-Zertifikate. Einige wenige SSH-Keys waren verwundbar, wir haben diese deaktiviert und die entsprechenden Nutzer informiert.
Presseinformation: schokokeks.org setzt für SSL-Zertifikate auf SNI
Ein gängiges Problem von geschützten https-Verbindungen ist, dass üblicherweise pro IP-Adresse nur ein Zertifikat vergeben werden kann. Daher ist es bei den meisten Shared-Hosting-Angeboten nicht möglich, https-Verbindungen korrekt zu nutzen, da das zugehörige Zertifikat nicht passend ist.
Hierfür existiert die SSL-Erweiterung SNI (Server Name Indication), welche auf unterschiedlichen virtuellen Hosts unterschiedliche Zertifikate ermöglicht. SNI wird bereits von den gängigen Browsern (Firefox, Opera, IE ab version 7) unterstützt. schokokeks.org bietet als einer der ersten Shared-Hosting-Provider seinen Kunden SNI an.
schokokeks.org selbst setzt für seine Seiten Zertifikate der freien Zertifizierungsstelle CAcert.org ein, jedoch können unabhängig davon auch eigene, extern gekaufte Zertifikate eingesetzt werden.
Einige Hintergrundinformationen über SNI haben wir in unserem Wiki bereitgestellt:
https://wiki.schokokeks.org/SNI
Eigene SSL-Zertifikate für Kunden
Ein leidiges Problem mit https-Seiten ist, dass sie, zumindest bei Shared-Hosting-Umgebungen, meist mit falschen Zertifikaten ausgeliefert werden. Das Problem besteht darin, dass in der Vergangenheit eine IP lediglich ein Zertifikat ausliefern konnte.
Inzwischen gibt es eine Erweiterung des SSL/TLS-Standards mit dem Namen »Server Name Indication«, welche genau dieses Problem löst. Ab sofort bieten wir auf schokokeks.org an, dass Kunden über SNI eigene https/ssl-Zertifikate für ihre Domains nutzen können.
Clientseitig funktioniert dies bereits in den meisten Browsern. Firefox, Opera und IE unterstützen dies in der jeweils aktuellen Version, Konqueror wird ab KDE 4 dabei sein. Safari unterstützt im Moment SNI noch nicht.
Wir empfehlen weiterhin, Zertifikate von der freien Zertifizierungsstelle CAcert unterschreiben zu lassen, wir verteilen auch als Assurer Punkte für CAcert.
SSL-Zertifikat mit Kunden-Domains
Ein bekanntes Problem mit über SSL ausgelieferten Webseiten ist, dass https pro IP-Adresse nur ein Zertifikat erlaubt. Das bedeutet, dass üblicherweise Domains, die in Shared-Hosting-Umgebungen betrieben werden, kein korrektes Zertifikat besitzen können, sofern Sie nicht eine eigene IP-Adresse beanspruchen.
schokokeks.org bietet seinen Kunden ab sofort die Möglichkeit, ihre Domains in einem Gemeinschaftszertifikat eintragen zu lassen. Hierfür bieten SSL-Zertifikate die Möglichkeit, mehrere Domains mit der Direktive SubjectAltName einzutragen. Wie bereits bekannt, lassen wir unsere Zertifikate von der freien Zertifizierungsstelle CAcert unterschreiben.
Die Lösung mit SubjectAltNames behebt das Problem zwar rudimentär, jedoch ist diese Lösung nicht sonderlich elegant. Für die Zukunft planen wir deshalb den Einsatz von SNI (Server Name Indication), welches mehrere SSL-Zertifikate auf einer IP vorsieht. SNI ist eine Erweiterung des SSL/TLS-Standards. Interessanterweise ist die Unterstützung von SNI in den meisten Client-Applikationen bereits vorhanden. Firefox, Opera und Internet Explorer sind bereits SNI-fähig, Konqueror wird mit KDE 4 diese Möglichkeit erhalten. Einzig Safari ist bei den großen Browsern noch außen vor.
Was uns davon abhält, SNI nicht jetzt schon einzusetzen, ist die Tatsache, dass openssl (und damit apache mit mod_ssl) dies erst mit Version 0.9.9 unterstützen wird - und wann diese erscheint, ist noch unklar. Alternativ wäre der Einsatz von gnutls mit mod_gnutls möglich, jedoch gilt dies noch nicht als stabil einsetzbar.
Unabhängig davon wäre natürlich langfristig eine Lösung mit IPv6 zu bevorzugen. Auch hier ist schokokeks.org bereits vorbereitet und bietet auf Anfrage eigene Zertifikate über IPv6 schon jetzt.
Die VhostTaskForce bei CAcert bietet einen Überblick über die angesprochenen Möglichkeiten der SSL-Zertifikate.