Frage:
Warum sollte ich zusätzlich zu HTTPS HTTP anbieten?
lofidevops
2017-04-18 18:00:56 UTC
view on stackexchange narkive permalink

Ich richte einen neuen Webserver ein. Zusätzlich zu TLS / HTTPS erwäge ich die Implementierung von Strict-Transport-Security und anderen HTTPS-Durchsetzungsmechanismen.

Diese scheinen alle auf der Annahme zu beruhen, dass ich es bin Bereitstellung von http://www.example.com zusätzlich zu https://www.example.com . Warum serviere ich nicht einfach nur HTTPS? Gibt es einen sicherheitsrelevanten Grund für die Bereitstellung von HTTP? Könnte beispielsweise jemand http://www.example.com fälschen, wenn ich HSTS nicht einrichte?

Nicht-Browser können viel mehr Probleme beim Abrufen von Inhalten haben, wenn dies ein Problem darstellt.Websites wie craigslist leben beispielsweise von Mashups.Ich sehe keinen Schaden darin, einige http-Abschnitte für nicht-menschliche "Benutzer" offen zu lassen.Sie kümmern sich nicht um Phishing, xss oder Datenschutz, und Sie müssen nicht einmal HTML bereitstellen ...
@dandavis - ist das wirklich ein Problem?Wenn Craigslist nur zu HTTPS gehen würde, würden dann nicht alle ihre Abrufskripte einfach zu HTTPS konvertieren?Die meisten HTTP-Client-Bibliotheken unterstützen HTTPS.
Wie sollen Leute FUD darüber verbreiten, dass HTTPS unpraktisch ist, wenn Sie eine reine HTTPS-Site ohne Probleme betreiben?Denk nach, Mann!Und was ist mit den armen Hackern, die Omas angreifen wollen, die nicht überall von HTTPS gehört haben?Es ist, als würden Sie versuchen, ein sichereres Web oder etwas anderes zu fördern.
@Johnny: unterstützt https nicht so sehr wie http, das ist alles.es wird besser...
@dandavis Das ist etwas, das mich verwirrt ... alle großen Browser sollten anfangen, https * vor * http zu versuchen ... dies würde eine Menge Sicherheitsprobleme lösen ...
Sechs antworten:
Anders
2017-04-18 18:58:32 UTC
view on stackexchange narkive permalink

Aus Gründen der Benutzerfreundlichkeit müssen Sie eine Umleitung von allen HTTP-URLs zu HTTPS anbieten: s. Andernfalls werden Erstbesucher, die einfach example.com/some/page in die URL-Leiste des Browsers eingeben, von einem Verbindungsfehler begrüßt.

Wenn Sie die Weiterleitung ausführen, werden Sie nicht dazu aufgefordert anfälliger. Benutzer, die Ihren HSTS-Eintrag nicht in ihrem Browser haben, stellen ohnehin eine HTTP-Anfrage. Ob es einen echten Dienst für HTTP gibt oder nicht, ist für einen Mann in der Mitte irrelevant.

Sie müssen also einen HTTP-Server ausführen, der jedoch nur mit den Weiterleitungen antworten muss .

