Kategorien
Security Verschlüsselung Webdesign Webserver

Installiere ein SSL Zertifikat – sofort!

Die Datenschutzgrundverordnung, die am 25. Mai 2018 in der Europäischen Union in Kraft getreten ist, schreibt unter anderem vor, Formulare auf einer Website mit einem SSL Zertifikat auszustatten. Das Zertifikat und das zugehörige Protokoll sorgen dafür, dass die Daten zwischen dem Browser des Besuchers und dem Server der besuchten Website verschlüsselt übertragen werden.

Auch unabhängig von dieser Verordnung ist die Installationen eines SSL Zertifikats eine gute Idee! Wenn deine Website noch kein SSL Zertifikat nutzt und du deine Website bei uns hostest, dann solltest du das jetzt einfach mal einrichten. Ich zeige dir, wie es geht.

Kategorien
Allgemein News Security

Transportverschlüsselung und HTTP/2 für alle – kostenlos!

Seit ein paar Tagen können Sie bei uns kostenlose TLS Zertifikate für Ihre Domain zu erzeugen und einzusetzen.
Diese Art der Verschlüsselung macht es möglich, dass wir Ihnen bei dieser Gelegenheit auch die Nutzung des schnelleren Übertragungsprotokolls HTTPS/2 SPDY anbieten.

Kurz: Ihre Website wird dadurch sicherer UND schneller 🙂

Aber der Reihe nach:

TLS Zertifikate für alle Domains aller Webhosting Kunden

Wie bereits in mehreren Blogposts angesprochen, ist es nun so weit. Die Zertifizierungsstelle Let’s encrypt hat Ihren Betrieb aufgenommen und bietet kostenlose X.509-Zertifikate für Transport Layer Security (TLS) an. Also genau das, was gemeinhin als SSL Zertifikat bezeichnet wird. Wie versprochen (Natürlich wird es kostenlose SSL/TLS Zertifikate geben – auch bei uns 🙂 ) haben wir so schnell wie möglich dieses Feature auch für unsere Webhosting Kunden bereitgestellt.
Innerhalb der Verwaltungsoberfläsche cPanel gibt es dafür im Bereich Sicherheit ein neues Dialog-Icon – Let’s Encrypt SSL.

cPanel - Sicherheit
cPanel – Sicherheit

In unseren FAQ ist detailliert beschrieben, wie Sie sich ein Zertifikat installieren können (Wie kann ich ein kostenloses Let’s Encrypt Zertifikat installieren?).
Das Zertifikat wird nach Ablauf automatisch für Sie verlängert und bietet handfeste Vorteile:

  1. Der Datenverkehr zwischen dem Browser eines Besuchers und Ihrer Website ist verschlüsselt und erhöht so die Sicherheit bei der Übermittlung von privaten Daten wie beispielsweise Passwörtern und Zahlungsinformationen.
  2. Verschlüsselter Datenverkehr erhöht allgemein das Vertrauen Ihrer Kunden in die Sicherheit Ihrer Website
  3. Für die Benutzung eines SSL-Zertifikats gibt es im Ranking Faktor Ihrer Website bei Google einen Bonus.

HTTP/2 – was ist das?

Das Hypertext Transfer Protokoll (HTTP) ist ein zustandsloses Protokoll und wird hauptsächlich dazu eingesetzt Websites von einem Server zu laden. Das Wort zustandlos beschreibt auch gleich das grösste Problem bei der Kommunikation. Bei jeder neuen Anfrage muss die Verbindung neu „ausgehandelt“ werden. Das kostet Zeit und Ressourcen. Hier ein Beispiel aus dem Leben.

Mein Browser auf meinem PC spricht HTTP in der Version 1.1 und fragt den Host mit dem Namen serverblogger.ch nach seiner Seite (GET / HTTP/1.1 …). Dabei schickt mein Browser alle möglichen Informationen mit. Diese Informationen enthalten beispielsweise den Typ des Browsers (user-agent), die Art des gewünschten Dokuments (Accept), die bevorzugte Sprache (Accept-Language) und weitere Informationen. Diese Daten sind unverschlüsselt und werden an den Webserver geschickt.

