So fügen Sie Ihrer Website in 10 Minuten kostenlos HTTPS hinzu und warum müssen Sie dies jetzt mehr als…

Letzte Woche gab Google bekannt, dass Chrome 68, das im Juli ankommt, alle HTTP-Seiten als "Nicht sicher" markieren wird.

Dies ist der bisher stärkste Anstoß, das Web standardmäßig in Richtung Verschlüsselung zu treiben, und es hat lange gedauert.

Obwohl es eine Menge Beweise gibt, die dafür sprechen, warum jeder auf den HTTPS-Zug steigen sollte, sehen viele Menschen immer noch nicht den Wert darin, ihre Websites sicher zu bedienen.

" Warum brauche ich das für einen Blog ?"

Ich habe bereits über den Wert von HTTPS geschrieben, aber nur um es noch einmal zu wiederholen:

  • HTTPS schützt Benutzer vor Man In the Middle-Angriffen.
  • HTTPS ist erforderlich, um viele neue Funktionen in Browsern wie Service Workern zu nutzen
  • HTTPS wirkt sich auf SEO aus

Wenn Sie nicht überzeugt sind, lesen Sie didmysiteneedhttps.com, um ein vollständiges Bild davon zu erhalten, warum jede Website sicher bereitgestellt werden sollte.

Und wenn Sie es immer noch nicht verstehen, wird das Leben für Sie viel schwieriger.

Um Benutzer von unsicheren Websites fernzuhalten, haben Browser Websites beschämt, die in bestimmten Kontexten unsicher bereitgestellt werden.

Chrome 56 startete diesen Trend, indem Seiten mit vertraulichen Anmeldefeldern als "Nicht sicher" markiert wurden, während Chrome 62 diese Warnung auf alle HTTP-Seiten ausweitete, die Eingabefelder aller Art enthielten. Darüber hinaus wird die Warnung auf allen HTTP-Seiten im Inkognito-Modus angezeigt, unabhängig davon, ob sie ein Eingabefeld enthielten oder nicht.

Firefox warnt Benutzer auch, wenn sie versuchen, ein unsicheres Anmeldeformular auszufüllen.

Jetzt hat Chrome beschlossen, diese Warnung künftig auf allen HTTP-Seiten zu platzieren. Schließlich ändert sich das Symbol neben der Bezeichnung "Nicht sicher" und der Text wird rot angezeigt, um weiter zu betonen, dass HTTP-Seiten nicht vertrauenswürdig sind.

Um zu verhindern, dass Benutzer diese Warnung auf Ihrer Website sehen, benötigen Sie lediglich ein gültiges SSL-Zertifikat. Die gute Nachricht ist, dass dies nicht mehr so ​​schwer oder teuer ist wie früher. Tatsächlich werde ich Ihnen zeigen, wie Sie HTTPS mit Cloudflare kostenlos auf Ihrer Site bereitstellen können. Und es wird überhaupt nicht viel Zeit in Anspruch nehmen.

Warum Cloudflare?

Mit CloudFlare können Sie ein SSL-Zertifikat kostenlos sichern, unabhängig davon, über welche serverseitige Infrastruktur Sie verfügen. Es funktioniert auch für Websites, die auf Plattformen gehostet werden, die keinen Serverzugriff bieten, wie z. B. GitHub Pages, Ghost und dergleichen.

Sie müssen nichts installieren oder Code schreiben. Dies macht es zu einer großartigen Option, HTTPS auf Ihrer Website bereitzustellen, und die Einrichtungszeit sollte buchstäblich nicht mehr als 10 Minuten betragen.

Es bietet auch eine Vielzahl anderer Vorteile in Bezug auf Sicherheit und Leistung Ihrer Website, auf die ich hier nicht eingehen werde. Aber ich werde ein wenig darüber sprechen, wie das alles funktioniert, damit Sie eine gute Vorstellung davon bekommen, wie es all diese Dinge tun kann.

Wie Cloudflare funktioniert

Cloudflare befindet sich mitten im Datenverkehr zwischen Besuchern Ihrer Website und Ihrem Server. Besucher können normale Menschen, Crawler und Bots (wie Suchmaschinen-Bots) oder Hacker sein. Cloudflare fungiert als Vermittler zwischen Ihrem Webserver und den Besuchern Ihrer Website und hilft dabei, den gesamten illegitimen Datenverkehr herauszufiltern, sodass nur das Gute passiert.

Jetzt fragen Sie sich vielleicht, ob sich all dies negativ auf die Geschwindigkeit Ihrer Website auswirken könnte, aber es ist genau das Gegenteil. Cloudflare verfügt über Rechenzentren auf der ganzen Welt, sodass nur der nächstgelegene Endpunkt für Ihren Besucher verwendet wird, wodurch Ihre Website viel schneller als zuvor sein sollte.