Kommentare sind nicht für eine ausführliche Diskussion gedacht.Diese Konversation wurde [zum Chat verschoben] (http://chat.stackexchange.com/rooms/57580/discussion-on-answer-by-anders-why-should-i-offer-http-in-addition-to-https).
Ronny
2017-04-18 18:44:48 UTC
view on stackexchange narkive permalink

Warum versorge ich nicht nur https?

Die Hauptgründe sind das Standardverhalten von Browsern und die Abwärtskompatibilität .

Standardverhalten

Wenn ein Endbenutzer (dh ohne Kenntnisse über Protokolle oder Sicherheit) die Website-Adresse in seinen Browser eingibt, verwendet der Browser standardmäßig HTTP. Weitere Informationen dazu, warum Browser dieses Verhalten wählen, finden Sie unter dieser Frage.

Daher ist es wahrscheinlich, dass Benutzer nicht auf Ihre Website zugreifen können.

Abwärtskompatibilität

Es ist möglich, dass einige Benutzer mit alten Systemen und alten Browsern HTTPS nicht unterstützen oder eher nicht über eine aktuelle Datenbank mit Stammzertifikaten verfügen oder unterstützen einige Protokolle nicht.

In diesem Fall können sie entweder nicht auf die Website zugreifen oder erhalten eine Sicherheitswarnung. Sie müssen definieren, ob die Sicherheit Ihrer Endbenutzer wichtig genug ist, um HTTPS zu erzwingen.

Viele Websites hören weiterhin HTTP, leiten jedoch automatisch zu HTTPS um und ignorieren Benutzer mit wirklich alt Browser.

könnte jemand http://www.example.com fälschen, wenn ich HSTS nicht einrichte?

Wenn ein Angreifer http://www.example.com fälschen möchte, muss er die Kontrolle über die Domain oder auf irgendeine Weise die Kontrolle über die IP-Adresse übernehmen.

Ich nehme an, Sie meinten: Könnte ein Angreifer einen Man-in-the-Middle-Angriff ausführen?

In diesem Fall ja, aber auch mit oder ohne HSTS:

  • Ohne HSTS : Ein Angreifer kann sich leicht in der Mitte Ihres Servers und des Benutzers befinden und aktiv (dh den Inhalt ändern) oder passiv (dh belauschen)

    li sein >
  • Mit HSTS : Wenn ein Benutzer zum ersten Mal versucht, die Site über HTTP zu besuchen, kann ein Angreifer den Benutzer zur Verwendung von HTTP zwingen. Der Angreifer hat jedoch ein begrenztes Zeitfenster, in dem er seinen Angriff ausführen kann.

Was sollten Sie tun?

Wie bei vielen Websites sollten Sie HTTP-Verbindungen zulassen und Ihren Server dazu bringen, den Benutzer zur HTTPS-Version umzuleiten. Auf diese Weise überschreiben Sie das Standardverhalten von Browsern und stellen sicher, dass Ihre Benutzer die HTTPS-Version verwenden.

Alte Systeme ohne die richtigen Protokolle oder Stammzertifikate können nicht auf die Site zugreifen (oder haben zumindest eine Warnung ), aber abhängig von Ihrer Benutzerbasis sollte dies kein Problem sein.

Schlussfolgerung

Das Deaktivieren von HTTP kann mehr schaden als nützen. Es bietet nicht wirklich mehr Sicherheit.

Jede zum Schutz einer Ressource hinzugefügte Sicherheit ist nutzlos, wenn die meisten Benutzer nicht darauf zugreifen können. Wenn Ihre Endbenutzer nicht auf Ihre Website zugreifen können, weil ihr Browser standardmäßig HTTP verwendet und Sie nicht auf HTTP-Verbindungen warten, was ist der Vorteil?

Führen Sie einfach die HTTP 301-Umleitung zur HTTPS-Version durch. P. >

Verwandte Fragen

Ich bezog mich auf das fettgedruckte Aufzählungszeichen "Mit HSTS", in dem der Wortlaut darauf hindeutet, dass weniger Sicherheit besteht, wenn der Server eine Umleitung von HTTP zu HTTPS bereitstellt.
@BenVoigt Oh ok ich verstehe.Ich habe das "Wenn Sie HTTP bereitstellen" entfernt, um ein Missverständnis zu vermeiden.Vielen Dank
Darüber hinaus können einige Benutzer möglicherweise nicht auf https-Websites zugreifen.Zum Beispiel hat China zuvor den gesamten https-Verkehr zu Wikimedia-Projekten blockiert.
Nur eine Korrektur für die Wortwahl: Der Benutzer gibt keine "URL", sondern eine "Webadresse" ein.(Es gibt kein Standardschema / -protokoll.)
@OskarSkog Ich habe in "Website-Adresse" geändert, danke.
Beachten Sie, dass für "With HSTS" vorinstalliertes HSTS sogar erstmalige Besucher Ihrer Website vor MITM-Angriffen schützt.
Taul
2017-04-18 23:40:49 UTC
view on stackexchange narkive permalink

Die Antworten sind sehr gut. Sie werden die Benutzerfreundlichkeit opfern, ohne die Sicherheit wesentlich zu beeinträchtigen, wenn Sie HTTP vollständig ausschalten.

Sie können dies jedoch mit der Option HSTS Preload verringern. Das Vorladen Ihrer Website bedeutet, dass Sie Ihre Domain bei den Browser-Anbietern registrieren und diese ihre Browser hart codieren, um Ihre Website nur über HTTPS zu besuchen. Das heißt, wenn ein Benutzer versucht, über HTTP auf Ihre Website zuzugreifen, ändert der Browser die Anforderung in HTTPS. Der Benutzer muss nicht zuerst den HSTS-Header abrufen, bevor er sicher ist. Sie werden immer über einen sicheren Kanal mit Ihnen verbunden.

Dies schützt Benutzer nicht, die Browser verwenden, die ihre Liste der Nur-HTTPS-Websites nicht aktualisiert haben. Selbst wenn Sie das Vorladen verwenden, empfehle ich, HTTP für die wenigen Personen, die alte oder nicht aktualisierte Browser verwenden, nicht auszuschalten.

Aber Vorsicht, das Vorladen ist permanent! Es ist äußerst schwierig, aus der Preload-Liste auszusteigen.

So gelangen Sie in die Preload-Liste: https://hstspreload.org/

Welches Problem würde gelöst, wenn Sie von der Preload-Liste gestrichen würden?Ich meine, warum sollte jemand wollen?(Ich stelle eine technische Frage; nicht rhetorisch. Mein Verständnis ist, dass sie nur dann abhauen möchten, wenn sie sich aus irgendeinem Grund dazu entschließen, HTTPS nicht mehr zu bedienen - richtig?)
@Wildcard das ist richtig.Ein Anwendungsfall, an den ich denken könnte, ist, dass eine Domain, die von Person X registriert wurde, verfällt oder auf andere Weise an Person Y übertragen wird. Jetzt ist Person Y gezwungen, https zu verwenden, obwohl sie dies aus irgendeinem Grund wie den Kosten möglicherweise nicht möchte, technische Einschränkungen bei der Erstellung von Drag & Drop-Websites usw.
@Erik, danke.Aus einer sehr langfristigen Designperspektive vermute ich daher, dass das HSTS-Preload durch * absichtliche Auswahl * dauerhaft ist - mit dem Endziel, http in der Praxis * vollständig * zu verwerfen, sodass Sie in gängigen Browsern "erweiterte Einstellungen" vornehmen müssen"Menüs sogar, um es zu aktivieren.Zumindest können wir träumen.:) :)
@Wildcard Ich stimme zu, dass dies wahrscheinlich das Ziel ist.Ich frage mich, was zuerst im Internet über IPv6 oder nur über https passieren wird.;) Beide werden benötigt, sind aber ein harter Kampf ......
Scott Hemle hat einige großartige Informationen dazu.Bitte lesen Sie dazu seine Blog-Seite: https://hpkp.scotthelme.co.uk/death-by-copy-paste/ Kurz gesagt, Scott gibt drei Gründe an.1) Berücksichtigen Sie nicht die Auswirkungen auf alle von Ihnen verwalteten Subdomains. 2) Berücksichtigen Sie nicht die Auswirkungen auf alle Subdomains, die Sie von Dritten verwalten lassen.3) Kopieren / Einfügen von Header-Konfigurationen, um das Vorladen einzuschließen (und dann registriert jemand Ihre Site mit oder ohne Ihre Erlaubnis).
Root
2017-04-18 18:05:02 UTC
view on stackexchange narkive permalink

