Verwaltungssoftware/OpenVPN-Einrichtung unter Linux

Aus Piratenwiki Mirror
Zur Navigation springen Zur Suche springen

Vorlage:NaviboxVerwaltungssoftware

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

Vorlage:Shell

ggf. zusätzlich network-manager-openvpn und network-manager-openvpn-gnome / network-manager-openvpn-kde

Vorlage:Shell

Beispielinstallation unter Linux Mint 16

Vorlage:Shell

Das Paket network-manager-openvpn-gnome erweitert den Netzwerkmanager, in welchem Standardmäßig nur PPTP verfügbar ist, um OpenVPN

Beispielinstallation unter openSuse

Vorlage:Shell

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. Vorlage:Shell


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: Vorlage:Shell 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 Vorlage:Shell 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:

Vorlage:Shell

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

Vorlage:Shell

2. Start der Verbindung mit sudo

Vorlage:Shell

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:

Vorlage:Shell

Falls du dies im Vollbildmodus starten möchtest, so benutze den Parameter "-f":

Vorlage:Shell

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:

Vorlage:Shell


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

Vorlage:Shell

oder

Vorlage:Shell

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: Vorlage:Shell

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:

Vorlage:Shell

oder

Vorlage:Shell

Sollte hier nicht eine entsprechende Route ausgegeben werden, so muss diese manuell hinzugefügt werden:

Vorlage:Shell

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