Privacy Handbuch

OpenVPN hat den Vorteil, dass es unter Linux auf Client Seite sehr einfach zu konfigurieren ist. Die nötige Software ist in Regel standardmäßig installiert oder wird mit einem Befehl nachinstalliert:

Ubuntu: > sudo apt install openvpn network-manager-openvpn-gnome
Fedora: > sudo dnf install openvpn NetworkManager-openvpn-gnome

Die VPN-Provider oder die Administratoren der IT-Abteilung einer Firma können eine Konfigurations­datei zum Download bereit­stellen, die man nur importieren muss. Ein Beispiel für ProtonVPN:

client
proto tcp
port 443

remote-random
remote 37.120.217.162
remote 37.120.217.82
remote 194.126.177.6
remote 89.36.76.130
remote 194.126.177.14

auth-user-pass

dev tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun

comp-lzo no
reneg-sec 0
remote-cert-tls server
pull
fast-io
verb 3

<ca>
-----BEGIN CERTIFICATE-----
MIIFozCCA4ugAwIBAgIBATANBgkqhkiG9w0BAQ0FADBAMQswCQYDVQQGEwJDSDEV
MBMGA1UEChMMUHJvdG9uVlBOIEFHMRowGAYDVQQDExFQcm90b25WUE4gUm9vdCBD
...
-----END CERTIFICATE-----
</ca>
key-direction 1

Das Beispiel zeigt eine OpenVPN Client Konfiguration, die TCP statt UDP verwendet. Es wird ein zufällig ausgewählter Server aus der Liste auf Port 443 (HTTPS) kontaktiert, um problemlos durch alle Firewalls zu kommen. Die Authentifizierung des Nutzers erfolgt mit einer Username/Passwort Kombination ohne Zertifikat. Der Server muss sich mit einem Zertifikat authentifizieren, dass von der CA signiert wurde. Die IP-Adressen der Server kann man per Hand mit den Kommandos "dig" oder "resolvectl" ermitteln, wenn der VPN-Provider nur DNS Namen der Server bereitstellt, beispw.:

> resolvectl query de.protonvpn.com

Üblicherweise überlässt man es dem professionellen Admin der/des Server(s), die Cipher für die Verschlüsselung festzulegen. Unter Umständen möchte man die Cipher aber selbst festlegen, wenn man dem Admin die Kompetenz für eine sichere Konfiguration nicht zutraut oder wenn man zur Verbesserung der Perfomance lieber AES-128 statt AES-256 verwendet (was völlig ausreicht).

Die verfügbaren Cipher kann man sich mit folgendem Kommando anzeigen lassen:

> openvpn --show-ciphers

In der Konfiguration könnte man folgenden Parameter ergänzen (wenn man weiß, was man tut):

# Cipher für die Verschlüsselung der Daten
cipher AES-128-GCM

Unter Linux fügt man ein VPN im NetworkManager hinzu, der auch LAN- und WLAN-Verbindungen verwaltet. Nachdem man die OpenVPN Konfiguration herunter geladen und evtl. etwas angepasst hat, wählt man "VPN hinzufügen" und die Variante "Aus Datei importieren…":

Im folgenden Dialog muss man dem VPN einen Namen für die Anzeige geben und die Login Credentials für die Anmeldung am VPN-Server angeben: Bei der Speicherung des Passworts für die Anmeldung gibt es mehrere Möglichkeiten:
Man kann das VPN mit einem Klick aktivieren, sobald man mit einem Netzwerk verbunden ist:

OpenVPN immer automatisch in einem WLAN starten

In den Einstellungen für ein (WLAN) Netzwerk kann man festlegen, dass immer ein bestimmtes VPN automatisch gestartet werden soll, wenn man sich mit diesem Netzwerk verbindet: HINWEIS: in den Netzwerkeinstellungen im GNOME Kontrollzentrum ist diese Option nicht vorhanden. Wenn die Linux Distribution das GNOME Kontroll­zentrum zur Konfiguration der Netzwerke bevorzugt, muss man den Editor des NetworkManagers im Terminal aufrufen: > nm-connection-editor

DNS- und IPv6 Leaks vermeiden

Wenn man den gesamten Traffic zu einem VPN-Provider schicken möchte, sollte man die Hinweise zu IPv6 und DNS Leaks beachten und evtl. eine passende Firewall Konfiguration aktivieren.