Frage Müssen alle Server das HTTPS-Protokoll oder nur öffentliche Server verwenden?


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

Ich habe auch einen Backend-API-Server, an den mein Webserver API-Anfragen sendet - dies ist öffentlich und erfordert Authentifizierung - Port ist offen.

Diese 2 Server laufen über HTTPS.

Hinter dem API-Server gibt es viele andere Server. Der API-Server gibt Proxies an diese Server zurück. Ports für diese anderen Server sind nicht für eingehenden Datenverkehr geöffnet. Sie können nur über den API-Server angesprochen werden.

Meine Frage ... Müssen die "vielen anderen Server" über HTTPS laufen oder, da sie nicht extern erreichbar sind, können sie stattdessen über HTTP laufen?

Ich dachte, das wäre eine häufige Frage, aber ich konnte keine Antwort darauf finden. Vielen Dank. Wenn es sich um einen Betrogenen handelt, bitte zeigen Sie mir die richtige Antwort.


38
2017-08-29 17:12


Ursprung


Angesichts der Tatsache, dass die NSA die Überseeverbindungen, die Google und Yahoo zwischen ihren Datenzentren unverschlüsselt kommunizierten, genutzt hat, würde ich empfehlen, dass Sie immer davon ausgehen, dass eine Verbindung verdächtig ist. Man weiß nie, wo jemand zuhört, und es ist besser, sich zu entschuldigen. Die einzige Zeit, die ich in Betracht ziehen würde, wenn ich HTTP allein benutze, ist ein Dienst, der auf demselben Rechner läuft, der ihn benutzt und nur für lokale Verbindungen geöffnet ist. - childofsoong
Dies wird als SSL-Offloading und SSL-Terminierung bezeichnet, wenn Sie weitere Untersuchungen durchführen möchten. - Esben Skov Pedersen
Es ist, als würde man fragen: "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 betrachten. - Ryan Griggs
Als die Security.SE faq sagt: "Sicherheit ist ein sehr kontextabhängiges Thema: Bedrohungen, die in Ihrer Umgebung als wichtig erachtet werden, können für andere unerheblich sein und umgekehrt. Versuchen Sie, etwas von globalem Wert gegen Advanced Persistent Threats zu schützen? Oder suchen Sie nach einem kosten- Effektiver Ansatz für kleine Unternehmen mit geringem Profil? Um die hilfreichsten Antworten zu erhalten, sollten Sie uns Folgendes mitteilen: Welche Assets Sie schützen möchten, wer das Asset verwendet, das Sie schützen möchten, und wer es Ihrer Meinung nach missbrauchen möchte ( und warum); ... - D.W.
Welche Schritte haben Sie bereits unternommen, um dieses Asset zu schützen? Welche Risiken Sie Ihrer Meinung nach noch abschwächen müssen. "Diese Art von Kontext ist wichtig. Ich schlage vor, dass Sie Ihre Frage bearbeiten, um diese Informationen einzubeziehen. - D.W.


Antworten:


Dies ist eine Frage der Meinung und hat auch mit regulatorischen Fragen zu tun (wenn Sie irgendwelche Probleme haben).

Auch wenn es derzeit nicht notwendig ist, bin ich ein großer Befürworter dafür, das HTTPS zwischen Firewalls / Load-Balancern / Front-End-Servern auf Anwendungsebene und den Back-End-Servern aktiviert zu lassen. Es ist eine Angriffsfläche weniger. Ich habe Verträge mit Orten geschlossen, die umgestellt werden mussten, sobald sensiblere Informationen weitergegeben wurden - es ist besser, dort anzufangen.

Was ich im Allgemeinen vorschlagen würde, ist eine interne CA (falls verfügbar) oder ein Self-Sign (wenn keine interne CA) die Back-End-Server. Wir haben das Ablaufdatum schön und weit in die Zukunft gesetzt, um unnötige Änderungen zu vermeiden.


50
2017-08-29 17:26



es ist besser, dort zu beginnen - die Wörter, die dir die Punkte gaben :) - danday74
Das ist eine gute Idee. Sie wollen die NSA nicht Machen Sie doof Zeichnungen Ihrer Netzwerktopologie. - Kevin
Das Verschlüsseln all Ihrer Kommunikation schützt auch gegen internes Abhören - sei es in Form des Computers des Praktikanten, der einen Trojaner beim Durchsuchen von Katzenbildern aufgenommen hat, oder eines kleinen Sniffers, der an einen Netzwerkanschluss hinter einem unbenutzten Schreibtisch angeschlossen ist, oder eines gemeinsam genutzten WLAN-Passworts ein wenig zu locker. - Doktor J
"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 vor Ablauf zu warnen. Bitte! - GnP
@GnP Ich mache das auch - wenn es ein Zertifikat mit einem 10-Jahres-Zeitraum ist, schreibt unsere Richtlinie immer vor, dass der Backend-Server innerhalb dieses Zeitraums ersetzt wird. Macht es ein wenig überflüssig und schien nicht notwendig in der Antwort erwähnt zu werden. - Tim Brigham


TL; DR Sie sollten den Verkehr verschlüsseln es sei denn, es ist auf dem gleichen Host.

