Frage:
Sollte ich Port 80 für immer und seit den von Google angegebenen Web-Sicherheitsinitiativen von 2018 schließen?
user123574
2018-11-23 13:26:39 UTC
view on stackexchange narkive permalink

Ich richte häufig Ubuntu- LAMP -Umgebungen ein, in denen ich einige Drupal -Webanwendungen hoste, die ich selbst besitze (ich biete keine Hosting-Dienste an und habe dies nie getan in der Vergangenheit).

Wenn ich eine solche Umgebung einrichte, sind die grundlegendsten Sicherheitsschritte, die ich unternehme, folgende:

  ufw --force enableufw allow 22,25,80,443 # Alle über TCP / UPD erlaubt, da keine Einschränkungen angegeben wurden; passendes Update - passendes Upgrade unbeaufsichtigt - Upgrades sshguard  

Nach dem 2017-2018 W3C / Google (?) Reformen in Bezug auf die Browserunterstützung in HTTP, bei denen alle von uns aufgefordert oder zumindest ermutigt werden müssen, TLS-Verschlüsselung zu verwenden, die mit einem SSL-Zertifikat für gesichertes HTTP bestätigt wurde Bei der Datenübertragung (HTTPS) frage ich mich, ob ungesichertes HTTP (normalerweise über Port 80) für jeden von uns überhaupt noch relevant ist.

Hinweise:

  1. Jedes meiner Websites apps hat ein eigenes OpenSSL-Zertifikat, das ich mit Certbot erstelle.
  2. Das einzige Webdienstprogramm, das ich neben Websites verwende, ist entweder PHPMyAdmin / PHPMiniAdmin.
  3. ol>

    Meine Frage

    Kann ich Port 80 entfernen? von ufw erlauben 22,25,80,443 , wodurch mein System noch ein bisschen weniger "anfällig" wird?

    Update pro Antwort

    Antworten empfehlen, vom Port umzuleiten Ich denke, Certbot erstellt diese Weiterleitungen automatisch, sodass ich abgedeckt bin, wenn ich Port 80 offen halte, wie in den Antworten empfohlen.

