Unbekannte OVPN-Dateien: lokales Risiko und Vertrauen aus der Ferne
Ein Profil kann den Client auf Ihrem Rechner beeinflussen und den Betreiber wählen, der Ihren Datenverkehr sieht. Prüfen Sie beide Entscheidungen, bevor Sie die Datei importieren.
Behandeln Sie eine OVPN-Datei als Eingabe für ein Programm, nicht als Bescheinigung, dass ihr Inhalt harmlos ist. Die Serveradresse zu prüfen beantwortet nur, wohin das Profil verbinden will, und sonst nichts. In dieser Datei stecken zwei getrennte Vertrauensentscheidungen: was der Client auf Ihrem Rechner tun darf und welcher Betreiber den Datenverkehr erhält. Ein vertrauter Protokollname entscheidet keine von beiden.
Zwei Entscheidungen verstecken sich in einer Datei
Die erste Entscheidung ist lokal. Das Profil ist eine Konfigurationssprache, und der Client, der sie liest, unterstützt möglicherweise Direktiven, die ein Plug-in laden, ein Skript ausführen oder ändern, wie Routing und DNS angewendet werden. Die zweite Entscheidung ist entfernt. Was auch immer die Datei enthält, der Ausgangsbetreiber sieht den Datenverkehr, der ihn erreicht.
Die beiden zu verwechseln führt in beide Richtungen zu schlechtem Rat: ein sauber wirkendes Profil von einem unbekannten Betreiber oder das Profil eines bekannten Betreibers mit einem Haken, den niemand gelesen hat. Ein lokal sicheres Profil kann Ihren Datenverkehr trotzdem jemandem übergeben, den Sie nicht wählen würden.
Lesen Sie das Profil, bevor es ein Client tut
Lesen Sie die Datei als Text, bevor ein Client sie verarbeitet. Suchen Sie nach Direktiven, die aus der Datei hinauszeigen, ausführbare Programme referenzieren oder Rechte ändern, und vergleichen Sie diese Liste mit der dokumentierten Unterstützung des Clients. Eine kurze Suche ist keine Sicherheitsprüfung, aber sie sagt Ihnen, ob das Profil eine Serverliste oder mehr ist.
grep -nE '^(script-security|up|down|plugin|route-up|ipchange)' untrusted.ovpn
Ein leeres Ergebnis ist beruhigend und nicht schlüssig, weil Optionen sich gegenseitig beeinflussen oder aus einer eingebundenen Datei stammen können. Betrachten Sie die gefilterte Liste als Grund, weiterzulesen, nicht als Urteil.
Die Anweisungen, die mit dem Profil kommen, verdienen dieselbe Prüfung wie das Profil. Vier Aufforderungen sollten Sie stoppen: Skripte aktivieren, einen Helfer oder eine Bibliothek installieren, den Client als Administrator ausführen oder eine Importbeschränkung abschwächen. Jede verschiebt die Vertrauensgrenze nach außen, und keine gehört zum normalen Import einer Serverliste.
Lesen Sie die ganze Datei auch einmal am Stück, denn eine einzelne unbekannte Zeile lässt sich im Zusammenhang leichter beurteilen als in einer gefilterten Liste. Ist eine Zeile unbekannt, schlagen Sie sie im Handbuch Ihres Clients nach, statt zu raten.
Was der Client tatsächlich ausführt
Das Handbuch zu 2.6 von Community OpenVPN dokumentiert die script-security-Stufen: Stufe 1 ist die Voreinstellung und blockiert benutzerdefinierte Skripte, während Stufe 2 sie erlaubt. Das Laden von Plug-ins ist eine eigene Einrichtung mit eigener Direktive. Deshalb kann dieselbe Datei in verschiedenen Clients Unterschiedliches bedeuten. Mobile und Herstellerclients akzeptieren möglicherweise einen engeren Satz von Direktiven oder gar keinen der Haken.
Die Startmethode zählt ebenso viel wie der Client. Ein Profil, das ein privilegierter Helfer startet, kann mehr als eines, das im Benutzerbereich startet, und dieser Unterschied ist ein Grund, die Importaufforderung zu lesen, statt sie wegzuwischen.
Auch die Version zählt, denn diese Stufen werden pro Release definiert, und ein Client mehrere Versionen zurück setzt vielleicht nicht dieselbe Richtlinie um. Lesen Sie das Handbuch, das zum Build passt, den Sie ausführen, nicht das neueste, das Sie finden. Wenn der Client nirgends eine Versionszeichenfolge anzeigt, ist das schon ein Grund, langsamer zu werden.
Vergleichen Sie den Betreiber, nicht nur die Adresse
Vergleichen Sie Betreiber so, wie Sie jeden anderen Vermittler vergleichen. Fragen Sie, wer den Ausgang betreibt, was protokolliert wird und wie das Profil zu Ihnen kam. Eine geprüfte Downloadseite und ein passender Fingerabdruck sagen mehr als ein vertrauter Hostname. Ein erreichbarer Server beweist nur, dass etwas geantwortet hat.
Zugangsdaten sind der Teil, den Menschen unter Druck falsch machen. Tippen Sie kein fremdes Kontopasswort in ein heruntergeladenes Profil, weil der Servername vertraut aussieht. Ein Profil kann auch einen privaten Schlüssel im Klartext enthalten, wer die ganze Datei in einen Prüfthread stellt, übergibt diesen Schlüssel dem Thread.
Eine ordentlich validierte HTTPS-Sitzung verbirgt Seiteninhalte weiterhin vor jedem, der nur Pakete weiterleitet, sodass der Ausgang nicht automatisch jedes Passwort sieht. Er sieht aber, welche Seiten Sie erreichen, und diese Grenze sollte man genau benennen statt zu übertreiben.
Wo die Herkunft der Datei unklar bleibt oder ein verlangtes Recht keine Erklärung hat, die Sie akzeptieren können, ersetzen Sie das Profil durch eines aus einer Quelle, die zur Verantwortung gezogen werden kann. In einer verwalteten Arbeitsverbindung sollte der Administrator Client und Konfiguration als eine Entscheidung genehmigen, nicht als zwei. Nichts hier verlangt, dass Sie zuerst Böswilligkeit beweisen; den Zugriff abzulehnen ist eine legitime Antwort.