Ich habe gerade ein SSL-Zertifikat auf meinem Server installiert.
Anschließend wurde eine Umleitung für den gesamten Verkehr auf meiner Domain auf Port 80 eingerichtet, um ihn auf Port 443 umzuleiten.
Mit anderen Worten, mein gesamter http://example.com
Datenverkehr wird jetzt auf die entsprechende https://example.com
Version der Seite umgeleitet .
Die Weiterleitung erfolgt in meiner Apache Virtual Hosts-Datei mit so etwas ...
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
Meine Frage ist, gibt es irgendwelche Nachteile bei der Verwendung von SSL?
Da es sich nicht um eine 301-Weiterleitung handelt, verliere ich den Link-Status / das Ranking in Suchmaschinen, wenn ich auf umschalte https
?
Ich schätze die Hilfe. Ich wollte schon immer SSL auf einem Server einrichten, nur um es zu üben, und ich habe mich schließlich dazu entschlossen, es heute Abend zu tun. Bisher scheint es gut zu funktionieren, aber ich bin nicht sicher, ob es eine gute Idee ist, dies auf jeder Seite zu verwenden. Meine Website ist kein E-Commerce und verarbeitet keine vertraulichen Daten. Es ist hauptsächlich für das Aussehen und den Nervenkitzel, es zum Lernen zu installieren.
AKTUALISIERTE AUSGABE
Seltsamerweise erstellt Bing diesen Screenshot von meiner Website, da er überall HTTPS verwendet ...
quelle
sslstrip
Redirect-Angriff im Stil einer Man-in-the-Middle-Anfrage ähnelt, sodass HSTS- fähige Browser beide blockieren.src="://example.com/jquery.js"
- man beachte das Fehlenhttp
oderhttps
so der Browser lädt die entsprechenden ein. Ich hatte einen Albtraum, als ich versuchte, eingebettetes Amazon-Material richtig zu laden, da die API (über https geladen) http-Links erzeugte - was bedeutete, dass sie nicht richtig funktionierten, bis ich den undokumentierten Parameter fand, um https-Links umzuschaltenAntworten:
Die
[R]
Flagge für sich ist eine302
Umleitung (Moved Temporarily
). Wenn Sie wirklich möchten, dass Benutzer die HTTPS-Version Ihrer Website verwenden (Hinweis: Ja), sollten Sie Folgendes[R=301]
für eine permanente Weiterleitung verwenden:A
301
hält alle Ihre Google-Fu und hart verdienten PageRanks intakt . Stellen Sie sicher, dassmod_rewrite
aktiviert ist:Um Ihre genaue Frage zu beantworten:
Auf keinen Fall. Es ist sehr gut.
quelle
Ich unterstütze zwar die Idee, nur SSL-Sites zu verwenden, aber ich würde sagen, ein Nachteil ist der Overhead, der vom Design Ihrer Site abhängt. Ich meine zum Beispiel, wenn Sie viele einzelne Bilder in IMG-Tags bereitstellen, kann dies dazu führen, dass Ihre Website viel langsamer ausgeführt wird. Ich würde jedem empfehlen, nur SSL-Server zu verwenden, um sicherzustellen, dass diese auf den folgenden Servern funktionieren.
<meta property="og:url"
Ihre Domain auf die https-Version Ihrer Domain.<base href=
erneut update verwenden, um HTTPS zu verwenden.Wenn das oben Genannte angesprochen wird, dann bezweifle ich, dass Sie viele Probleme haben werden.
quelle
Referer
Header. Diese Website verwendet zum Beispiel jQuery von Googles CDN und mein Browser sendet jedes Mal eine Anfrage an Google, wenn ich die Website neu lade. DabeiReferer
wird auch ein Header an Google gesendet, der auf die URL dieser Site gesetzt ist. Google kann also nachverfolgen, welche Websites ich während der Zeit, in der sich meine IP-Adresse nicht ändert, besuche (und wenn ich während dieser Zeit einen Google-Dienst nutze, kann Google diese Informationen auch mit meinem Google-Konto verbinden).Wenn Sie https eingerichtet haben, sollten Sie es überall auf der Website verwenden. Sie vermeiden das Risiko von Problemen mit gemischten Inhalten. Wenn Sie über die erforderlichen Tools verfügen, können Sie die gesamte Website sicher machen.
Bezüglich der Umleitung von http zu https ist die Antwort nicht so einfach.
Durch die Umleitung wird es für Ihre Benutzer viel einfacher. Sie geben lediglich whateversite.com ein und werden zu https umgeleitet.
Aber. Was ist, wenn sich der Benutzer manchmal in einem unsicheren Netzwerk befindet (oder sich in der Nähe von Troy Hunt und seiner Ananas befindet )? Dann wird der Benutzer aus alter Gewohnheit http://whateversite.com anfordern . Das ist http. Das kann kompromittiert werden. Die Weiterleitung könnte auf https://whateversite.com.some.infrastructure.long.strange.url.hacker.org verweisen . Für einen normalen Benutzer würde es ziemlich legitim aussehen. Aber der Verkehr kann abgefangen werden.
Wir haben hier also zwei konkurrierende Anforderungen: Benutzerfreundlich und sicher zu sein. Zum Glück gibt es ein Mittel namens HSTS-Header . Damit können Sie die Umleitung aktivieren. Der Browser wechselt zur sicheren Seite, merkt sich dies aber dank des HSTS-Headers. Wenn der Benutzer whateversite.com in diesem unsicheren Netzwerk eingibt, wechselt der Browser sofort zu https, ohne über die Umleitung über http zu springen. Sofern Sie nicht mit sehr sensiblen Daten arbeiten, ist dies für die meisten Websites ein fairer Kompromiss zwischen Sicherheit und Benutzerfreundlichkeit. (Als ich kürzlich eine Anwendung für die Bearbeitung von Krankenakten eingerichtet habe, habe ich alle https ohne Weiterleitung verwendet.) Leider unterstützt der Internet Explorer kein HSTS ( Quelle). Wenn Ihre Zielgruppe hauptsächlich IE verwendet und die Daten vertraulich sind, möchten Sie möglicherweise Weiterleitungen deaktivieren.
Wenn Sie sich also nicht an IE-Benutzer wenden, verwenden Sie die Umleitung, aber aktivieren Sie auch den HSTS-Header.
quelle
Es ist nichts falsch mit diesem, und es ist am beste Praxis (für Websites , die in der Tat sollen über eine sichere Verbindung bedient werden). In der Tat ist das, was Sie tun, der von mir verwendeten Konfiguration ziemlich ähnlich:
Der
301
Statuscode weist auf eine permanente Weiterleitung hin und weist fähige Clients an, die sichere URL für zukünftige Verbindungen zu verwenden (z. B. das Lesezeichen zu aktualisieren).Wenn Sie die Site nur über TLS / SSL bereitstellen, empfehle ich eine weitere Anweisung, um HTTP Strict Transport Security (HSTS) auf Ihrem sicheren virtuellen Host zu aktivieren :
Dieser Header weist fähige Clients (die meisten von ihnen heutzutage, glaube ich) an , in den nächsten Sekunden nur HTTPS mit der angegebenen Domäne (
secure.example.com
in diesem Fall) zu verwenden1234
. Der; includeSubdomains
Teil ist optional und zeigt an, dass die Direktive nicht nur für die aktuelle Domain gilt, sondern für jede unter ihr (zBalpha.secure.example.com
). Beachten Sie, dass der HSTS-Header nur von Browsern akzeptiert wird, wenn er über eine SSL / TLS-Verbindung bereitgestellt wird!Eine gute kostenlose Ressource zum Testen Ihrer Serverkonfiguration anhand der aktuellen Best Practice ist der SSL-Server-Testdienst von Qualys . Ich würde versuchen, mindestens ein A zu erzielen (mehr als das kann man mit Apache 2.2 nicht erreichen, da die Kryptographie mit elliptischen Kurven nicht unterstützt wird).
quelle
Strict-Transport-Security: max-age=0
alle vorherigen Anweisungen negiert. Wie immer muss dies über HTTPS gesendet werden, um akzeptiert zu werden. Dies ist jedoch eine praktische Möglichkeit, um Vorgänge abzubrechen, wenn Sie festlegen, dass in der Domäne auch HTTP verwendet werden soll.Wow ! HTTP zu HTTPS umzuleiten ist eine sehr gute Sache und ich kann keine Nachteile dafür sehen.
Stellen Sie einfach sicher, dass Ihre Kunden über die richtige Zertifizierungsstelle verfügen, um nicht benutzerfreundliche Warnungen zu Zertifikaten im Browser zu vermeiden.
Außerdem scheint die Art und Weise, wie Sie Apache für die Weiterleitung zu HTTPS eingerichtet haben, in Ordnung zu sein.
quelle
Nein überhaupt nicht. Eigentlich ist es eine gute Sache!
Bei Weiterleitungen:
Es könnte effizienter sein, indem die Neuschreibungen vollständig beseitigt werden . Hier ist meine Konfiguration in einer ähnlichen Situation ...
quelle
HTTPS ist nicht genau narrensicher. Normalerweise ist es natürlich eine gute Sache, HTTPS zu erzwingen. Es verhindert, dass normale Kriminelle Ihren Benutzern etwas Böses antun.
Denken Sie jedoch daran, Ihre SSL-Einstellungen wie die SSLCiphers-Einstellung zu überprüfen. Deaktivieren Sie Dinge wie RC4-Krypto, das SSLv2- und das SSLv3-Protokoll. Außerdem sollten Sie herausfinden, ob die Krypto-Systembibliotheken Ihres Systems TLS1.2 unterstützen (welches ist das, was Sie haben möchten;))
Aktivieren Sie SSL, das ist eine gute Sache.
quelle
Persönlich bin ich alle für die Verwendung von SSL zur Sicherung von Verbindungen im Web, aber ich bin der Meinung, dass alle anderen Antworten, die hier verpasst wurden, darin bestehen, dass nicht jedes Gerät und jede Software, die eine HTTP-Verbindung herstellen kann, SSL verwenden kann. Daher würde ich in Betracht ziehen, Benutzern eine Möglichkeit zu bieten, dies zu vermeiden, wenn dies für sie nicht unterstützt wird. Es ist auch möglich, dass Personen in einigen Ländern, in denen Verschlüsselungstechnologien illegal sind, keinen Zugriff auf Ihre Website erhalten. Ich würde in Betracht ziehen, eine unverschlüsselte Landingpage mit einem Link hinzuzufügen, um die unsichere Version der Site zu erzwingen, es sei denn, ein Benutzer wählt dies ausdrücklich aus und leitet sie einfach an die HTTPS-Version weiter.
quelle
Hier sind einige der allgemeinen Pinselstrichprobleme:
MITM / SSLSTRIP : Dies ist eine große Einschränkung. Wenn Sie Ihre Site über HTTPS bereitstellen möchten, deaktivieren Sie HTTP auf der Site . Andernfalls lassen Sie Ihre Benutzer für verschiedene Man-in-the-Middle-Angriffe offen, einschließlich SSLSTRIP, das Anforderungen abfängt und sie still über HTTP bedient und ihr eigenes Malware-Skript in den Stream einfügt. Wenn der Benutzer dies nicht bemerkt, wird er denken, dass seine Sitzung sicher ist, wenn dies tatsächlich nicht der Fall ist.
Wenn für Ihre Site eine sichere Anmeldung erforderlich ist, sollte die gesamte Benutzersitzung gesichert sein. Authentifizieren Sie sich nicht über HTTPS und leiten Sie den Benutzer dann zurück zu HTTP. Wenn Sie dies erneut tun, sind Ihre Benutzer für MITM-Angriffe anfällig. Die Standardmethode für die Authentifizierung besteht heutzutage darin, sich einmal zu authentifizieren und dann ein Authentifizierungstoken (in einem Cookie) hin und her zu übergeben. Wenn Sie sich jedoch über HTTPS authentifizieren und dann zu HTTP umleiten, kann ein Man-in-the-Middle-Benutzer dieses Cookie abfangen und die Site so verwenden, als ob es sich um Ihren authentifizierten Benutzer handelt, wodurch Ihre Sicherheit umgangen wird.
Die "Leistungs" -Probleme mit HTTPS beschränken sich für alle praktischen Zwecke auf den Handshake beim Herstellen einer neuen Verbindung. Tun Sie, was Sie können, um den Bedarf an mehreren HTTPS-Verbindungen von einer URL zu minimieren, und Sie sind meilenweit voraus. Und das ist ehrlich gesagt auch dann der Fall, wenn Sie Ihre Inhalte über HTTP bereitstellen. Wenn Sie sich über SPDY informieren, werden Sie feststellen, dass alles, was es tut, darauf ausgerichtet ist, den gesamten Inhalt von einer einzigen URL über eine einzige Verbindung bereitzustellen. Ja, die Verwendung von HTTPS wirkt sich auf das Caching aus. Aber wie viele Websites sind heutzutage überhaupt nur statische, cachefähige Inhalte? Sie werden wahrscheinlich mehr für Ihr Geld bekommen, wenn Sie das Caching auf Ihrem Webserver verwenden, um redundante Datenbankabfragen zu minimieren, bei denen immer wieder unveränderte Daten abgerufen werden, und um zu verhindern, dass teure Codepfade häufiger als nötig ausgeführt werden.
quelle
Dies ist technisch gesehen keine Antwort auf Ihre ursprüngliche Frage. Wenn Sie jedoch die Google Chrome-Erweiterung HTTPSEverywhere verwenden (ich bin sicher, dass es ähnliche Erweiterungen in anderen Browsern gibt), leitet die Erweiterung Websites mit HTTP automatisch auf dieselbe Website mit HTTPS um. Ich benutze es seit einer Weile und hatte keine Probleme (außer vielleicht Verlangsamung, aber ich habe das nicht getestet). HTTPSEverywhere kann durch bestimmte Regeln auf der Serverseite geändert werden, aber da ich in diesem Bereich nicht viel getan habe, bin ich mir nicht sicher, ob die genauen Details vorliegen.
Zurück zu Ihrer eigentlichen Frage: Wenn Sie HTTPSEverywhere verwenden, gibt es noch weniger Anreize, nur HTTP zu verwenden, obwohl es meines Erachtens schwierig ist, die richtigen Regeln für den Zeitpunkt festzulegen, an dem Sie sie benötigen.
quelle
Der einzige technische Nachteil von HTTPS über HTTP besteht darin, dass die Verarbeitung von HTTPS-Anforderungen rechenintensiver ist als die von einfachem HTTP
Angesichts der Tatsache, dass die meisten modernen Server über leistungsstarke CPUs verfügen, ist diese Auswirkung in der Regel vernachlässigbar, es sei denn, Sie sind mit extrem hohem Datenverkehr konfrontiert, und an diesem Punkt setzen Sie wahrscheinlich ohnehin Load Balancer ein
Mit dem Aufkommen von Protokollen wie SPDY, für die SSL / TLS erforderlich ist, wirkt dies dem oben genannten Rechenaufwand entgegen, indem signifikante Leistungsverbesserungen in Bezug auf mehrere Anforderungen erzielt werden und Assets insgesamt schneller an den Client gesendet werden.
quelle
Es ist sehr gut, zu https umzuleiten, aber ich habe gelesen, dass es auch davon abhängt, wie Sie die Umleitung organisieren.
Das Erstellen eines dedizierten virtuellen Servers zum Umleiten der eingehenden http-Anforderungen an Ihre https-Verbindung, wie in der Antwort auf security.stackexchange.com vorgeschlagen, klingt sehr intelligent und schließt einige zusätzliche Sicherheitsbedrohungen. Eine Konfiguration in Apache würde ungefähr so aussehen:
quelle