A Linux killswitch is a must for any serious Linux VPN user. It guards your data against leaking to the internet by preventing anyone from accessing your data even if disconnected from the VPN. It also ensures that all information remains confidential regardless of what happens in between.
Für einen Cyber-Kriminellen ist ein Kill-Switch ein Albtraum. Es ist ein bedeutendes Hindernis, das zwischen ihnen und ihrem Ziel steht. Wenn die Verbindung zu Ihrem VPN auch nur für eine Sekunde abbricht, weil Ihr Computer oder Telefon einfriert, abstürzt oder Sie versehentlich das Kabel trennen – solange Sie einen Kill-Switch aktiviert haben – kann keiner dieser Daten von irgendjemandem abgerufen werden.
Voraussetzungen
Um mitzumachen, benötigen Sie:
- Die Konfigurationsdatei, um sich mit Ihrem VPN-Anbieter zu verbinden. In diesem Artikel wird NordVPN als VPN-Anbieter verwendet.
- A Ubuntu device with the OpenVPN client. The examples will use Ubuntu 20.04 and OpenVPN 2.5.3.
Installation der Uncomplicated Firewall (UFW)
In diesem Tutorial hängt der Linux-Killswitch von der Konfiguration der Firewall ab. Beginnen Sie damit, die Uncomplicated Firewall (UFW) auf Ihrem Gerät zu installieren und die Firewall so einzurichten, dass sie als Kill-Switch fungiert.
Bevor Sie beginnen, stellen Sie sicher, dass Ihre Linux-Distribution auf dem neuesten Stand ist, da Ihre UFW-Firewall sonst möglicherweise nicht wie erwartet funktioniert. Zum Beispiel werden die UFW-Einstellungen möglicherweise nicht beim Start geladen oder eine hinzugefügte/entfernte Regel wird nicht geladen.
1. Führen Sie sudo apt install ufw -y
aus, um die Firewall zu installieren.
Die UFW-Firewall ist standardmäßig auf den meisten Ubuntu-Distributionen installiert, daher haben Sie möglicherweise bereits UFW installiert.
2. Starten Sie den UFW-Dienst mit sudo systemctl start ufw
.
3. Überprüfen Sie, ob die UFW-Installation erfolgreich war. Führen Sie den Befehl sudo systemctl status ufw
aus, und wenn erfolgreich, wird die Ausgabe ein ctive (exited) in grün anzeigen, wie unten zu sehen.

4. Starten Sie UFW mit sudo ufw enable
. Drücken Sie Y und dann Enter, wenn Sie gefragt werden, ob Sie mit der Operation fortfahren möchten (j/n).

Zulassen von Remotezugriffsprotokollen
Jetzt, da die Firewall installiert ist, müssen Sie UFW konfigurieren, um alle Protokolle zuzulassen, die Sie mit dem VPN verwenden möchten.
Beginnen Sie damit, sicherzustellen, dass Sie nicht aus Ihrem Client ausgesperrt sind: Sie müssen sich möglicherweise über SSH anmelden, wenn bei Ihrer OpenVPN-Verbindung etwas schief geht. Wenn die Verbindung abbricht und Sie sich nicht über SSH anmelden können, müssen Sie physisch auf das Gerät zugreifen, um wieder darauf zu gelangen.
1. Erlauben Sie SSH-Verbindungen mit dem Befehl sudo ufw allow ssh
. Die UFW-Firewall liest die Ports und das Protokoll in der Datei /etc/services und öffnet die Ports entsprechend. Sie können die Befehlsausgabe unten überprüfen.

Es wird dringend empfohlen, eine zusätzliche Sicherheitsebene hinzuzufügen, indem Sie Ihre Benutzer auffordern, sich bei der Verbindung über OpenVPN mit einem SSH-Schlüssel zu authentifizieren. Dieses Verfahren schützt vor Brute-Force-Angriffen und unbefugten Verbindungen.
2. Als nächstes müssen Sie Regeln hinzufügen, um das VNC-Protokoll zu ermöglichen, indem Sie den Datenverkehr auf den entsprechenden Ports zulassen.
Was den VNC-Protokoll betrifft, ist es optional. VNC ermöglicht Remotezugriff, ähnlich wie SSH. VNC bietet eine grafische Konsole, während SSH nur eine Textkonsole erlaubt. Erlauben Sie VNC-Verkehr mit dem Befehl sudo ufw allow 5901:5910/tcp
.
Diese Befehle geben eine Ausgabe wie die untenstehende zurück.

3. Sobald Ihre Regeln hinzugefügt sind, stellen Sie sicher, dass sie erfolgreich angewendet werden. Der Befehl sudo ufw show added
listet alle hinzugefügten Regeln auf, wie unten zu sehen ist.

Konfigurieren des VPN Kill Switch
In diesem Abschnitt erfahren Sie, wie Sie den eigentlichen Kill-Switch mit der UFW-Firewall einrichten können. Starten Sie dazu die folgenden zwei Befehle.
sudo ufw default deny outgoing
sudo ufw default deny incoming
Der Befehl ufw default deny
blockiert jeglichen ausgehenden/ eingehenden Datenverkehr von/zu Ihrem Rechner, abgesehen von der explizit erlaubten SSH-Verbindung und den Remote-Protokollen, die Sie in den vorherigen Abschnitten eingerichtet haben. Das Ergebnis der Befehle ist im Screenshot unten zu sehen.

