Müssen alle Server das HTTPS-Protokoll oder nur öffentlich zugängliche Server verwenden?


38

Ich habe einen Front-End-Webserver, der über HTTPS läuft - dies ist öffentlich zugänglich - dh der Port ist offen.

Ich habe auch einen Back-End-API-Server, an den mein Webserver API-Anforderungen sendet. Dies ist öffentlich und erfordert eine Authentifizierung. Der Port ist offen.

Diese 2 Server laufen über HTTPS.

Hinter dem API-Server gibt es viele andere Server. Der API-Server kehrt Proxys zu diesen Servern um. Ports für diese anderen Server sind für eingehenden Datenverkehr nicht geöffnet. Sie können nur über den API-Server angesprochen werden.

Meine Frage ... Müssen die "vielen anderen Server" über HTTPS laufen oder können sie stattdessen sicher über HTTP laufen, da kein externer Zugriff möglich ist?

Ich dachte, dies wäre eine häufige Frage, fand aber keine Antwort darauf. Vielen Dank. Wenn dies ein Betrug ist, weisen Sie mich bitte auf die richtige Antwort.


35
Angesichts der Tatsache, dass die NSA die von Google und Yahoo für die unverschlüsselte Kommunikation zwischen ihren Rechenzentren verwendeten Auslandsverbindungen abgehört hat, würde ich empfehlen, dass Sie immer davon ausgehen, dass eine Verbindung verdächtig ist. Sie wissen nie, wo jemand zuhört, und es ist besser, auf Nummer sicher zu gehen, als sich zu entschuldigen. Das einzige Mal, wenn ich in Betracht ziehen würde, HTTP allein zu verwenden, ist ein Dienst, der auf demselben Computer ausgeführt wird, auf dem er verwendet wird, und der nur für lokale Verbindungen geöffnet ist.
Childofsoong

7
Dies wird als SSL-Auslagerung und SSL-Beendigung bezeichnet, wenn Sie weitere Nachforschungen anstellen möchten.
Esben Skov Pedersen

31
Es ist wie die Frage "Brauchen alle Türen Schlösser oder nur nach außen gerichtete Türen?" Nur Sie können diese Frage beantworten, wenn Sie Bedrohungen innerhalb und außerhalb Ihres Netzwerks in Betracht ziehen.
Ryan Griggs

5
In der Security.SE-FAQ heißt es : "Sicherheit ist ein sehr kontextbezogenes Thema: Bedrohungen, die in Ihrer Umgebung als wichtig erachtet werden, können für andere Personen nicht relevant sein und umgekehrt. Versuchen Sie, etwas von globalem Wert gegen erweiterte persistente Bedrohungen zu schützen? Oder Wenn Sie nach einem kostengünstigen Ansatz für ein kleines Unternehmen mit niedrigem Profil suchen, sollten Sie uns mitteilen, welche Assets Sie schützen möchten, wer die Assets verwendet, die Sie schützen möchten, und wen Sie Ich denke, ich möchte es missbrauchen (und warum); ...
DW

2
Welche Schritte haben Sie bereits unternommen, um diesen Vermögenswert zu schützen? Welche Risiken müssen Sie Ihrer Meinung nach noch mindern
DW

Antworten:


50

Dies ist eine Ansichtssache und hat auch mit regulatorischen Problemen zu tun (falls Sie damit konfrontiert sind).

Auch wenn es derzeit nicht erforderlich ist, bin ich ein großer Befürworter der Aktivierung von HTTPS zwischen Firewalls / Load Balancern / Front-End-Servern auf Anwendungsebene und Back-End-Servern. Es ist eine Angriffsfläche weniger. Ich habe Verträge mit Orten abgeschlossen, die konvertiert werden mussten, als vertrauliche Informationen weitergegeben wurden - es ist besser, dort zu beginnen.

Im Allgemeinen würde ich vorschlagen, die Back-End-Server mit einer internen Zertifizierungsstelle (falls verfügbar) oder selbst zu signieren (falls keine interne Zertifizierungsstelle vorhanden). Wir würden das Ablaufdatum schön und weit in die Zukunft verschieben, um unnötige Änderungen zu vermeiden.


1
es ist besser, dort zu beginnen - die Worte, die Ihnen die Punkte gaben :)
danday74

12
Das ist eine gute Idee. Sie möchten nicht, dass die NSA doofe Zeichnungen Ihrer Netzwerktopologie erstellt .
Kevin

3
Das Verschlüsseln Ihrer gesamten Kommunikation schützt auch vor internem Abhören - sei es durch den Computer des Praktikanten, der beim Browsen von Katzenbildern einen Trojaner gefunden hat, oder durch einen kleinen Sniffer, der an einen Netzwerkanschluss hinter einem nicht verwendeten Schreibtisch angeschlossen ist, oder durch ein gemeinsam genutztes WLAN-Passwort etwas zu locker.
Doktor J

8
" We'd set the expiration date nice and far into the future to avoid unnecessary changes." und fügen Sie Ihrer bevorzugten Überwachungssuite eine Regel hinzu, um Sie zu warnen, wenn sie abläuft. Bitte!
GnP

2
@GnP Das mache ich auch - wenn es sich um ein 10-Jahres-Zertifikat handelt, schreibt unsere Richtlinie immer vor, dass der Back-End-Server innerhalb dieses Zeitraums ersetzt wird. Macht es ein bisschen redundant und schien in der Antwort nicht zu erwähnen.
Tim Brigham

19

TL; DR Sie sollten den Datenverkehr verschlüsseln, es sei denn, er befindet sich auf demselben Host.

