Verwaltungssoftware/OpenVPN-Einrichtung unter Linux
Beitragsaufteilung
Gliederungen
Information
CRM-Dokumentation
VPN
• VPN unter Linux
• VPN unter Windows
• VPN unter macOS
Der OpenVPN-Zugang kann unter Linux-Distributionen sehr schnell eingerichtet werden.
Inhaltsverzeichnis
Datenschutz / Datensicherheit
Generell muss man sich vor dem Einrichten des Zugangs Gedanken machen, dass keine unbefugte Person Zugriff auf die Mitgliederverwaltung erhält. Dies fängt damit an, wo die Keys liegen und endet damit, auf welchen Rechnern man den Zugang einrichtet.
Du solltest dir vor allem Gedanken machen, ob es sinnvoll ist, von unterwegs auf die Mitgliederverwaltung zuzugreifen oder ob du dies nur von einem Rechner von zu Hause aus machst. Und wie ist dein System gesichert? Benutzt du beispielsweise eine Verschlüsselung, die dein root- oder home-Verzeichnis sichert? Wenn nein: Dann erstelle wenigstens einen verschlüsselten Ordner (Truecrypt oder ähnliches), wo du die Dateien ablegst. Wenn du letztere Methode verwendest, so ist es auch nicht gerade sicher, wenn du die OpenVPN Einstellungen beim Network Manager hinterlegt hast.
Bitte mach dir dazu genügend Gedanken. Hinweise werden beispielsweise in der DSV-Schulung des Datenschutzbeauftragten gegeben.
Vorraussetzungen / Installation
Pakete
Es sind folgende Pakete notwendig:
- openvpn
- falls der Network Manager verwendet werden soll, ist noch das NetworkManager OpenVPN-Plugin notwendig
- Ein RDP-Client (z.B. rdesktop, Remmina, tsclient, xrdp. gnome-rdp) für den Remotedesktop-Zugang.
Beispielinstallation unter Debian/Ubuntu
sudo apt-get install openvpn rdesktop
ggf. zusätzlich network-manager-openvpn und network-manager-openvpn-gnome / network-manager-openvpn-kde
sudo apt-get install openvpn freerdp-x11 remmina
Beispielinstallation unter Linux Mint 16
sudo apt-get install openvpn rdesktop network-manager-openvpn-gnome
Das Paket network-manager-openvpn-gnome erweitert den Netzwerkmanager, in welchem Standardmäßig nur PPTP verfügbar ist, um OpenVPN
Beispielinstallation unter openSuse
sudo zypper in openvpn rdesktop
ggf. zusätzlich NetworkManager-openvpn bzw. knetworkmanager-openvpn-kde3
Daten der Bundes-IT
Man erhält von der Bundes-IT ein paar Dateien, die in einem persönlichen Ordner abgelegt werden müssen. (z.B. /home/ICH/sage_ovpn/). Sicherer wäre es, diesen Ordner in einem TrueCrypt-Container abzulegen.
- MeinName.ovpn
- MeinName.crt
- MeinName.key
- ca-piraten.crt
Passwort des MeinName.key
Das Passwort für den Keyschlüssel wurde Euch von der BundesIT mitgeteilt. Das könnt Ihr ändern mit
Lokales Key-Passwort ändern:
openssl rsa -des3 -in MeinName.key -out newkey.key
Achtung: Falls dein Passwort kompromittiert wurde und jemand Zugriff auf die .key-Datei hatte muss der aktuelle Schlüssel ungültig gemacht und ein neuer erstellt werden. Gib in so einem Fall umgehend Andi bescheid.
In MeinName.ovpn muss der Wert
key MeinName.key
enstprechend angepasst werden, oder man kopiert den newkey.key nach MeinName.key (Backup machen, damit falls was schief gelaufen ist, das Orginal noch da ist)
Start der Verbindung (Gnome-Network-Manager-Variante)
Einfach die nötigen Pakete installieren (siehe oben). Dann als Benutzer den Connection Editor vom Network Manager starten:
nm-connection-editor
Dort auf den Tab "VPN" gehen, dann auf "Importieren" und die "MeinName.ovpn" wählen.
Im nächsten Fenster bei "Passwort für privaten Schlüssel" das Passwort eintragen, welches ebenfalls im Archiv war (PW_fuer_VPN.txt).
Das war es schon. Wenn du nicht den ganzen Traffic über den OpenVPN Server leiten willst (was ratsam ist), dann geh auf den Tab "IPv4-Einstellungen". Dort dann auf den Button "Routen..." und schließlich den Haken bei "Diese Verbindung nur für Ressourcen dieses Netzwerks verwenden" setzen. Oder man setzt den Hacken da drüber und muss dann die IP zum Sage Server noch eintragen (inklusive Gateway etc).
Am besten vor dem Speichern den Haken bei "Für alle Benutzer verfügbar" rausnehmen. Wir wollen ja nicht, dass andere Benutzer auf deinem Rechner auf die VPN-Verbindung zugreifen können. ;)
Zum Verbinden nun einfach beim Network Manager Applet die Openvpn Verbindung auswählen und verbinden lassen bzw am Ende die "VPN-Verbindungen" deaktivieren.
Wenn du verbunden bist, dann brauchst du nur noch den RDP Client starten.
Start der Verbindung (Bash-Variante)
1. Wechsel in den Ordner mit den eigenen Zertifikaten
cd /home/ich/sage_ovpn/
2. Start der Verbindung mit sudo
sudo openvpn MeinName.ovpn
Wenn "...Initialization Sequence Completed" erscheint, wurde die Verbindung hergestellt. Jetzt musst du nur noch den RDP Client starten.
RDP starten
RDP ist NUR für die OfficeLine notwendig. Für den Zugriff auf das PRM reicht die VPN-Verbindung und der Aufruf der PRM-Adresse im lokalen Browser!
Nachdem die VPN-Verbindung aufgebaut wurde, kann der RemoteDesktop gestartet werden. Solltest du openvpn in der Konsole benutzen, starte eine neue Konsole oder benutze einen Programm mit grafischer Oberfläche.
Beispiel: Remmina
Remmina ist eine komfortable GUI, die alle Einstellungen ermöglicht.
Achtung: Bei einigen Remmina Versionen kann es zu Problemen kommen (die unter Ubuntu funktioniert normalerweise). Falls es bei dir nicht funktioniert, probiere erst einmal einen alternativen Client wie rdesktop aus (siehe unten) bevor du um Hilfe fragst.
Bei Bedarf können Drucker und Festplattenfreigaben erstellt und bearbeitet werden.
Beispiel: rdesktop
Starte in der Konsole folgenden Befehl und logg dich anschließend im System ein:
rdesktop 172.16.11.2
Falls du dies im Vollbildmodus starten möchtest, so benutze den Parameter "-f":
rdesktop -f 172.16.11.2
Um wieder zu einem anderen Fenster zu wechseln, ohne dich abmelden zu müssen, benutze die Tastenkombination STRG+ALT+ENTER.
Weitere sinnvolle Parameter:
Windows Benutzer mitangeben:
-u "PIRATENPARTEI\Benutzer 42"
Windows Passwort mitangeben:
-p meinpasswort
Da das Passwort dann in der Shell-History gespeichert wird, ist dies nicht ratsam. Benutze lieber folgenden Parameteraufruf, sodass rdesktop im Standard-Input nach deinem Passwort fragt:
-p -
Shared Folder (ein Verzeichnis, dass du mit dem Remote Windows teilst (z.B. um die XLS-Exporte auf deinen lokalen Rechner zu bekommen):
-r disk:shared=/home/ich/sage_ovpn/sharedfolder
Den Pfad kannst du gerne ändern (/home/ich/sage_ovpn/sharedfolder) - der Ordner sollte von dir aber bereits angelegt sein (mkdir /home/ich/sage_ovpn/sharedfolder). Das "shared" hinter dem Doppelpunkt ist der Name des Laufwerks unter dem Remote Windows.
Bei mir sieht die Zeile am Ende so aus:
rdesktop -f -r disk:shared=/home/ich/sage_ovpn/sharedfolder -u "PIRATENPARTEI\Benutzer 42" 172.16.11.2 -p -
TIPP:
Im Fullscreen Modus kann es nervig sein, wenn man Online-Mitgliedsanträge abarbeiten will und ständig den Fullscreen Modus verlassen muss (außer man druckt alles aus und tippt es ab). Aus diesem Grund benutze ich zusätzlichfolgende Parameter:
-D -g workarea
Der Parameter "-g workarea" bewirkt, dass das Fenster nur so groß, so dass eventuelle obere oder untere Leisten noch sichtbar bleiben. Hier stört aber die Titelleiste, die man mit dem Parameter "-D" entfernen kann. Unter GNOME 3 funktioniert dies wunderbar (zum Fensterwechseln einfach die Maus in den Hot Corner von GNOME 3 oben Links). Bei anderen Fenstermanagern kann es anders aussehen. Da hilft nur testen.
Stattdessen könnte es auch helfen, wenn man den Parameter "-K" übergibt. Dieser unterbindet es, dass Windows die Tastatur Bindings überschreibt. So kann man weiterhin Alt-Tab nutzen um zwischen den lokalen Fenstern zu wechseln. Dies habe ich aber noch nicht ausgiebig getestet.
Weitere Parameter sind auf der Manpage beschrieben
man 1 rdesktop
Beispiel: xfreerdp
xfreerdp --no-nla -u "piratenpartei\Gen Gliederung Bla" -p Passwort -d "" 172.16.11.2
oder
xfreerdp --no-nla --from-stdin 172.16.11.2
man 1 xfreerdp
FAQ / Problemlösungen
Es kann keine Verbindung zum VPN hergestellt werden
Bitte überprüft die folgenden Pfade in .ovpn-Datei überprüft und evtl. angepasst werden:
ca /home/ich/sage_ovpn/ca-piraten.crt
cert /home/ich/sage_ovpn/MeinName.crt
key /home/ich/sage_ovpn/MeinName.key
Die VPN Verbindung steht (...Initialization Sequence Completed), aber ich kann keine Verbindung über RDP herstellen
Bitte überprüfe, ob eine Route zur entsprechenden IP Adresse (172.16.11.2) eingerichtet wurde:
sudo /sbin/route
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface ** 172.16.11.2 172.17.0.69 255.255.255.255 UGH 0 0 0 tun0 ** 172.17.0.69 * 255.255.255.255 UH 0 0 0 tun0 **
oder
sudo /sbin/route
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface ** 172.17.11.2 * 255.255.255.255 UH 0 0 0 tun0 **
Sollte hier nicht eine entsprechende Route ausgegeben werden, so muss diese manuell hinzugefügt werden:
sudo route add 172.16.11.2 dev tun0
tun0 ist das Interface des VPN und kann von Distribution zu Distribution verschieden sein.
Beispiel eines startvpnscriptes:
CONFIGDIR="/home/NAME/MeinName" NAME="MeinName" CONFIG="/home/NAME/.remmina/ts01.remmina" sudo -A /usr/sbin/openvpn --cd $CONFIGDIR --log openvpn.log --config $NAME.ovpn --askpass PW_fuer_VPN.txt --daemon; remmina -c $CONFIG
ts01.remmina
[remmina] disableclipboard=0 ssh_auth=0 clientname= quality=1 ssh_charset= ssh_privatekey= console=0 resolution= group= password= name=ts01 ssh_loopback=0 shareprinter=1 ssh_username= ssh_server= security=rdp protocol=RDP execpath= sound=off exec= ssh_enabled=0 username=piratenpartei\\Gliederung Bla Blub sharefolder=/irgendeinverzeichnisaufderfestplatte domain= server=ts01 colordepth=8 viewmode=1 window_maximize=1 window_height=1120 window_width=1290