Sie müssen nicht.

Einige ältere Browser und Betriebssysteme (diese gehen normalerweise Hand in Hand) verfügen nicht über neuere Zertifikatsstammberechtigungen, unterstützen jedoch normalerweise kein neueres HTTPS Standards auch, so dass nichts wirklich verloren geht.

Möglicherweise haben Sie ein Gerät, das HTTPS, benutzerdefiniertes Skript usw. nicht unterstützt.

Niemand kann HTTP fälschen, da der DNS-Eintrag gehört Ihnen und der A-Datensatz verweist auf Ihre spezifische IP-Adresse (in einer perfekten Welt).

Sie tun dies nur, um die Kompatibilität aufrechtzuerhalten, das war's.

"Niemand kann http nicht fälschen" - Meinst du "Niemand kann" oder "Jeder kann"?"Der DNS-Eintrag gehört Ihnen und der a-Eintrag verweist auf Ihre spezifische IP-Adresse." - Aus diesem Grund kommt es nie zu Man-in-the-Middle-Angriffen, sodass keine Zertifizierungsstellen und keine Vertrauenskette erforderlich sind.
"Niemand kann http fälschen, weil der DNS-Eintrag Ihnen gehört" - True.Es sei denn, jemand fälscht den DNS-Eintrag. In diesem Fall kann er gefälscht werden.
user3496510
2017-04-18 22:12:54 UTC
view on stackexchange narkive permalink