Siehe auch: SecSE: 2014-02-17: [* Kann das Schließen von Port 80 zu mehr Sicherheit führen? *] (Https://security.stackexchange.com/questions/51670/can-closing-port-80-lead-to-mehr Sicherheit)
Ich mag die Blog-Antwort von Scott Helme: 09.12.2016, [* Warum das Schließen von Port 80 schlecht für die Sicherheit ist *] (https://scotthelme.co.uk/why-closing-port-80-is-bad-for-security /) (Archiviert [hier] (https://archive.fo/HoQl3).)
Welche Herausforderung nutzt Ihr Certbot?Muss Port 80 geöffnet sein (Webroot-Plugin)?
Ich habe das Gefühl, dass diese Frage in ungefähr 3 Jahren einige wichtige Änderungen erfahren wird :)))
ich.Das Schließen von Port 80 schützt Sie nicht vor Sicherheitslücken in Webdiensten.ii.Sie müssen den Webserver so konfigurieren, dass er auf die Anforderung von Port 80 reagiert und den Benutzer zu https umleitet.iii.Wenn Sie nicht beabsichtigen, einige Dienste für andere zu öffnen, können Sie durch Einschränken des IP-Zugriffs verhindern, dass böswillige Bot Ihren Server überfliegen.
LetsEncrypt _still_ kann HTTPS-Zertifikate nicht über HTTPS erneuern und erfordert weiterhin Port 80 (oder DNS-Tricks).Das ist also ein besonderer Grund, Port 80 vorerst offen zu halten.
Mögliches Duplikat von [Warum sollte ich zusätzlich zu HTTPS HTTP anbieten?] (Https://security.stackexchange.com/questions/157572/why-should-i-offer-http-in-addition-to-https)
Sooo ... denkst du, du solltest "your-domain.com" auch ohne Weiterleitung schließen, weil der korrekte Name "www.your-domain.com" lautet?
Mich?Nein, dies ist eine andere Sache für mich, die sich sehr von einem Standard von Webbrowsern unterscheiden kann (obwohl wir offensichtlich noch nicht da sind).
Fünf antworten:
phyrfox
2018-11-23 14:39:18 UTC
view on stackexchange narkive permalink

Google, die wichtigste Suchmaschine des Internets (das sowohl Bing als auch Yahoo in den Schatten stellt) und der von den meisten Internetnutzern verwendete Browser, hat auf eine reine HTTPS-Welt gedrängt, indem der Seitenrang für Websites ohne HTTPS gesenkt wurde und Hinzufügen einer Browser-Warnung, wenn eine Site nicht sicher ist. Das Verhältnis von HTTPS-Sites zu "Nicht" ist jedoch immer noch viel zu niedrig, um eine HTTPS-First-Richtlinie für alle zu empfehlen, da Benutzer ziemlich ständig beängstigende "Zertifikatfehler" -Nachrichten oder "Verbindung abgelehnt" -Fehler erhalten.

Bis Google eine HTTPS-First-Richtlinie für Browserverbindungen empfiehlt, ist es unwahrscheinlich, dass Firefox, Apple oder Microsoft solche Richtlinien empfehlen, und dies ist wahrscheinlich erst bei einer anständigen Mehrheit (möglicherweise 70% oder mehr) der Top-Websites der Fall sind HTTPS-fähig, was eine enorme Steigerung gegenüber den ~ 50% der Top-Sites darstellt, die heute über HTTPS verfügen.

Die meisten Benutzer, die Ihre HTTP-Site absichtlich oder versehentlich besuchen, werden begrüßt Wenn der Fehler "Verbindung abgelehnt" vorliegt, wird wahrscheinlich eine andere Site angezeigt. Ich habe hier keine gute Möglichkeit, konkrete Zahlen zu erhalten, aber es ist wahrscheinlich, dass 70-90% der Internetnutzer ohne automatische Umleitung nicht herausfinden würden, dass die Site keinen HTTP-Port hat. Der Rest ist wahrscheinlich entweder technisch kompetent genug, um zu erkennen, dass er HTTPS benötigt, oder er verwendet HTTPS Everywhere und würde es sowieso nicht bemerken.

Verwenden Sie definitiv HSTS, definitiv 301-Weiterleitung zu HTTPS-Ressourcen (301 zeigt einen dauerhaften Umzug an Für Browser, damit sie sich an diese Einstellung "erinnern"), raten Sie Ihren Benutzern auf jeden Fall, sicherzustellen, dass sie ein Vorhängeschloss sehen und das Zertifikat usw. überprüfen. Blockieren Sie Port 80 zu diesem Zeitpunkt noch nicht, da das Internet dafür einfach noch nicht bereit ist .

Soweit ich weiß, gibt es keine größeren Sites, die HTTP deaktiviert und Port 80 blockiert haben. Wenn Sie dies tun, brechen Sie die Benutzererwartung (an die die Site Sie weiterleitet) eine sichere Site), und da die meisten Benutzer nicht wissen, was sie hier tun sollen, weil sie keine freundliche Fehlermeldung erhalten, gehen sie einfach davon aus, dass Ihre Site kaputt ist, und fahren fort.

