Mit SSL/TLS auf der sicheren Seite: Website umstellen auf HTTPS

Website verschlüsseln mit SSL/TLS

Immer öfter sehen wir in der Adresszeile des Browsers ein kleines Schloss. Es zeigt an, dass die Verbindung zu dieser Website durch Verschlüsselung abgesichert ist. Seit einiger Zeit werden nicht verschlüsselte Websites im Firefox mit einem durchgestrichenen Schloß, in Chrome mit dem Hinweis "Nicht sicher" angezeigt. Ab Version 52 warnt Firefox Euch, wenn Ihr ein Login-Formular auf einer nicht verschlüsselten Seite besucht:
"Diese Verbindung ist nicht sicher. Ihre Zugangsdaten könnten auf dieser Seite in falsche Hände geraten". All diese Zeichen senken das Vertrauen der Besucher in betroffene Websites — und in ihre Betreiber. Verschlüsselung finden wir deshalb nicht mehr nur, wenn wir Homebanking machen, bei Facebook eingeloggt sind oder die Warenkorbseite eines Shops anwählen: Ganz normale Unternehmensseiten laufen schon komplett über HTTPS – statt HTTP.

Wenn wir selber eine Website betreiben, sollten wir mal nachdenken, ob wir sie auch auf eine verschlüsselte Verbindung über SSL/TLS (Secure Socket Layer/Transport Layer Security) umstellen wollen. Es ist gar nicht so kompliziert!

Was ist SSL/TLS?

Daten (Webseiten, Bilder, PDFs usw.) werden im Internet über das Protokoll HTTP (Hypertext Transfer Protocol) übertragen. HTTP ist per se unsicher, denn die gesamte Kommunikation geht im Klartext über das Internet und kann mitgelesen werden. Besonders kritisch wird dies, wenn persönliche Daten, z.B. Kontoverbindungen oder Kreditkartennummern, übertragen werden. Online-Banking-Anwendungen und Webshops nutzen deshalb schon länger die Übertragung über HTTPS, dort wo der Besucher als Kunde eingeloggt ist und Zugriff auf seine Daten hat: HTTPS (HTTP + SSL/TLS) schützt die Daten durch Verschlüsselung vor unerwünschtem Ausspähen.

Warum alle Seiten verschlüsselt ausgeliefert werden sollten

Die Übertragung einer Website über SSL/TLS sorgt für diese wichtigen Aspekte:

  1. Vertraulichkeit: Nur Client (Euer Browser) und Server (der, auf dem Eure Website liegt) können die übertragenen Daten lesen, kein zufälliger „Mitleser“.
  2. Authentizität: Durch ein Zertifikat, das auf dem Server abgelegt wird, ist der Betreiber der Website eindeutig zu identifizieren. Der Grad der Identifikation (nur über die Domain oder über eine Adressüberprüfung des Besitzers der Domain) wird vom Level des Zertifikats bestimmt.
  3. Datenintegrität: Mit der Verschlüsselung wird auch die Integrität der übertragenen Daten abgesichert – sie können auf dem Weg zwischen Client und Server nicht nachträglich manipuliert und verändert werden.

Damit verfügt eine Website, die vollständig über HTTPS ausgeliefert wird, über ein wichtiges Qualitätsmerkmal. Das sieht auch Google so und wertet SSL seit 2014 als einen – wenn auch noch kleinenRankingfaktor. Der immer wichtiger werden soll. Zeit, Eure Website umzustellen.

Gibt es Nachteile?