Fügen Sie als nächstes eine Ausnahme zur UFW-Regelset hinzu, damit Ihr Rechner eine Verbindung zum VPN-Server herstellen kann: Sie benötigen Ihre VPN-Serverkonfigurationsdatei. In diesem Tutorial heißt die OpenVPN-Datei ata.ovpn und wurde von der NordVPN-Website heruntergeladen.
Ihre OpenVPN-Konfigurationsdatei kann anders heißen. In diesem Tutorial wird die Namenskonvention „ata“ verwendet, aber benennen Sie sie nach Belieben um!
Weiterhin, schau dir die ata.opvn OpenVPN-Konfigurationsdatei mit dem Befehl sudo head /etc/ata.ovpn
an. Die resultierende Ausgabe enthält Informationen wie Port, Protokoll und IP-Adresse des VPN-Servers, mit NordVPN als Beispiel unten.
Um das richtige UFW-Kommando zu erstellen, beachte die Informationen zum Port, Protokoll und öffentliche IP-Adresse aus der Konfigurationsdatei.

Erstelle dann das ufw allow out
Kommando wie folgt: sudo ufw allow out to 69.28.83.134 port 1194 proto udp
. Wie du siehst, stammen die IP-Adresse und der Port aus der Konfigurationszeile, die mit remote
beginnt, und das Protokoll aus der Zeile, die mit proto
beginnt.
Dieses Beispiel verwendet NordVPN als VPN-Anbieter. Für NordVPN muss der 1194 UDP-Port geöffnet sein. Wenn du beispielsweise Express VPN verwendest, muss der 1195 UDP-Port geöffnet sein, nicht der 1194-Port. Jeder VPN-Anbieter kann einzigartige UDP-Ports haben.
Erstellen einer Firewall-Ausnahme für OpenVPN
Natürlich müssen Sie für eine ordnungsgemäße Benutzung OpenVPN durch die Firewall zulassen. Bisher haben Sie den gesamten eingehenden und ausgehenden Datenverkehr mit Ausnahme einiger Ports blockiert.
Um fortzufahren, müssen Sie den Netzwerk-Schnittstellennamen finden, den der OpenVPN-Client verwendet. Führen Sie den Befehl ifconfig
aus, um alle konfigurierten Netzwerk-Schnittstellennamen aufzulisten, wie unten gezeigt.

Beachten Sie die Netzwerkschnittstelle mit dem Namen tun0 in der resultierenden Liste. Die Schnittstelle tun0 ist die VPN-Schnittstelle, über die der gesamte eingehende und ausgehende Datenverkehr geroutet wird und die Schnittstelle, die Sie zulassen müssen. Es handelt sich um eine virtuelle Schnittstelle, die beim Booten hinzugefügt wird, was einfach bedeutet, dass es sich nicht um eine physische Verbindung handelt. Diese Schnittstelle ist die Standardeinstellung in OpenVPN.
Fügen Sie eine Firewall-Ausnahme für die VPN-Tunnel-Schnittstelle hinzu, die Sie mit ifconfig
gefunden haben, um den gesamten Datenverkehr durch sie zu erzwingen. Andernfalls besteht keine Internetverbindung, und Ihr Notausschalter funktioniert nicht. Führen Sie den folgenden Befehl aus, um eine Ausnahme für OpenVPN-Datenverkehr auf der Schnittstelle tun0
hinzuzufügen.

Einige Anwendungen, wie zum Beispiel der Zugriff auf eine Sprach-Chat-Anwendung während des Spielens, erfordern eingehende Verbindungen über das VPN. Um eingehende Verbindungen zuzulassen, führen Sie den folgenden Befehl aus:

Konfigurieren des OpenVPN-Clients
In diesem letzten Abschnitt konfigurieren Sie den OpenVPN-Client so, dass er als Dienst ausgeführt wird und die zuvor erstellte Konfiguration verwendet.
Starten Sie, indem Sie Ihre Plain-Text-Datei ata.opvn in **(Ihr Dateiname kann variieren) ata.conf umbenennen. Um den OpenVPN-Client als Hintergrundsystemdienst auszuführen, muss die Datei mit der Erweiterung *.conf benannt werden. Zusätzlich verschieben Sie die Datei auch in das Verzeichnis /etc/openvpn.
Verschieben Sie die Konfigurationsdatei mit sudo mv /root/ata.ovpn /etc/openvpn/ata.conf
.

Ändern Sie nun das Verzeichnis in /etc/openvpn und überprüfen Sie, ob die Datei dort vorhanden ist.

Mit der Konfigurationsdatei im Verzeichnis /etc/openvpn starten Sie den OpenVPN-Clientdienst mit dem Befehl systemctl
. Um den Dienst zu starten, führen Sie aus: sudo systemctl start [email protected]
.
Der „ata“-Teil des OpenVPN-Clientnamens stammt aus dem Namen der verwendeten Konfigurationsdatei. Ihr Name kann je nach Dateinamen abweichen.

Um zu überprüfen, ob der OpenVPN-Dienst ausgeführt wird, verwenden Sie den Befehl systemctl status
wie folgt.
Wie unten gezeigt, wird der grüne Status aktiv (läuft) des OpenVPN-Dienstes angezeigt.

Schließlich müssen Sie Ihr Gerät so konfigurieren, dass es automatisch eine Verbindung mit Ihrem VPN-Dienst herstellt. Durch die automatische Verbindung mit dem VPN wird sichergestellt, dass OpenVPN immer ausgeführt wird, auch wenn Sie Ihren Computer neu starten.
Führen Sie den Befehl sudo systemctl enable [email protected]
aus, und von nun an wird, sobald der OpenVPN-Dienst startet, Ihr Gerät automatisch mit dem VPN verbunden.

Abschluss
Dieser Artikel hat Ihnen alle Schritte gezeigt, die erforderlich sind, um einen Linux-Killswitch für Ihre VPN-Verbindung einzurichten. Ein Killswitch unterbricht die Netzwerkverbindung Ihres Computers, wenn die Verbindung unerwartet abbricht, um Datenlecks zu verhindern und Ihre Online-Sicherheit zu gewährleisten.