Ich denke, dass Certbot diese Umleitungen automatisch erstellt, sodass ich abgesichert bin, wenn ich Port 80 offen halte.
@JohnDoea Ich habe es nicht wesentlich benutzt, aber es sollte sich um die Situation für Sie kümmern.Selbst wenn nicht, ist das Aktivieren von HSTS- und HTTPS-Weiterleitungen in Apache ziemlich trivial, nur ein paar Konfigurationszeilen.
@JohnDoea, Ich wäre sehr überrascht, wenn certbot das tun würde, es ist überhaupt nicht seine Aufgabe.Der * A * Teil von LAMP ist der Ort, an dem dies passieren würde.
@CarstenS [docs] (https://certbot.eff.org/docs/using.html) unterstützt die Optionen "--redirect" und "--hsts", um beide für eine schnelle Einrichtung zu konfigurieren.Ich habe es nicht persönlich benutzt, aber es scheint echt zu sein.
@phyrfox, danke für die Überprüfung, mir war nicht bewusst, dass es die Webserverkonfiguration für unterstützte Server so tiefgreifend ändert.Ich benutze weniger von seiner Funktionalität, aber es ist gut, dass sie es einfach machen, (etwas) sicher zu sein.
Gute Antwort, danke, positiv bewertet.Ich schlage nur vor, es ein wenig zu kürzen, wo es gut sein könnte - wenn überhaupt.
"~ 33% der Top-Sites, die heute HTTPS haben" Quelle?Laut [Scott Helme letzter Crawl von Alexa Top 1 Million] (https://scotthelme.co.uk/alexa-top-1-million-analysis-august-2018/) beträgt + 50%.
Warum würden Sie jemals Zertifikatfehler erhalten, wenn Ihre Site korrekt eingerichtet ist?(Ich habe auch Fehler bei der Verbindungsverweigerung gesehen, bin mir aber nicht sicher, was sie verursacht. Normalerweise versuche ich nur, die Seite neu zu laden, wenn ich auf einen stoße.)
@Braiam Ah, meine Quelle war eindeutig veraltet.Der Zustand des Internets hat sich deutlich verbessert und schließlich 50% gebrochen.
@SilverWolf Selbst bei der Automatisierung ist es oft sehr schwierig, alle Einstellungen zu 100% korrekt zu machen.Ungültige Platzhalterdomänen, Automatisierungsfehler, auslaufende Zertifikate, noch nicht gültige Zertifikate (z. B. in der Zukunft festgelegt) usw. Viele Websites müssen "alles richtig machen", aber es handelt sich um eine sehr spezifische Technologie (da jeder Fehler ein potenzielles Sicherheitsrisiko darstellt), so dass viele Fehlermodi auftreten können.
Nehmen Sie auch an der HSTS-Preload-Liste teil.Dadurch werden (irgendwann) die meisten gängigen Browser dazu gebracht, Ihre Website nur als HTTPS zu behandeln.Deaktivieren Sie auch dann nicht die Umleitung auf Port 80, da sonst Benutzer, die ältere Browserversionen verwenden, weiterhin die oben genannten Probleme haben.
Beachten Sie, dass die 301-Umleitung in einigen Clients in der Vergangenheit falsch implementiert wurde. Daher wurde eine 308-Umleitung eingeführt, die äquivalent ist, mit Ausnahme der Nicht-Herabstufung nach dem Zeitpunkt, an dem wir diesmal wirklich meinen, dass dies der Fall istzu diesem Zweck verwendet.
forest
2018-11-23 13:28:31 UTC
view on stackexchange narkive permalink

Sie sollten Port 80 nicht schließen. Stattdessen sollten Sie Ihren Server so konfigurieren, dass HTTP-Port 80 auf HTTPS-Port 443 umgeleitet wird, um TLS zu verwenden. Sie können optional HSTS (HTTP Strict Transport Security) verwenden, um den Browsern mitzuteilen, dass sie künftig nur noch TLS verwenden sollen, wenn eine Verbindung zu Ihrer Site hergestellt wird.

Port 80 ist nicht unsicher offen sein. Sicherheitsprobleme treten nur auf, wenn der Webserver Anforderungen über eine unverschlüsselte Verbindung bereitstellt, insbesondere wenn diese Anforderungen vertrauliche Daten enthalten. Es ist absolut sicher, dass Port 80 geöffnet ist und nur eine HTTP-Umleitung sendet.

Hmm, erwähnen Sie bei dieser Übertragung die sogenannte "Portweiterleitung"?
@JohnDoea Nein, keine Portweiterleitung.Sie konfigurieren Apache für eine HTTP-Umleitung.
Eine letzte Frage, bitte, theoretisch, wenn ich sie nur aus Gründen des Minimalismus schließe, werde ich viele, viele Kunden auf meinen Websites verwenden?
Wenn Sie es schließen, verlieren Sie viele Kunden, die die URL ohne HTTPS eingeben.Es gibt kein Sicherheitsproblem, wenn Port 80 offen bleibt, solange Sie ihn auf Port 443 umleiten.
Und das wäre schlecht.Die Leute benutzen http genauso wie "110 Volt".Die Stromversorgung betrug seit dem Krieg 120 V, aber als sie ursprünglich in Massen vermarktet wurde, waren es 110. Sie werden sie nie aus dem Kopf bekommen.
Jacopo
2018-11-24 14:18:37 UTC
view on stackexchange narkive permalink

Kurz gesagt: Halten Sie es normalerweise offen und verwenden Sie es, um alles zu HTTPS umzuleiten.

Nun zu Das komplizierte Zeug : Das Entfernen von Port 80 kann Cookie-Diebe stoppen, die passiv nach straggle http://corp.com/some/forgotten/thing -Anfragen suchen. Die TCP-Verbindung ist nicht erfolgreich, der Browser sendet das GET und die Cookies nicht und der Bösewicht kann sie nicht lesen.

Manchmal ist dies eine vernünftige Schutzmaßnahme, insbesondere in Bezug auf Unternehmensumgebungen: Legacy-Apps , HSTS nur teilweise implementiert, Cookies, denen möglicherweise das sichere Flag oder Pfad- oder Host-Einschränkungen fehlt, gehostete oder Proxy-Dritte, ...

Nun, sollten Sie es blockieren? Wahrscheinlich nicht.

Wie bereits erwähnt, würde dies die Einrichtung von Let's Encrypt erschweren und Weiterleitungen verhindern (einschließlich Benutzer, die nur your.com code eingeben) > in der Adressleiste). Wenn Sie domänenweites HSTS festgelegt haben, kann das Entfernen von Weiterleitungen sogar als kontraproduktiv angesehen werden (Sie möchten möglicherweise eine einfache HTTP-Verbindung riskieren, um alle zukünftigen Verbindungen zu schützen).

Beachten Sie außerdem, dass aktive Angreifer nicht gestoppt werden (sie können die Verbindung künstlich herstellen, MITM-Proxy-Tools tun dies möglicherweise sogar standardmäßig). Es gibt Eckfälle (einfache HTTP-Proxys, delegierte Domänen außerhalb Ihrer Firewall) ), und Sie können den passiven Angriff für Ihr Modell als zu kompliziert betrachten.

Sollten Sie schließlich einem neuen Server Port 80 hinzufügen? Nun , es sei denn, Sie haben bereits einen Grund zum Öffnen (siehe oben), Nr.

Umur Kontacı
2018-11-24 15:24:19 UTC
view on stackexchange narkive permalink

Zusätzlich zu den Antworten der anderen Gesamtstruktur und von Phyrfox verwendet die ACME http-01-Überprüfung Port 80, um Ihre Server zu erreichen. Wenn Sie den Port schließen, können Sie keine Zertifikate erneuern oder erstellen.

Die TLS-SNI-01-Challenge-Methode erfordert weder Port 80 noch die DNS-01-Methode (obwohl diese von Certbot nicht unterstützt wird).
@Mark TLS-SNI-01 [wurde entfernt] (https://community.letsencrypt.org/t/february-13-2019-end-of-life-for-all-tls-sni-01-validation-support/74209) seit dem [Shared-Hosting-Vorfall] (https://community.letsencrypt.org/t/important-what-you-need-to-know-about-tls-sni-validation-issues/50811) und DNS-Die Automatisierung von 01 ist je nach Infrastruktur und DNS-Anbieter möglicherweise nicht für alle Benutzer praktikabel.
Lie Ryan
2018-12-11 16:54:08 UTC
view on stackexchange narkive permalink

Ich sage, es ist situativ. Wenn Ihre Site nur eine API bereitstellt oder ein Backend-Inhalt oder ein statischer Dateiserver ist, bei dem es sehr unwahrscheinlich ist, dass Ihre typischen Benutzer die Adresse Ihres Servers eingeben, um Ihre Site zu besuchen oder ein Lesezeichen für die Seite zu erstellen (da die Adresse dieses Servers niemals vorhanden ist erscheint in der Adressleiste), dann gibt es wahrscheinlich keinen Schaden, der durch das Schließen von Port 80 für diesen Server verursacht werden könnte.

Wenn es sich bei Ihrer Website um eine neue Website handelt, auf der noch keine Personen Ihre Website über HTTP verwenden und kein Lesezeichen vorhanden ist, oder wenn Ihre Website keine Inhalte enthält, die Personen wahrscheinlich über den Link teilen, sind Sie es Möglicherweise sollten Sie Port 80 schließen.

Bei Servern, die Ihre Homepage bedienen, möchten Sie Port 80 wahrscheinlich vorerst behalten, da sie viel häufiger von Personen besucht werden, die URL in die Adressleiste eingeben . Wenn Sie Ihre Seitenadresse in der physischen Welt (z. B. in physischen Anzeigen) oder auf einem Medium bewerben, auf das die Benutzer nicht einfach klicken können, möchten Sie möglicherweise Port 80 beibehalten.

Selbst wenn Ihre Site völlig neu ist, versuchen Browser zuerst Port 80 und werden zu Port 443 umgeleitet. Wenn Sie also Port 80 schließen, muss der Benutzer explizit https: // ... eingeben


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 4.0-Lizenz, unter der er vertrieben wird.
Loading...