(Meist) nicht wirklich.

  • Die Verschlüsselung senkt die Übertragungsgeschwindigkeit geringfügig, die Seiten werden also nicht ganz so schnell ausgeliefert wie über HTTP. Das sollte allerdings keine große Rolle mehr spielen, da DSL und schnelle Mobilverbindungen heute Standard sind.
  • Für das Zertifikat entstehen normalerweise Kosten, da es bei einer Zertifizierungsstelle (CA) bestellt werden muss. Die Kosten halten sich für einfache Zertifikate allerdings im Rahmen. Mit ca. 40 € pro Jahr seid Ihr schon dabei! Wer für mehr als ein Jahr bucht, erhält meist einen deutlichen Rabatt. Inzwischen gibt es mit Let's Encrypt auch kostenlose Alternativen. Einige Provider unterstützen schon Let's Encrypt und erlauben so die Einbindung kostenlose Zertifikate.
  • Alle Ressourcen, die eine verschlüsselte Website einbindet, müssen ebenfalls verschlüsselt übertragen werden, da Besucher sonst einen Warnhinweis sehen, dass die Seite unsichere Inhalte enthält. Wer seine Website mit Werbeeinblendungen finanziert, kann also nicht mehr auf alle Anbieter zugreifen: Oft ist die Auslieferung der Werbebanner nicht komplett über verschlüsselte Verbindungen möglich. Hier drohen finanzielle Einbußen.

Unverzichtbar: ein Zertifikat

SSL-Zertifikate sind der „Personalausweis“ Eurer Domain. Sie werden auf dem Server abgelegt und jedesmal angefordert, wenn jemand die Website per HTTPS besucht. Die CA, von der Ihr Euer Zertifikat bezogen habt, bürgt für die Identität der Domain und des Servers mit den Daten, die sie bekommen hat. Umgekehrt ist auch das Zertifikat nur so vertrauenswürdig wie die CA, die es ausgestellt hat.

Ein Zertifikat zu erwerben ist nicht schwer. Im Kundenbereich Eures Providers geht das meist problemlos. Er installiert das Zertifikat auch auf dem Server. Eigentlich kann sich jeder ein Zertifikat selber ausstellen, signieren und auf den Server laden. Selbst ausgestellte Zertifikate sind in der Praxis jedoch nicht vertrauenerweckend, da immer auch die ausstellende CA überprüft wird.

Neben den bekannten kommerziellen Anbietern geht die Initiative Let's Encrypt neue Wege. Hier lassen sich mit etwas Knowhow Zertifikate kostenlos erstellen und auf den Server laden.

Welches Zertifikat darf es denn nun sein?

Zertifikate unterscheiden sich im Umfang der Identifikation des Domainbesitzers und in ihrem Bezug. Die Daten, die zur Validierung Eurer Website herangezogen wurden, werden im Browser angezeigt, wenn man das Zertifikat überprüft.

Zertifikate mit Domain-Validierung sind besonders preisgünstig und werden in der Regel schon Minuten nach der Beantragung erteilt. Hier überprüft die CA nur, ob der Antragsteller im Besitz der Domain ist, auf die das Zertifikat ausgestellt wird.

Adressvalidierte Zertifikate sind in der Überprüfung aufwändiger, dauern deshalb länger und sind teurer. Hier überprüft die CA nicht nur den Besitzer der Domain, sondern auch weitere Daten zum Unternehmen.

Zertifikate mit Extended Validation sind besonders aufwändig und teuer. Sie dürfen nur von bestimmten CAs ausgestellt werden. Hier findet eine detaillierte Überprüfung des Antragstellers und seines Unternehmens statt. Natürlich sind diese Zertifikate dann auch besonders hochwertig und vertrauenerweckend. Für Online-Banking und Shops sind solche Zertifikate erste Wahl. Zur Absicherung einer normalen Unternehmenswebsite reicht dagegen schon ein einfaches, domainvalidiertes Zertifikat.

Bei der Buchung eines Zertifikats bei Eurem Provider spielt auch der Bezug des Zertifikats eine Rolle: sollen auch Subdomains Eurer Domain verschlüsselt werden? Wer nur eine Website mit der Adresse www.meinedomain.de betreibt, kann ein spezifisch auf diese Adresse ausgestelltes Zertifikat wählen. Das ist am kostengünstigsten. Habt Ihr dagegen mehrere Subdomains, z.B. blog.meinedomain.de für das Unternehmensblog und piwik.meinedomain.de für Eure Statistik, ist ein Wildcard-Zertifikat zu empfehlen. Es deckt alle Subdomains Eurer Domain ab.

Zertifikat kaufen - war das schon alles?

