Hallo,
ich versuche mal gleichzeitig zu antworten und noch etwas den "Tech Talk" zu erklären, dann lernt vielleicht noch jemand was, der/die nicht so tief drin ist - ist jetzt etwas länglich geworden, aber vielleicht findet es ja jemand interessant.
Was ich so ja schon schrieb
Natürlich hilft VPN hiergegen, wenn anstelle von X.509 zum Verbindungsaufbau zwischen Client und VPN-Endpunkt ein Pre Shared Key verwendet wird, den die NGFW (oder wer auch immer da den MiTM macht) nicht kennt.
Ich meinte nicht mal, dass man das VPN dafür knacken muss. Wenn Du einen Proxy und ein Root-Zertifikat auf dem Rechner installieren kannst, nimmst Du einfach einen Proxy der irgendwo im Internet liegt. Dann verbindet sich der Browser mit (durch das VPN hindurch) mit diesem Proxy, der dann den MiTM macht.
Andererseits: Wenn ich auf einem Rechner Zertifikate und Einstellungen ändern kann, könnte ich vermutlich auch den PSK auslesen und/oder austauschen.
Etwas Background:
Ein Pre-Shared-Key (PSK) ist ein Geheimnis (zum Beispiel ein sehr langes Passwort, oder eine Datei), das nur die beiden "Enden" des VPN kennen, also mein Rechner und die Gegenstelle. Damit können die beiden dann die Verbindung verschlüsseln, und beide können feststellen dass die andere Seite "echt" ist.
Das gibt es beim https (TLS/SSL) tatsächlich nicht - denn der Schlüssel muss vorher über eine sichere Verbindung übertragen werden (z.B. in dem der Admin ihn auf den Rechner kopiert). Vorteil für das VPN: Beide Seiten kennen und vertrauen sich. Wie eine Parole beim Militär: Wenn Du mir das geheime Passwort sagen kannst, weiss ich dass Du zu den Guten gehörst.
Beim SSL ist das nicht so, das sich die "Enden" vorher nicht kennen. Um zu wissen, ob eine Webseite wirklich echt ist, muss ich einen Dritten "fragen". Das sind die weiter vorne erwähnten CAs (Certificate Authority). Diese bestätigen, dass
https://meinebank.de/ wirklich meiner Bank gehört, und nicht zu einem Betrüger. Das ist dann wie bei einem Pass: Der Staat hat Dir einen Pass ausgestellt. Weil ich dem Staat (zumindest in Bezug auf Pässe ;-) vertraue, glaube ich dass Du Du bist. Und weil die CA der Bank einen "Pass" ausgestellt habe, weiss ich das die Webseite echt ist.
SSL sagt der Bank allerdings nicht, dass
ich "echt" bin - dafür muss erst noch mein Passwort eingeben.
Die eine hier geäußerte Befürchtung beim SSL ist jetzt, das eine CA falsche "Pässe" ausstellt. Wenn jetzt einer von den Bösen die so etwas hat, kann er so tun als wäre er meine Bank, und ich würde es nicht merken. Er könnte mir sogar die Seite von der Bank weiterleiten und der Bank meine Eingaben, und dabei alles mitlesen. Wie wahrscheinlich das ist, steht auf einem anderen Blatt.
Der andere Einwand gegen TLS/SSL ist, dass erste Version schon aus den 90er Jahren stammt. Seitdem wurden immer wieder Fehler und Schwächen entdeckt, und neue Versionen veröffentlicht um diese Fehler zu beheben. (Das ist durchaus nicht ungewöhnlich, und bei allen Produkten so). Wenn jetzt jemand die alten, schwachen Verfahren noch verwendet, ist diese Verbindung angreifbar. Wenn die neueste Version verwendet und richtig konfiguriert wird, dann ist es sicher.
Es ist ein großer Unterschied, ob eine Malware jede Tastatureingabe mitschneidet bzw. Screenshots anfertigt, oder ob die Firmen-IT ein paar Root-Zertifikate in den Speicher wirft...
Es ist natürlich ein großer Unterschied im Ergebnis (und natürlich gehe ich davon aus, dass die Firmen-IT normalerweise vertrauenswürdig ist ;-) Technisch sehe ich aber keinen großen Unterschied. Was ich will, ist normalerweise Zugriff auf den Speicher (RAM und/oder Festplatte). Wenn ich das erst mal habe kann ich Zertifikate installieren, oder Malware, oder andere Sachen.
Das ist, mit Verlaub, Quark. Zwar gibt es SSL/TLS-basierte VPNs .
Gängig sind inzwischen jedoch IPSEC-VPNs und hier hat die Verschlüsselung mit SSL/TLS mal so gar nix gemeinsam.
Ja und nein. Natürlich gibt es technische Unterschiede und die Protokolle setzen an komplett anderen Stellen an. Allerdings (und in die Richtung geht meine Antwort) gibt es auch keine "magische Sauce" beim VPN, die TLS/SSL nicht hat und die es deswegen sicherer macht. Das ist nicht so.
Beide verwenden bekannte Standard-Verschlüsselungsverfahren (und Hash-Verfahren). Beide verwenden kryptografische Standardverfahren, um die Gegenstelle zu identifizieren. Beide werden ständig auf mögliche Fehler untersucht und aktualisiert. Beide sind anerkannte Standards.
Der einzige wirkliche Unterschied ist, dass sich beim VPN (normalerweise) beide Seiten gegenseitig vertrauen (über PSK oder andere Verfahren). Beim TLS/SSL wird Vertrauen (normalerweise) über die CAs nur in eine Richtung hergestellt - siehe oben.
In der Theorie gibt das tatsächlich ein zusätzliches Vertrauen. Allerdings nur, wenn ich mich innerhalb des VPN befinde. Sobald ich mich "nach draussen" in das grosse weite Internet verbinde (was ja meist das Ziel ist), endet die zusätzliche Sicherheit "hinter" dem VPN.
Das ist übrigens auch der Grund, warum Banken/Webseiten kein VPN verwenden: Es erfüllt einen völlig anderen Zweck - und würde ich das VPN für den gleichen Zweck wie TLS/SSL einsetzen hätte es die gleichen Probleme.
Für den diskutierten Fall "Internet im Hotel":
- Es schützt wirklich gegen Angriffe aus dem WLAN gegen nicht oder schlecht gesicherte Seiten ohne TLS oder mit schlecht eingerichtetem TLS - die werden allerdings immer seltener.
- Es schützt nicht generell gegen Angriffe aus dem Internet, oder gegen Hacker die sich auf dem Rechner befinden.
- Es schützt nicht komplett gegen Angriffe aus dem WLAN auf den Rechner selbst: Daher sollte man immer die lokale Firewall aktivieren, und Netzwerkdienste (z.B. Dateifreigabe) abschalten.
Was auch zusätzlich schützt ist ein (Firmen-)VPN, dass über eine starke Firewall mit dem Internet verbunden ist. Aber das haben wohl die wenigsten...
Um zurück zum Topic zu kommen: Ein VPN ist tatsächlich ein Werkzeug für die Sicherheit auf Reisen. Wichtiger als die Diskussion SSL vs. VPN finde ich aber, dass man die Risiken kennt und ein sinnvolles "Gesamtpaket" hat.
Zum Beispiel:
- Alle Geräte (ja, auch die Telefone!) haben eine lange PIN bzw. ein sicheres Passwort und sperren sich automatisch
- Alle Geräte sind verschlüsselt (Festplatte auf dem Rechner verschlüsselt, Android-Verschlüsselung aktiviert)
- Die lokale Firewall ist aktiviert. Alle Netzwerkdienste (Drucker-/Dateifreigabe, Webserver, ...) sind abgeschaltet.
- Die Software ist auf dem neuesten Stand
- Wichtige Korrespondenz? -> Per verschlüsselter Email, oder per verschlüsseltem Messenger (nach "Vertrauenslevel": Signal, Threema, (Whatsapp wer ihm traut...), ...)
- Eigener WLAN/LTE/UMTS-Router? -> Die WLAN-Verschlüsselung sollte aktiv sein (und ein sicheres Passwort haben)
- Für Fortgeschrittene: Ein Netzwerk-Blocker (App Firewall) (TripMode für Mac/Windows oder Little Snitch für Mac, für andere Systeme gibt es sowas sicher auch) - damit kann man einzelnen Programmen die Internetverbindung kappen. Das ist auch hilfreich, um sein Datenvolumen zu schonen.
- Nicht über die Schulter schauen lassen
- Sich das Ding nicht klauen lassen
- Passwörter nicht mit PostIts am Rechner befestigen