Sie können Ihrem Netzwerk nicht vertrauen. Malware in Ihrem eigenen Netzwerk kann http-Anforderungen abfangen / ändern.

Es handelt sich nicht um theoretische Angriffe, sondern um ein reales Beispiel:


16

Müssen die "vielen anderen Server" über HTTPS laufen oder können sie stattdessen sicher über HTTP laufen, da von außen nicht auf sie zugegriffen werden kann?

Dies hängt wirklich davon ab, was Sie erreichen möchten. Verstehen Sie, dass der Zweck der Verwendung von HTTPS darin besteht, Daten auf dem Weg zwischen zwei Punkten zu schützen. Wenn Sie Bedenken haben, dass die Daten in Ihrem Netzwerk abgehört werden, sollten Sie sich zuerst darum kümmern. Wenn Sie die Daten während der Übertragung in Ihrem Netzwerk schützen müssen, müssen Sie entweder Bedenken hinsichtlich der Sicherheit der Daten haben, die Ihre Systeme in Ihrem Netzwerk durchlaufen, oder Sie müssen die Daten während der Übertragung aus Compliance-Gründen verschlüsseln.

Dies ist wirklich eher eine Meinungsfrage, aber die Antwort ist, es kommt darauf an. Was versuchst du zu machen? Welche Art von Daten verschlüsseln Sie? Gegen welche Bedrohungen versuchen Sie sich zu verteidigen? Haben Sie eine gesetzliche Anforderung (z. B. PCI-DSS, HIPAA usw.), die besagt, dass Sie die Daten während der Übertragung verschlüsseln müssen? Wenn die Daten vertraulich sind und Sie befürchten, dass sie bei der Übertragung in Ihrem Netzwerk missbraucht werden, empfehle ich, sich mit dem Management zusammenzutun, um das Problem zu beheben. Also, was versuchst du am Ende zu schützen und warum versuchst du es zu schützen?


13

Damals gingen die Leute davon aus, dass interne Netzwerke als Häuser sicher sind. Ich geriet einmal in einen Streit mit einem Vorgesetzten, der entsetzt war, dass meine internen Server ihre eingebauten Firewalls ausführen. "Wenn Sie Ihrem internen Netzwerk nicht vertrauen können, wem können Sie dann vertrauen?" Ich wies darauf hin, dass wir Schüler-Laptops in unserem internen Netzwerk hatten und dass es keine Firewall zwischen den Schüler-Laptops und meinen Servern gab. Er, der für die Wissenschaft neu war, schien bei diesen Informationen sein Universum in Trümmern zu halten.

Interne Netzwerke gelten nicht mehr als so sicher, selbst wenn Sie keine Schüler-Laptops in Ihrem Netzwerk haben. Siehe Toms Antwort für einige Beispiele.

Das heißt, ja, es hängt davon ab, welche Informationen übertragen werden, ob es um die Einhaltung gesetzlicher Bestimmungen geht usw. Sie können sich entscheiden, dass es Ihnen egal ist, ob jemand beispielsweise Wetterdaten schnüffelt. Das heißt, es ist möglich, dass, selbst wenn die gesendeten Daten jetzt nicht vertraulich sind , jemand später Funktionen zu Ihrer Anwendung hinzufügt, die vertraulich sind. Daher würde ich eine größere Paranoia (einschließlich HTTPS) empfehlen.


Wetterdaten können sensibel genug sein: Jemand kann seine falschen Entscheidungen auf manipulierte Wetterdaten stützen.
Hagen von Eitzen

1
Das hängt davon ab, wofür Sie die Wetterdaten verwenden. Ich habe versucht, etwas Unschädliches zu erfinden. :)
Katherine Villyard

1
@HagenvonEitzen oder der Angreifer würden dort Malware / Werbung einschleusen, sodass Oma pwn wird, wenn sie das Wetter mit ihrem Windows XP-Computer überprüft.
André Borie

8

Heutzutage mit speziellen CPU-Befehlen zur Beschleunigung der Verschlüsselung und neuen Transportprotokollen, die über eine unverschlüsselte Verbindung (HTTP / 2, gRPC usw.) überhaupt nicht oder nur eingeschränkt funktionieren, ist die bessere Frage vielleicht: Gibt es welche? Grund, warum Sie eine Netzwerkverbindung auf HTTP downgraden müssen? Wenn es keinen bestimmten Grund gibt, lautet die Antwort: Bleiben Sie bei HTTPS.


Schöner Denkprozess
danday74

5

Der einzige Grund, warum ich die Verschlüsselung deaktivieren kann, ist die Leistung. In Ihrem Fall sind interne Server jedoch über HTTP verbunden, was bedeutet, dass sie bereits die Leistungskosten für den Betrieb eines Webservers tragen, das HTTP-Protokoll unterstützen und Daten in HTTP / JSON / whatever codieren. Durch Deaktivieren der Verschlüsselung werden möglicherweise 100 KB RAM frei und Sie erhalten ein paar Mikrosekunden pro KB übertragener Daten, was keine sichtbaren Auswirkungen auf die Gesamtleistung hat. Andererseits müssen Sie der Sicherheit erheblich mehr Aufmerksamkeit schenken, da Sie jetzt HTTP in Ihrem Intranet ausführen. In der Tat ist es möglich, dass eine strengere Firewall-Konfiguration die Leistung verlangsamt, anstatt sie durch Deaktivieren der Verschlüsselung zu beschleunigen, was zu einer schlechteren Leistung für die Endbenutzer führt.

Es wird sein, als würde man einen Spoiler auf einen Traktor setzen: Theoretisch gewinnt man so gut wie nichts und praktisch eine Menge Unannehmlichkeiten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.