GET / HTTP/1.1
Host: serverblogger.ch
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:42.0) Gecko/20100101 Firefox/42.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

Der Server antwortet (HTTP/1.1 200 OK) und schickt seinerseits (je nach Konfiguration) alle möglichen Daten mit. Der Webserver ist ein Apache, Betriebssystem ist Ubuntu, etc.

HTTP/1.1 200 OK
Date: Fri, 18 Dec 2015 14:49:43 GMT
Server: Apache/2.4.7 (Ubuntu)
X-Powered-By: PHP/5.5.9-1ubuntu4.14
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 105
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html

Nach diesen „Headern“ wird dann der eigentliche Text der Website übertragen, den der Browser dann entsprechend darstellt. Das Beispiel stammt von unserem Testserver, den wir für die Artikel des Blogs nutzen.

Hier ein weiteres Beispiel von der aktuellen novatrend.ch Website.

Die Anfrage meines Browser ist die gleiche, die Antwort des Servers ist aber unterschiedlich:

GET /de/ HTTP/1.1
Host: www.novatrend.ch
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:42.0) Gecko/20100101 Firefox/42.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Cache-Control: max-age=0

Mein Browser bietet als Protokoll HTTP/1.1 an, der Server antwortet jedoch mit HTTP/2.0. Als Server wird nicht Apache, sondern LiteSpeed benutzt und als letzter „Header“ wird noch ein X-Firefox-Spdy Wert mitgegeben. Der Server hat also bemerkt, dass ich den Firefox Browser benutze und entsprechend darauf reagiert. Je nach Website wird mehrmals nachgefragt, um alle Grafiken, CSS Dateien und was es zum Aufbau der Site benötigt, herunterzuladen.

HTTP/2.0 200 OK
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Date: Fri, 18 Dec 2015 15:04:30 GMT
Accept-Ranges: bytes
Server: LiteSpeed
X-Firefox-Spdy: h2

Nun sind wir in der Welt der vielen Protokolle angekommen und müssen etwas genauer hinsehen:

HTTP ist ein zustandloses Protokol, das jede Verbindung zwischen Client und Server neu aushandelt. Um das zu vereinfachen erfand man Cookies und Session-Ids und der Server seinerseits versucht mittels den Keep-Alive Einstellungen eine Verbindung so lange wie möglich „offen zu halten“. In Cookies und Sessions-IDs stecken jedoch hoch interessante Daten und viele offene Verbindungen machen den Server langsam, füllen dessen Speicher und machen ihn anfällig für Szenarien, bei denen ein Client nur eine GET Anfrage schickt aber nicht weiter kommuniziert. HTTPS ist die sichere Variante von HTTP, die noch einmal mehr Informationen hin und her schickt um eine verschlüsselte Verbindung zu ermöglichen.

HTTP/2 ist abwärtskompatibel zu HTTP1.1 und soll alles besser machen. Client Anfragen können zusammengefasst werden, Daten und andere Inhalte können binär kodiert und komprimiert übertragen werden und der Server kann selbst Datenübertragungen initieren (PUSH). Gerade das letzte Feature ist sehr hilfreich bei Web-Applikationen. HTTP/2 wurde massgeblich von Google (SPDY) und Microsoft (HTTP Speed) initiert. Googles SPDY setzte sich dann durch. Die Abkürzung SPDY steht übrigens für speedy, also schnell :).

Ursprünglich war geplant, das HTTP/2 standardmässig TLS, also verschlüsselte Verbindungen mit SSL Zertifikaten, nutzt. Im finalen Entwurf entfiel diese Option allerdings. Der Geschwindigkeitsvorteil des Protokolls wird in erster Linie über das Zusammenfassen von Anfragen erreicht.