Nachdem wir nun wissen, wie Cloudflare funktioniert, schauen wir uns an, wie Sie eine Website in ihrer Infrastruktur einrichten und wie Sie kostenlos auf HTTPS zugreifen können. Der Schwerpunkt liegt hier auf den Funktionen, die Cloudflare kostenlos zur Verfügung stellt. Beachten Sie jedoch, dass kostenpflichtige Pläne auch mit einer Reihe zusätzlicher Funktionen verfügbar sind.

Neue Site einrichten

Nachdem Sie sich bei Cloudflare angemeldet haben, müssen Sie zunächst eine Domain hinzufügen und die DNS-Einträge scannen.

Nach Abschluss des Scanvorgangs werden alle DNS-Einträge in der Domäne angezeigt. Sie können die Subdomains auswählen, für die Sie Cloudflare aktivieren möchten, und die gewünschten Änderungen vornehmen. Wenn Sie fertig sind, klicken Sie auf Weiter , um mit dem nächsten Schritt fortzufahren.

Wählen Sie den kostenlosen Plan aus und klicken Sie auf Weiter.

Als Nächstes müssen Sie die Nameserver in Ihrem Domain-Registrar in die von Cloudflare bereitgestellten ändern. Der Vorgang hierfür ist bei jedem Domain-Registrar etwas anders. Wenden Sie sich daher an Ihren Domain-Registrar.

So sieht es in Namecheap aus:

Jetzt müssen Sie warten, bis die Änderungen am Nameserver abgeschlossen sind. Klicken Sie nach einer Weile auf Nameserver erneut prüfen, um festzustellen , ob Ihre Site jetzt in Cloudflare aktiv ist. Dies ist der längste Teil des Setups und kann bis zu 24 Stunden dauern, aber meiner Erfahrung nach dauerte es weniger als 5 Minuten.

Sobald Ihre Nameserver-Updates von Cloudflare validiert wurden, wird Ihre Site im Dienst aktiv.

Wenn Sie absolut sicher sein möchten, dass sich Ihre DNS-Einstellungen überall verbreitet haben, können Sie mit What's My DNS überprüfen, in welche IP-Adresse Ihre Domain an verschiedenen Standorten aufgelöst wird.

Sie können auch digoder nslookupin der Befehlszeile verwenden, um die DNS-Konfiguration Ihrer Domain zu überprüfen.

Auf diese Weise können Sie sicher sein, dass der gesamte Datenverkehr zu Ihrer Domain jetzt über Cloudflare geleitet wird.

Stellen Sie vor dem Konfigurieren von Cloudflare sicher, dass Ihr Browser nicht die alten DNS-Einträge aus dem Cache verwendet. In Chrome und Firefox können Sie dies tun, indem Sie den Verlauf Ihres Browsers löschen.

SSL kostenlos erhalten

SSL ist immer noch ein Premiumdienst, und viele Zertifizierungsstellen berechnen erhebliche Beträge, bevor sie ein SSL-Zertifikat ausstellen. Es ist nicht etwas, das man einfach überall kostenlos bekommen kann, aber das ändert sich schnell in der Branche.

Nachdem Sie Cloudflare in der Mitte Ihres Webverkehrs haben, sollten Sie SSL automatisch auf Ihrer Domain erhalten. Es kann bis zu 24 Stunden dauern, bis das Zertifikat aktiv wird, aber meiner Erfahrung nach dauert es nicht lange.

Sobald das Zertifikat aktiv wird, laden Sie Ihre Site in einem Browser. Sie sollten die Site über HTTPS und ein schönes grünes Vorhängeschloss in der Adressleiste sehen.

Wenn Sie weitere Informationen zum Zertifikat anzeigen, sehen Sie die Zertifizierungsstelle, die es ausgestellt hat (in meinem Fall Comodo), und das Ablaufdatum. Eines der großartigen Dinge an Cloudflare ist, dass die Zertifikatserneuerung automatisch für Sie durchgeführt wird, sodass Sie sich dort keine Sorgen machen müssen.

Unterschied zwischen flexiblem, vollständigem und vollständigem (striktem) SSL

Cloudflare macht es wirklich einfach, SSL kostenlos auf Ihrer Site zu erhalten, ohne etwas zu konfigurieren, aber es ist nicht immer dasselbe, als Ihre Site über SSL direkt vom Ursprung aus bereitzustellen.

Es gibt drei Implementierungen von Cloudflares SSL. Die erste, die Sie standardmäßig erhalten, ist Flexible SSL. In diesem Fall wird der Datenverkehr zwischen den Benutzern Ihrer Site und Cloudflare verschlüsselt, diese Verschlüsselung wird jedoch nicht bis zum Ursprungsserver übertragen. Cloudflare spricht weiterhin über einfaches HTTP mit Ihrem Server.