Sie sollten HTTP nur unterstützen, um die Abwärtskompatibilität zu unterstützen. Stellen Sie sicher, dass Sie auf dem Back-End-Server eine ordnungsgemäße Umleitung zu HTTPS durchführen. Der beste Weg, dies zu implementieren, besteht darin, die HTTP-Unterstützung nur für Ihre Homepage oder für Seiten bereitzustellen, die keine vertraulichen Informationen enthalten. Sie dürfen HTTP-Anforderungen für Seiten, auf die der Benutzer nach der Authentifizierung zugreifen kann, nicht unterstützen.

Auch wenn Geräte (IoT) auf die vertraulichen Daten Ihres Servers zugreifen, müssen Sie diese zur Verwendung von TLS zwingen (viele aktuelle Geräte können Ihr Zertifikat speichern und eine TLS-Verbindung herstellen). Beachten Sie, dass die SSL-Versionen vor 3.0 viele Schwachstellen wie Poodlebug usw. aufweisen. Deaktivieren Sie daher alle vorherigen Versionen von Ihrem Webserver und lassen Sie nur> TLS 1.1 zu.

Es ist gut, dass Sie das HSTS implementieren. Ich empfehle Ihnen, einen Blick auf die Machbarkeit der Implementierung von HPKP auf Ihrer Site zu werfen.

Russell Hankins
2017-04-22 01:19:21 UTC
view on stackexchange narkive permalink

Ich verwende http zusätzlich zu https für zwei Zwecke:

  1. Leiten Sie http auf die https-Website um. Dies ist der Fall, wenn jemand den Namen Ihrer Website in den Browser eingibt.
  2. Ich erstelle eine separate Website für http, wenn jemand versucht, auf die Website zuzugreifen, ohne den Namen dot com zu verwenden. (Ein echter Benutzer wird dies nicht tun.) Auf dieser Website wird eine einfache Meldung "In Kürze" angezeigt. Außerdem wird ihre IP-Adresse an die Verweigerungsliste für IP-Tabellen angehängt, um diese IP dauerhaft vom Server zu sperren. Dieser Stopp strike> verlangsamt Hacker, die Masscan verwenden. (Ich habe Masscan gefunden, indem ich die Benutzeragentenzeichenfolgen aller IPs gespeichert habe, die ich blockiert habe, um einem anderen Programmierer zu beweisen, dass es sich nicht um Google-Scanning handelt, sondern um ausländische Hacker, die das IP-Scannen durchführen und nach Webservern suchen, um zu versuchen, zu hacken.)
  3. ol>


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...