Verwaltungssoftware/OpenVPN-Einrichtung unter Linux

Aus Piratenwiki
Wechseln zu: Navigation, Suche

Verwaltungssoftware


Berechtigungen

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.

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