Um die Installation des Zertifikates auf Eurem Server müsst Ihr Euch bei einem normalen Hostingpaket oder Managed Server bei einem professionellen Provider nicht kümmern. Ihr beantragt das Zertifikat im Regelfall im Kundenbereich, der Provider legt es auf dem Server ab. Wenn Euer Provider das anbietet, sollte auch implizit sicher sein, dass der Server SSL/TLS kann und einen Port dafür bereitstellt.

Wenn die gesamte Website über HTTPS erreichbar sein soll, könnt Ihr in der .htaccess-Datei dafür sorgen, dass Aufrufe über HTTP auf HTTPS umgeleitet werden. Dieser Code leitet Aufrufe, die ohne "www" erfolgen, auf die komplette URL www.meinedomain.de um und informiert auch die Suchmaschinen, dass Eure Seiten endgültig auf HTTPS umgezogen sind.

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Diese Datei wird von vielen Content Management Systemen wie TYPO3, Drupal und Wordpress schon bei der Installation angelegt und enthält Bestimmungen, die die Basis-Einstellungen des Webservers für Eure Zwecke überschreiben.

Was ist mit Content Management Systemen?

Wenn alle Seiten eines Internetauftritts nur über HTTPS erreichbar sein sollen, reicht meistens eine Umleitung der unerwünschten Aufrufe in der .htaccess-Datei. Manchmal sollen nur kritische Seiten, die Formulardaten übertragen, verschlüsselt werden. In dem Fall gehen die CMS unterschiedliche Wege. Immer vorausgesetzt wird, dass ein passendes Zertifikat auf dem Server bereit liegt.

TYPO3

Für eine komplette Umleitung der Website auf HTTPS müsst Ihr in TYPO3 selbst nichts tun. Die Verschlüsselung kann auch einzeln auf Seitenbasis erzwungen werden. Die Auswahl des Protokolls trefft Ihr in den Seiteneigenschaften (Reiter „Verhalten“). Soll nur das Backend verschlüsselt übertragen werden, tragt Ihr das im Installtool ein.
Mehr lesen... 

Drupal

Auch bei Drupal reicht es, wenn die .htaccess konfiguriert wird. Soll die Verschlüsselung sich nur auf einzelne Seiten erstrecken, installiert Ihr das Modul Secure Pages. Sollten allerdings Inhalte Eurer Seite im Text absolut verlinkt sein, müssen sie in der Datenbank ersetzt werden.
Mehr lesen...

Wordpress

In Wordpress ist es auf alle Fälle nötig, die neue Adresse der Website in den Einstellungen zu ändern.

Was auch sein sollte: Alle absolut referenzierten Inhalte, z.B. Bilder und interne Links, auf HTTPS umschreiben. Das kann unter Umständern aufwändig werden. Hier hilft für die meisten Inhalte das Plugin Better Search Replace.

Auch alle von anderen Seiten eingebundenen Inhalte müssen über HTTPS angesprochen werden. Zum Beispiel Piwik: Erhebt Ihr Eure Besucherdaten über Piwik, muss die Subdomain, auf der Piwik läuft, ebenfalls ein Zertifikat haben und über HTTPS angesprochen werden. Habt Ihr kein Wildcard-Zertifikat, ist es dann nötig, Piwik in ein Unterverzeichnis Eurer Domain umzuziehen.

Und der Rest der Welt?

Natürlich sollen Google und Co auch davon erfahren, dass jetzt alle Seiten Eurer Website über HTTPS erreichbar sind. Aktualsiert also Eure Einträge in den Google Webmaster Tools und fügt eine neue Property hinzu. Auch die XML-Sitemap sollte die neuen URLs enthalten. 

Bild: © vadim yerofeyev, fotolia

Bild des Benutzers ambranet

Susanna Künzl

Susanna Künzl leitet seit 1999 diese Agentur und beschäftigt sich hauptsächlich mit der Programmierung von CMS-Erweiterungen für TYPO3, Wordpress und Drupal. Sie betreut auch die SEO-Projekte von ambranet.