Google (Chrome) und Mozilla (Firefox) kündigten jedoch an, HTTP/2 nicht ohne Verschlüsselung nutzen zu wollen und implementierten Googles SPDY in die Browser. Wenn nun ein Webserver wie Litespeed diese Technik mittels des Headers X-Firefox-Spdy: h2 anbietet, so nutzt der Firefox Browser das HTTP/2 Protokoll (für Chrome gibt es einen entsprechenden Header).

SPDY sorgt, wie der Name vermuten lässt, für eine Beschleunigung der verschlüsselten Kommunikation, verglichen mit dem HTTPS Protokoll. Die Kommunikation gesicherter Verbindungen wird „vereinfacht“ in dem die Wege der Datenpakete optimiert werden. Dadurch werden verschlüsselte Verbindungen ähnlich schnell wie unverschlüsselte Verbindungen.

An dieser Stelle kann man auch nachvollzieghen, warum Google verschlüsselten Verbindungen einen kleinen Bonus auf den Page Rank gibt. Zum einen setzt sich dadurch verschlüsselte Kommunikation schneller durch und zum anderen wird der Geschwindigkeitsnachteil ausgeglichen.

Im nächsten Schritt soll SPDY ebenfalls ein Standard werden. Der heisst dann Application-Layer Protocol Negotiation oder kurz ALPN und stellt eine Erweiterung von TLS dar.

Die HTTP Befehle zwischen Ihrem Browser und einem beliebigen Server lassen sich übrigens mit dem Live HTTP Headers Add-On für Firefox und Chrome beobachten.

Fazit

Auch wenn das jetzt vielleicht ein wenig zu technisch war, so bleiben hoffentlich zwei Dinge im Gedächtnis:
Ihre Website bei uns ist jetzt SICHERER und SCHNELLER 🙂

Links:


tl;dr: Novatrend bietet kostenlose TLS Zertifikate für Ihre Website und liefert sie mittels HTTP/2 aus. Das macht Ihre Website sicherer und schneller.

Kategorien
Infrastruktur Security Server

Let’s Encrypt serverblogger.ch

Tadaa, es ist es soweit!

SSL/TLS Zertifikate, die von allen Browsern anerkannt werden, können nun kostenlos erstellt werden. Am 3. Dezember 2015 startete die öffentliche Beta-Phase der Let’s Encrypt Zertifizierungsstelle und in diesem Blogeintrag werde ich ein solches Zertifikat auf unserem Blogserver erzeugen und für die Domain serverblogger.ch einrichten.

Basissystem

Ich nutze einen virtuellen root Server aus dem aktuellen Novatrend Angebot und habe dort Linux Ubuntu 14.04 und einen LAMP Stack installiert. Die Domain serverblogger.ch zeigt auf einen virtuellen Host mit dieser Minimalkonfiguration:

<VirtualHost *:80>
  ServerName serverblogger.ch
  ServerAlias www.serverblogger.ch
  DocumentRoot /var/www/serverblogger.ch/public_html/
</VirtualHost>

Let’s encrypt verspricht eine automatisierte Einrichtung von Konfigurationsdateien des Apache Webservers.

Let’s Encrypt serverblogger.ch

