Leitfaden zur Konfiguration der XOR-Obfuskation für das OpenVPN-Protokoll auf einem SoftEther VPN-Server
SoftEther ist eine vielseitige VPN-Lösung, die mehrere Protokolle unterstützt, darunter OpenVPN, WireGuard, L2TP/IPsec, SSTP und mehr. In diesem Leitfaden konzentrieren wir uns darauf, OpenVPN mit XOR-Obfuskation auf einem SoftEther VPN-Server einzurichten, wobei wir das Tool vpncmd
verwenden. Dies ist derzeit die einzige Möglichkeit, auf XOR-spezifische Einstellungen zuzugreifen.
Hinweis: Dieser Leitfaden setzt voraus, dass Sie bereits einen funktionierenden SoftEther VPN-Server im Standalone-Modus eingerichtet haben (mit mindestens einem virtuellen Hub und einem Benutzer) und mit grundlegenden Linux-Kommandozeilenoperationen vertraut sind.
Was ist XOR-Obfuskation?
XOR-Obfuskation wendet eine bitweise XOR-Operation auf Netzwerkkpakete an, basierend auf einer vordefinierten Maske oder einem Schlüssel. Zwar erhöht sie die Sicherheit nicht im gleichen Ausmaß wie eine echte kryptografische Verschlüsselung, aber sie hilft dabei, die typischen Erkennungsmuster von OpenVPN-Datenverkehr vor DPI-Systemen zu verbergen. Wenn Ihr lokales Netzwerk oder Ihr ISP aktiv Standard-VPN-Verbindungen blockiert oder drosselt, kann Ihnen die XOR-Obfuskation dabei helfen, diese Beschränkungen zu umgehen.
Anders ausgedrückt fungiert die XOR-Obfuskation als eine einfache Tarnung für Ihre Daten. Ähnlich wie ein Grundcode, der Teile einer Nachricht neu anordnet, verändert sie die Daten in einer rückgängig zu machenden Weise mithilfe eines festen Schlüssels. Dieser Vorgang sichert die Daten nicht wie eine starke Verschlüsselung, aber er maskiert die typischen Muster, nach denen Überwachungssysteme suchen, und lässt den Datenverkehr weniger wie typischen VPN-Verkehr aussehen.
Um XOR-Obfuskation mit OpenVPN zu verwenden, müssen sowohl der Server als auch der OpenVPN-Client konfiguriert (und in manchen Fällen gepatcht) sein, damit sie diese Funktion unterstützen. Unter macOS beispielsweise kann Tunnelblick verwendet werden, da es XOR-Obfuskation von Haus aus unterstützt.
Schritt 1: Erstellen einer Obfuskationsmaske
Die XOR-Obfuskationsmaske (manchmal auch Schlüssel oder Passwort genannt) ist eine Zeichenkette, mit der die bitweise XOR-Operation auf Ihre VPN-Pakete angewendet wird. Es kann sich dabei um eine beliebige zufällige oder sogar wortbasierte Zeichenkette handeln, aber für eine bessere Verschleierung ist eine lange und komplexe Zufallszeichenkette zu empfehlen. Sie können beispielsweise einen Token-Generator verwenden, um einen langen und zufälligen Schlüssel zu erstellen.
Wichtig: Die XOR-Obfuskationsmaske muss sowohl auf dem SoftEther VPN-Server als auch auf jedem OpenVPN-Client, der diese Funktion nutzen soll, übereinstimmen.
Schritt 2: Aktivieren und Konfigurieren der OpenVPN-XOR-Einstellungen in SoftEther
Bevor Sie die XOR-Obfuskation für OpenVPN einrichten, stellen Sie sicher, dass Sie Administratorrechte auf dem VPN-Server besitzen. Starten Sie zunächst das Dienstprogramm vpncmd
, wählen Sie Option #1 und melden Sie sich als Administrator an:
./vpncmd
Nach der Anmeldung verwenden Sie ProtoOptionsSet
, um die Parameter für das OpenVPN-Protokoll zu konfigurieren. Unten finden Sie eine Reihe von Befehlen, um die XOR-Obfuskation zu aktivieren, die Obfuskationsmaske festzulegen und grundlegende OpenVPN-Parameter einzustellen. Führen Sie die folgenden Befehle nacheinander aus:
ProtoOptionsSet openvpn /NAME=Enabled /VALUE=true
ProtoOptionsSet openvpn /NAME=Obfuscation /VALUE=true
# Ersetzen Sie 'YourObfuscationMask' durch Ihren generierten Zufallsstring
ProtoOptionsSet openvpn /NAME=ObfuscationMask /VALUE="YourObfuscationMask"
# Prüfen Sie, ob Ihr Server bereits TCP-Listener nutzt, die eine Verbindung ermöglichen
ListenerList
# Falls die Liste leer ist, erstellen Sie einen TCP-Listener auf einem gewünschten Port (z.B. 443)
ListenerCreate 443
# Oder falls bereits einer existiert, stellen Sie sicher, dass er aktiviert ist und den Status "Listening" hat:
ListenerEnable 443
Schritt 3: Erstellen einer XOR-obfuskierten OpenVPN-Client-Konfiguration
Nun ist es an der Zeit, eine OpenVPN-Konfiguration für Ihre Client-Anwendung zu erstellen. Im Folgenden finden Sie eine Beispiel-Clientkonfiguration für OpenVPN. Kopieren Sie diese in Ihre Client-Umgebung (z.B. als client.ovpn
) und passen Sie sie an Ihre Bedürfnisse an.
Wichtig: Stellen Sie sicher, dass Ihre Client-Software (z.B. Tunnelblick) die Direktive scramble obfuscate
sowie die XOR-Obfuskation unterstützt. Nachfolgend einige Beispiele für XOR-kompatible OpenVPN-Clients:
Eine Beispielkonfiguration für OpenVPN, die XOR-Obfuskation zur Verbindung mit Ihrem SoftEther VPN-Server nutzt, könnte folgendermaßen aussehen:
dev tun
proto tcp
remote 111.112.113.114 443
cipher AES-256-GCM
auth SHA384
nobind
client
verb 3
auth-user-pass
# Die entscheidende Zeile, die XOR-basierte Obfuskation auf Client-Seite aktiviert.
# Die Maske muss derjenigen entsprechen, die Sie auf dem SoftEther-Server
# mit dem Befehl ProtoOptionsSet konfiguriert haben.
scramble obfuscate 1e8aee72s63f49fjf910skj14d3d0defd40f91y2ehdkfa04cb1
<ca>
-----BEGIN CERTIFICATE-----
EludGVybmV0IFNlY3VyaXR5IFJlc2Vh...........
CgdNbOhdjsnvzqvHu7Ur/+jh5Xos1AnX5iItreGCc=
-----END CERTIFICATE-----
</ca>
Erläuterung wichtiger Zeilen:
Wichtig: Achten Sie darauf, dass Ihre VPN-Konfiguration exakt zu den Servereinstellungen passt. Falls Sie unsicher sind, können Sie mit dem folgenden Befehl eine Standard-OpenVPN-Konfiguration generieren (die Sie dann um Ihre scramble obfuscate
-Zeile ergänzen können):
OpenVpnMakeConfig
Fügen Sie die Zeile scramble obfuscate
in die generierte Datei ein, um XOR-Obfuskation zu aktivieren.
Fertig!
Durch das Aktivieren der XOR-Obfuskation auf Ihrem SoftEther VPN-Server und das entsprechende Einfügen der Anweisung scramble obfuscate
in den OpenVPN-Client können Sie den OpenVPN-Datenverkehr tarnen. Dies kann helfen, eine Blockierung oder Drosselung durch DPI-basierte Filtermechanismen zu umgehen. Beachten Sie, dass XOR-Obfuskation keinen Ersatz für starke Verschlüsselung darstellt; sie verdeckt lediglich die charakteristischen Merkmale von OpenVPN-Paketen.
Sollten Sie auf Verbindungsprobleme stoßen, achten Sie darauf, dass:
Wenn alle Parameter korrekt eingestellt sind, sollte Ihr OpenVPN-Tunnel erfolgreich mithilfe der XOR-Obfuskation verbunden sein und so einfache Traffic-Filtermechanismen umgehen können.