Sie können Ihrem Netzwerk nicht vertrauen. Malwares in Ihrem eigenen Netzwerk können HTTP-Anfragen abfangen / modifizieren.

Es sind keine theoretischen Angriffe, sondern ein Beispiel aus dem wirklichen Leben:


19
2017-08-30 09:40





Müssen die "vielen anderen Server" über HTTPS laufen, oder können sie, da sie nicht extern zugänglich sind, stattdessen über HTTP sicher ausgeführt werden?

Das hängt wirklich davon ab, was Sie erreichen möchten. Der Zweck der Verwendung von HTTPS besteht darin, die Daten beim Übergang zwischen zwei Punkten zu schützen. Wenn Sie befürchten, dass die Daten in Ihrem Netzwerk erkannt werden, sollten Sie sich zuerst darum kümmern. Wenn Sie die Daten während des Transports in Ihrem Netzwerk schützen müssen, haben Sie entweder Bedenken hinsichtlich der Sicherheit der Daten, die Ihre Systeme in Ihrem Netzwerk durchlaufen, oder es gibt einige Compliance-Gründe für die Verschlüsselung der übertragenen Daten.

Dies ist eher eine Frage der Meinung, aber die Antwort ist, hängt davon ab. Was versuchst du zu machen? Welche Art von Daten verschlüsseln Sie? Vor welchen Bedrohungen möchten Sie sich schützen? Haben Sie eine gesetzliche Anforderung (z. B. PCI-DSS, HIPAA usw.), nach der Sie die Daten während der Übertragung verschlüsseln müssen? Wenn die Daten sensibel sind und Sie befürchten, dass sie missbraucht werden könnten, wenn sie in Ihrem Netzwerk übertragen werden, würde ich vorschlagen, mit dem Management zusammenzuarbeiten, um das Problem zu beheben. Also, was versuchst du am Ende zu schützen und warum versuchst du es zu schützen?


16
2017-08-29 17:18





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 hatten. "Wenn Sie Ihrem internen Netzwerk nicht vertrauen können, wem können Sie vertrauen?" Ich wies darauf hin, dass wir Schüler Laptops in unserem internen Netzwerk hatten, und dass es keine Firewall zwischen den Laptops der Schüler und meinen Servern gab. Er, neu in der Wissenschaft, schien bei dieser Information sein Universum in Fetzen zu haben.

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

Das heißt, ja, es kommt darauf an, welche Informationen übertragen werden, auf irgendwelche rechtlichen Compliance-Fragen, etc. Sie könnten entscheiden, dass es Ihnen egal ist, wenn jemand, sagen wir, Wetterdaten schnüffelt. Das heißt, es ist möglich, dass selbst wenn die gesendeten Daten nicht empfindlich sind jetzt, könnte jemand später entscheiden, Funktionen zu Ihrer Anwendung hinzuzufügen sind empfindlich, also würde ich größere Paranoia empfehlen (einschließlich HTTPS).


13
2017-08-30 18:46



Die Daten können empfindlich genug sein: Jemand könnte seine falschen Entscheidungen auf manipulierte Wetterdaten stützen. - Hagen von Eitzen
Fair genug, es hängt davon ab, wofür du die Wetterdaten verwendest. Ich habe versucht, etwas Harmloses zu finden. :) - Katherine Villyard
@HagenvonEitzen oder der Angreifer würden dort Malware / Werbung einschleusen, so dass Oma geärgert wird, wenn sie das Wetter mit ihrem Windows XP-Rechner überprüft. - André Borie


Heute, mit spezialisierten CPU-Anweisungen zur Beschleunigung der Verschlüsselung, und neuen Transportprotokollen, die überhaupt nicht funktionieren oder mit verschlechterter Leistung über eine unverschlüsselte Verbindung (HTTP / 2, gRPC, etc ...) funktionieren, ist vielleicht die bessere Frage: Gibt es welche? Warum müssen Sie eine Netzwerkverbindung zu HTTP herabstufen? Wenn es keinen bestimmten Grund gibt, bleibt die Antwort bei HTTPS.


8
2017-08-30 03:58



Netter Denkprozess - danday74


Der einzige Grund, die Verschlüsselung zu deaktivieren, ist die Leistung. In Ihrem Fall sind interne Server jedoch über HTTP verbunden, was bedeutet, dass sie bereits die Kosten für die Ausführung eines Webservers tragen, das HTTP-Protokoll unterstützen und Daten in HTTP / JSON / was auch immer codieren. Wenn Sie die Verschlüsselung deaktivieren, werden möglicherweise 100 KB RAM freigegeben und Sie erhalten ein paar Mikrosekunden pro übertragener KB-Daten, was keinen sichtbaren Einfluss auf die Gesamtleistung hat. Auf der anderen Seite müssen Sie der Sicherheit deutlich 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 Dinge verlangsamen wird, mehr als die Deaktivierung der Verschlüsselung hat sie beschleunigt, was zu einer schlechteren Leistung führt, die von Endbenutzern wahrgenommen wird.

Es wird sein, als würde man einen Spoiler auf einen Traktor setzen: Man gewinnt theoretisch fast nichts und praktisch viele Unannehmlichkeiten.


5
2017-08-30 14:50