Dies bedeutet, dass jeder Mann in der Mitte (z. B. Netzwerkanbieter) zwischen Cloudflare und Ihrem Server den Datenverkehr sehen kann. Wenn Sie vertrauliche Informationen auf Ihrer Website sammeln, verwenden Sie diese Option nicht.

Um eine Verschlüsselung bis zum Ursprungsserver zu erhalten, müssen Sie die Implementierung "Voll" oder "Voll (streng)" verwenden. Ersteres erfordert, dass Sie ein gültiges Zertifikat auf Ihrem Server installieren. Die Authentizität des Zertifikats wird jedoch nicht überprüft, sodass Sie mit einem selbstsignierten Zertifikat auskommen können. Andererseits müssen Sie für die vollständige (strenge) Implementierung ein gültiges SSL-Zertifikat installieren, das von einer vertrauenswürdigen Zertifizierungsstelle signiert wurde.

Wenn Sie kein SSL von Comodo erwerben möchten, können Sie kostenlose Origin CA-Zertifikate von Cloudflare erhalten, die entweder mit den Optionen Full oder Full (Strict) verwendet werden können, da Cloudflare ihnen vertraut. Beachten Sie jedoch, dass diese Zertifikate nur von Cloudflare als vertrauenswürdig eingestuft werden, sodass sie nicht mehr funktionieren, wenn Sie Ihre Website von der Cloudflare-Infrastruktur entfernen.

Wenn Sie Ihre Serverumgebung nicht steuern, z. B. wenn Ihre Site auf GitHub Pages oder ähnlichen Plattformen gehostet wird, können Sie die vollständigen oder vollständigen (strengen) Implementierungen nicht verwenden. Dies bedeutet, dass Ihre Benutzer HTTPS in der Adressleiste sehen. Der Datenverkehr wird nicht vollständig verschlüsselt zum Ursprungsserver geleitet.

Aber das ist immer noch eine enorme Verbesserung im Vergleich zu keinem HTTPS, da es Ihre Benutzer davor schützt, auf der Client-Seite Man In The Middled zu sein.

Stärkung der SSL-Implementierung

Unabhängig davon, für welche SSL-Implementierung Sie sich entscheiden, gibt es Möglichkeiten, diese zu stärken, um sicherzustellen, dass Benutzer niemals über unsicheres HTTP auf Ihre Site zugreifen können. Qualys SSL Labs ist ein Tool, mit dem Sie einen Test Ihrer SSL-Konfiguration durchführen können, um festzustellen, ob Verbesserungspotenzial besteht.

Obwohl ich auf meiner Domain die Note A erhalte, werden Sie feststellen, dass die Seite zum Austausch von Schlüsseln und zur Verschlüsselungsstärke definitiv verbesserungswürdig ist, wenn Sie sich die Ergebnisse genauer ansehen.

Werfen wir einen Blick auf einige Dinge, die wir in Cloudflare tun können, um unser SSL zu stärken und die Bewertungen noch höher zu machen.

Überall HTTPS erzwingen

Sobald Sie HTTPS aktiviert haben, möchten Sie auf jeden Fall verhindern, dass Benutzer über eine unsichere Verbindung auf Ihre Website zugreifen. Sie können dies in Cloudflare tun, indem Sie den gesamten HTTP-Verkehr zu HTTPS umleiten.

Suchen Sie unter Kryptoeinstellungen die Option Immer HTTPS verwenden und aktivieren Sie sie.

Aktivieren Sie HTTP Strict Transport Security (HSTS)

Ich habe in der Vergangenheit darüber geschrieben, wie HSTS das SSL Ihrer Websites stärkt, aber lassen Sie uns dies noch einmal kurz durchgehen.

Das Problem bei der Umleitung von HTTP-Verkehr zu HTTPS besteht darin, dass die anfängliche unsichere Anforderung immer noch über das Kabel gesendet wird, was bedeutet, dass sie von jedem gelesen werden kann, der Zugriff auf den Datenverkehr hat.

HSTS ist ein Antwortheader, der dieses Problem behebt, indem er dem Browser mitteilt, dass er für einen bestimmten Zeitraum möglicherweise keine unsichere Anforderung an eine Website stellt.

So sieht der Header aus:

strict-transport-security: max-age=31536000

Sobald der Browser diesen Header erhalten hat, wird er für die nächsten 31.536.000 Sekunden (im Wert von 1 Jahr) keine unsichere Anfrage an Ihre Site senden. Stattdessen werden alle HTTP-Anforderungen intern auf HTTPS aktualisiert, bevor sie über das Netzwerk gesendet werden.