Da das Let’s Encrypt Softwarepaket natürlich noch nicht in den Distributionspaketen von Ubuntu 14.04 vorhanden ist, muss es individuell installiert werden. Die einfachste Variante ist die Installation über Git/GitHub. Git ist eine freie Software zur verteilten Versionsverwaltung von Dateien und GitHub ist ein kommerzieller Dateihoster für Softwareprojekte. Dort hostet auch das Let’s Encrypt Projekt seinen Quellcode (https://github.com/letsencrypt).

Um die Dateien installieren zu können, muss zunächst Git installiert werden

sudo apt-get install git

Danach wird das Let’s Encryt Repository auf GitHub geklont

git clone https://github.com/letsencrypt/letsencrypt

Das sieht dann so aus

Cloning into 'letsencrypt'...
remote: Counting objects: 25238, done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 25238 (delta 2), reused 0 (delta 0), pack-reused 25227
Receiving objects: 100% (25238/25238), 6.61 MiB | 4.86 MiB/s, done.
Resolving deltas: 100% (17693/17693), done.
Checking connectivity... done.
novatrend@server1:~$

Das Let’s Encrypt Softwarepaket wurde im Verzeichnis /letsencrypt installiert. Also wechsele ich in das Verzeichnis und rufe das Programm auf

cd letsencrypt

Das folgende Kommando ruft letsencrypt auf

sudo ./letsencrypt-auto

Das Script läd alle notwendigen Bibliotheken, meldet dann aber folgenden Fehler

InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.

Letsencrypt ist in Python geschrieben und es fehlen offenbar noch ein paar Python Bibliotheken, die mit diesem beiden Befehl nachinstalliert werde können:

sudo apt-get install python-pip
sudo pip install pyopenssl ndg-httpsclient pyasn1

Die Installationsparameter kann man sich unter ./letsencrypt-auto –help ansehen.

Der Konfigurationsprozess wird mit diesem Befehl gestartet

./letsencrypt-auto

Die installierten virtuellen Hosts erscheinen zur Auswahl

Let's Encrypt - Domainauswahl
Let’s Encrypt – Domainauswahl

Es wird eine E-Mail Adresse als Ansprechpartner für die Wiederherstellung von Schlüssel und dringenden Benachrichtigungen verlangt. Die anzugebende E-Mail Adresse muss nicht bei einer der ausgewählten Domains sein.

Let's Encrypt - E-Mail Ansprechpartner
Let’s Encrypt – E-Mail Ansprechpartner

Die Geschäftsbedingungen müssen bestätigt werden. Hier der Link zum angezeigten PDF: https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf

Interessant in diesem Zusammenhang ist vermutlich dieser Satz:

The parties agree that the laws of the State of California govern this Agreement, irrespective of California’s choice of law and conflicts of law principles.

Let's Encrypt - Geschäftsbedingungen
Let’s Encrypt – Geschäftsbedingungen

Im letzten Fenster kann festgelegt werden, ob HTTP und HTTPS angeboten werden sollen oder der gesamte Verkehr über HTTPS abgewickelt werden soll.

Let's Encrypt - Auswahl ob HTTPS erzwungen werden soll (Ja)
Let’s Encrypt – Auswahl ob HTTPS erzwungen werden soll (Ja)

Das wars! Es erscheint ein Hinweis auf eine Testsite …

Let's Encrypt - Erfolg
Let’s Encrypt – Erfolg

und dieser Hinweis …

IMPORTANT NOTES:
 - If you lose your account credentials, you can recover through
   e-mails sent to hagen@novatrend.ch.
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/serverblogger.ch/fullchain.pem. Your cert
   will expire on 2016-03-03. To obtain a new version of the
   certificate in the future, simply run Let's Encrypt again.
 - Your account credentials have been saved in your Let's Encrypt
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Let's
   Encrypt so making regular backups of this folder is ideal.
 - If like Let's Encrypt, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Auf der Testsite erscheint dann auch ein leuchtendes Grün und ein grosses A!

Let's Encrypt – SSL Labs
Let’s Encrypt – SSL Labs

Fazit:

Es ist einfach, es funktioniert und im Ergebnis hat man eine SSL/TLS abgesicherte Website. Das ist zunächst mal gut!

Der Haken an der Sache ist, dass man nun auch eine Art Backdoor unter kalifornischem Recht auf dem Server hat. Hierzu hat sich Felix von Leitner ein paar Gedanken gemacht (https://blog.fefe.de/?ts=a89f4ed6) und auch eine Lösung angeboten. Diese Website (https://gethttpsforfree.com/) bietet die Möglichkeit ein Let’s Encrypt Zertifikat zu erzeugen und zu nutzen ohne das Let’s Encrypt Python Softwarepaket.

Links:

Weitere Artikel zum Thema hier im Blog:


tl;dr: Es funktioniert! Ein kostenloses SSL-Zertifikat per Knopfdruck!

Kategorien
News Security Server Shared Hosting

Natürlich wird es kostenlose SSL/TLS Zertifikate geben – auch bei uns :)

Wir sind keine Freunde von Vorabinformationen, die Hoffnungen auf eine bessere Zukunft wecken sollen und dann womöglich ein paar mal verschoben werden müssen. Besonders dann nicht, wenn es dabei um so sensible Themen wie Verschlüsselung und Privatsphäre handelt.

Wir beschreiben, verkaufen und warten gern real zur Verfügung stehende Services, bei denen wir Qualität und Funktionsfähigkeit gewährleisten können.

Wir denken, wie vermutlich alle Hosting Unternehmen weltweit, bereits seit längerer Zeit über das Thema kostenlose SSL/TLS Zertifikate nach. Spätestens mit dem Projektstart der Zertifizierungsinfrastruktur von Let’s Encryt im Jahr 2014 war prinzipiell klar, dass in Zukunft „einfache“ Domain-Zertifikate eine kostenlose Dienstleistung sein werden.

Da sich die Entwicklung von Let’s Encrypt verzögerte, haben wir Im Blog Anfang des Jahres bereits beschrieben, wie man beispielsweise kostenlose Zertifikate von StartSSL nutzen kann. Vorgestern haben wir ein, bis Ende des Jahres begrenztes Sonderangebot (50%), für SSL/TLS Zertifikate für Ihr Webhosting Paket angeboten (Gutschein Code SSL4CST2)

Am 16.11.2015 wird Let’s Encrypt seinen Service öffentlich anbieten und wir werden so zeitnah wie möglich eine komfortable Lösung anbieten, mit der Sie Ihre Inhalte unter Ihren Domains und Subdomains mit kostenlosen Let’s Encrypt Zertifikaten absichern können.

Da in den letzten Wochen die Ankündigungen für kostenlose Zertifikate in die Höhe schnellten, wollen wir an dieser Stelle unseren Stamm- und Neukunden versichern:

Natürlich wird es kostenlose SSL/TLS Zertifikate geben – auch bei uns 🙂

Kategorien
seafolly.ch Shared Hosting

Ein SSL/TLS Zertifikat für ihr Webhosting Paket

Verschlüsselte Kommunikation ist ein wichtiges Thema. Sie bietet den Besuchern Ihrer Website mehr Sicherheit und erhöht das Vertrauen zu hren Services. Ohne Verschlüsselung können Daten, die auf Ihrer Website eingegeben werden, wie beispielsweise Passworte oder Kreditkarteninformationen von jedem Teilnehmer des Netzes mitgelesen werden.
Bereits im Februar diesen Jahres haben wir mit einem Crashkurs das Thema beleuchtet (Zertifikate, SSL, TLS und HTTPS – ein Crashkurs) und auf eine Möglichkeit zur kostenlosen Erstellung von Zertifikaten, am Beispiel von Root-Servern, hingewiesen (Virtuelle Apache Hosts mit TLS/SSL Zertifikaten von StartSSL absichern).

Ein digitales Zertifikat bestätigt bestimmte Eigenschaften von Personen und Objekten. Sie können Zertifikate selbst erzeugen oder bei einer Zertifizierungsstelle kaufen. Die technischen Vorgänge sind bei selbst zertifizierten und bei gekauften Zertifikaten die gleichen. Sie sind also „gleich sicher“. Der Unterschied besteht im Vertrauen in den Austeller des Zertifikats.

Heute will ich beschreiben, wie Sie ein Webhosting bei NOVATREND mit einem gekauften SSL/TLS-Zertifikat versehen.

Unser Kunstprojekt seafolly.ch möchte seine Dienste verschlüsselt über https:// anbieten. Als ich das initiale Einrichten des Webhostings beschrieben habe (Ein Webhosting Paket für das #kunstprojekt), habe ich bewusst auf das Bestellen eines Zertifikates verzichtet. Das will ich nun in diesem Beitrag nachholen.

Um auch Ihnen einen Anreiz zu geben, es ebenfalls so zu machen, bietet NOVATREND bis 31.12.2015 eine 50% Reduzierung des Preises für ein RapidSSL Zertifikat an.

Konfiguration

Bestellen Sie ihr Zertifikat auf https://www.novatrend.ch/de/ssl/.
Bei der Bestellung müssen Sie den Coupon Code SSL4CST2 eingeben, damit der 50 % Rabatt wirksam wird.

Gutscheincode für 50% Rabatt auf ein Zertifikat
Gutscheincode für 50% Rabatt auf ein Zertifikat

Im Warenkorb wird die Gesamtsumme entsprechend geändert. Das Zertifikat kostet nun 3,25 CHF pro Monat oder 39 CHF pro Jahr.

Warenkorb
Warenkorb
Nach der Bestellung erhalten Sie eine E-Mail, die den Kauf bestätigt und eine separate E-Mail mit Ihrem SSL-Token.

Inhalt der E-Mail
...
Die Installation können Sie in Ihrem Kontrollpanel (cPanel) innerhalb von
wenigen Minuten vornehmen. Klicken Sie hierzu auf Menüpunkt "Autoinstall SSL"
und folgenden Sie den Anweisungen. 
Eine Bildanleitung für das Installieren des SSL Zertifikats finden Sie unter dem folgenden Link:
https://support.novatrend.ch/hc/de/articles/207668548-SSL-Zertifikat-installieren
Sollten Sie Fragen zur Installation Ihres SSL Zertifikats haben, so stehen wir
Ihnen jederzeit gerne zur Verfügung. 
...

Ich wechsele in das cPanel von seafolly.ch und klicke auf den Menüpunkt AutoInstallSSL

cPanel - AutoinstallSSL
cPanel – AutoinstallSSL

Sie werden zur Eingabe des Tokens aus der E-Mail aufgefordert. Kopieren Sie es aus der E-Mail und klicken Sie den Button Verify Token.

cPanel - Überprüfung des Tokens
cPanel – Überprüfung des Tokens
Sie werden zu einem Formular weitergeleitet, in das Sie die Details zu Ihrer Domain eintragen müssen. Dort wählen Sie die Domain aus, für die Sie das Zertifikat verwenden möchten. Im Dropdown werden alle Domains angezeigt, welche Sie auf diesem Account eingerichtet haben.
Ich setze den Haken bei Would you like to use ‚www‘ during the CSR generation?, weil das Zertifikat auch für www.seafolly.ch gültig sein soll.
Anschliessend gebe ich die Adressdaten ein und klicke auf Submit.
cPanel - Pre-Enrollment Details
cPanel – Pre-Enrollment Details
cPanel überprüft nun das Token, erzeugt und überprüft die entsprechenden Schlüssel, kontaktiert die ausgebende CA, läd das neue Zertifikat herunter und installiert es auf Ihrem Webhosting.

Durch einen Klick auf den Test Button gelangen Sie direkt zu Ihrer Website. Das Zertifikat ist installiert und funktioniert.

seafolly.ch mit gültigem TLS/SSL Zertifikat
seafolly.ch mit gültigem TLS/SSL Zertifikat
Durch einen Klick auf den Button Manage Certificate können Sie das Zertifikat verwalten
seafolly.ch - Info zu TLS/SSL Zertifikat
seafolly.ch – Info zu TLS/SSL Zertifikat

Fazit

Die Aktion ging schnell von der Hand und der Traffic auf Ihrem Webhosting ist nun komplett verschlüsselt!


tl;dr: HTTPS Verschlüsselung ist kein Hexenwerk und funktioniert auch mit Ihrem Webhosting-Paket.