Wenn Sie verhindern möchten, dass über HTTP auf alle Subdomains zugegriffen wird, benötigen Sie die includeSubdomainsDirektive. Sie können auch die preloadDirektive hinzufügen , damit Browser-Anbieter Ihre Website nur als HTTPS in den Browser selbst einbinden können.

strict-transport-security: max-age=31536000; includeSubdomains; preload

Sobald Sie HSTS in Ihrer Domain aktiviert haben, können Sie ziemlich sicher sein, dass jemand, der Ihre Website über HTTPS geladen hat, von nun an nur noch über das sichere Schema auf Ihre Website zugreifen kann.

Bevor Sie HSTS auf Ihrer Site aktivieren, stellen Sie sicher, dass der gesamte Datenverkehr über HTTPS bereitgestellt wird, da sonst Probleme auftreten.

Um dies in Cloudflare zu aktivieren, gehen Sie zu den Crypto- Einstellungen und scrollen Sie nach unten zum Abschnitt HTTP Strict Transport Security (HSTS) . Klicken Sie auf HSTS-Einstellungen ändern, aktivieren Sie alle relevanten Optionen und klicken Sie auf Speichern .

Und für den Fall, dass Sie sich fragen, ist die Browserunterstützung für HSTS ziemlich gut.

Korrigieren Sie unsichere Schema-Referenzen

Wenn Sie eine passive Ressource (z. B. ein Bild) unsicher in eine sichere Seite einbetten, lädt der Browser sie weiterhin einwandfrei. Es nimmt nur das grüne Vorhängeschloss von der Adressleiste ab. Ein Beispiel für diesen Fehler finden Sie hier.

Wenn Sie die Browserkonsole überprüfen, werden einige Warnungen oder Fehler angezeigt, die auf die unsicher eingebettete Ressource verweisen. In diesem Fall ist es

HTTP image

Um dies zu beheben, ändern Sie einfach das Schema in HTTPS und alles wird wieder gut.

HTTP image

Wenn auf Ihrer Website viele Inhalte unsicher eingebettet sind, kann es ziemlich mühsam sein, die einzelnen Inhalte zu finden und zu reparieren. Aber Cloudflare kann Ihnen hier mit der Funktion "Automatische HTTPS-Umschreibungen" wieder helfen.

Um doppelt sicherzugehen, dass kein Inhalt Ihrer Website jemals unsicher bereitgestellt werden kann, sollten Sie eine Richtlinie zur Inhaltssicherheit auf Ihrer Website implementieren.

Lassen Sie uns nun sehen, wie sich die obigen Änderungen auf unseren SSL Labs-Bericht ausgewirkt haben. Ich habe den Test auf meiner Domain erneut ausgeführt und jetzt erhalten wir eine Bewertung von A +.

Wenn Sie die einzelnen Bewertungen in der Grafik überprüfen, hat sich nichts geändert, aber wir erhalten dennoch eine wirklich sichere SSL-Implementierung kostenlos und in nur wenigen Minuten.

Alternativen zu Cloudflare für kostenloses SSL

Wenn Sie Cloudflare aus irgendeinem Grund nicht verwenden möchten, gibt es andere Möglichkeiten, wie Sie Ihre Website kostenlos auf HTTPS herunterladen können. Hier sind zwei Optionen, die Sie ausprobieren können:

Lassen Sie uns verschlüsseln

Wenn Sie die Kontrolle über Ihren Server haben, können Sie mithilfe von Let's Encrypt schnell HTTPS auf Ihrer Site bereitstellen. Sie bieten kostenlose SSL-Zertifikate an, die drei Monate gültig sind und automatisch erneuert werden können.

Auch wenn Sie keinen Serverzugriff haben, wenden Sie sich an Ihren Webhost. Auf einigen Hosts können Sie Let's Encrypt SSL verwenden, ohne Shell-Zugriff zu gewähren.

Amazon AWS Certificate Manager

Amazon stellt auch SSL-Zertifikate für Kunden in seiner Amazon Web Services (AWS) -Infrastruktur aus und erneuert diese automatisch. Auf diese Weise können Sie HTTPS auf Ihrer Site festlegen und vergessen, wenn Sie AWS-Ressourcen wie Cloudfront verwenden.

Unabhängig davon, wie Sie HTTPS auf Ihrer Website implementieren, ist es am wichtigsten, sicherzustellen, dass Sie so schnell wie möglich eingerichtet werden, damit Ihre Benutzer die Sicherheitsvorteile erhalten, die es bietet, und dass Sie nicht auf einige coole Funktionen in Browsern verzichten, die Ihnen helfen Sie schaffen bessere Web-Erlebnisse.

Wenn Ihnen dieser Artikel gefallen hat, teilen Sie ihn mit anderen, die möglicherweise vom Lesen profitieren. Übrigens, schauen Sie in meinem Blog unter Freshman.tech nach Artikeln über Webentwicklung. Danke fürs Lesen.