Archiv der Kategorie: Workaround Tutorials

Usability and Addons Integration unblog Technical Workarounds and Tutorials for Professionals

OpenVPN Client Installation

Die OpenVPN Installation auf Windows, macOS und Linux

VPN (Virtual Privat Network) erfreut sich einer immer breiteren Nutzung. OpenVPN ist eine freie Anwendung zum Aufbau eines Virtuellen Privaten Netzwerkes über eine verschlüsselte TLS-Verbindung. Der vermehrt beliebte OpenVPN Client ermöglicht VPN Verbindungen, um beispielsweise bei arbeiten im Home-Office, oder mit einer Privat Cloud von überall auf seine Daten zugreifen zu können. In diesem Beitrag wird die Client Bereitstellung und der Einsatz von OpenVPN gezeigt. OpenVPN ist kostenlos für zahlreiche Betriebssysteme verfügbar, neben Windows gibt es ein Client für macOS, wowie für iOS, Linux und Android Geräte.

So wird’s gemacht

Inhalt

OpenVPN Client Windows Installation

OpenVPN für Windows kann von der Community Webseite hier heruntergeladen werden, bei Windows 10 wird mit Doppelklick auf OpenVPN-2.5.0-I601-amd64.msi das Setup gestartet.

OpenVPN Setup choose Customize Installation

Mit Customize geht es durch den Setup-Assistenten für die angepasste Installation, da wir nur die Client Komponenten benötigen, selektieren wir die Auswahl.

OpenVPN Setup Feature Selection

Mit Install Now und anschliessendem klick auf OK bei der Windows Kontensteuerung die Installation starten.

Der komplette OpenVPN Setup Ablauf wie folgt.

OpenVPN für Windows Setup

Mit Close den Setup-Assistent abschliessen und OpenVPN starten.

OpenVPN Logo

OpenVPN starten

openvpn_systry

Ein Blick in die Taskleiste zeigt nun das OpenVPN Symbol openvpn symbol

OVPN Datei beim Client importieren

Der OpenVPN Access Server gibt es für Windows, Linux und FreeBSD, dazu gibt es in zunehmender Anzahl Geräte die als OpenVPN Server genutzt werden, wie solche auf pfSense und OPNsense oder OpenWrt, von kommerziellen Hersteller wie Sophos vormals Astaro oder Synology NAS und weitere mehr.

Die zuvor beim VPN Server oder Router exportierte Datei mit der Konfiguration für den Client, wie beispielsweise openvpn.zip wird entpackt, es werden für gewöhnlich die Dateien ca.crt, README.txt und VPNConfig.ovpn extrahiert.

  Die Konfigurationsdatei hier in diesem Beispiel VPNConfig.ovpn kann ein anderen Dateiname haben.

Die Datei VPNConfig.ovpn muss in der Regel editiert werden, dazu öffnet man diese in Notepad und ändert bei YOUR_SERVER_IP mit der Public IP Adresse des VPN Routers, oder der Firewall auf dieser das NAT mapping zum VPN terminierenden Gateway ist.

OpenVPN Verbindung ovpn-Datei editieren

Nach speichern von VPNConfig.ovpn wird die Konfiguration importiert.

Mit Rechtsklick über dem Icon im Systemtry öffnet sich das Kontextmenü, aus diesem man Datei importieren wählt.

OpenVPN Verbindung ovpn-Datei importieren
Abbildung: OpenVPN Verbindung importieren
Wenn man die Datei VPNConfig.ovpn umbenennt zB. Office-Arbon.ovpn, erscheint im Kontextmenü Verbinden der entsprechende Name als Ziel.

Tip! Wenn man die Datei VPNConfig.ovpn umbenennt zB. Home-Office.ovpn, erscheint im Kontextmenü Verbinden der entsprechende Name als Ziel.

Mit Verbinden aus dem Kontextmenü wird man zur Eingabe von Benutzer und Passwort aufgefordert, es ist dies der Benutzer auf dem VPN Router, oder bei verwendung der LDAP authentifizierung die des Servers. Mit einer Zertifikat Ausstellung für die Verbindung, ist ein Benutzer Login auth-user-pass nicht erforderlich, anstelle kommt remote-cert-tls server zum Einsatz.

OpenVPN Verbindung und Benutzer Anmeldung
Abbildung: OpenVPN Verbindung

Bei erfolgreicher Verbindung erscheint das OpenVPN Symbol grün.

OpenVPN Connect macOS Installation

OpenVPN Connect v3 Client für macOS ist ein vollständiges Installationsprogramm für macOS, nach der Installation kann die ovpn-Datei importiert werden, für eine OpenVPN Connect Verbindung zu einem Access Server. Wenn das heruntergeladene OpenVPN Connect v3 for macOS hier auf einem Mac installiert wird, auf dem OpenVPN Connect v3 bereits installiert und konfiguriert ist, wird auf die neue Version aktualisiert, wobei alle Einstellungen beibehalten werden.

OpenVPN Connect Installer for macOS Catalina
OpenVPN Connect for macOS in Dock
OpenVPN Connect v3 for macOS Installation
Die OVPN-Datei importieren bei macOS Catalina.

OpenVPN Client Linux Installation

Mit der Standard Installation ist OpenVPN in der Regel zusammen mit den Netzwerk-Verbindungstools bereits installiert, in diesem Fall kann man direkt zu OVPN-Konfigurationsdatei importieren gehen. Am einfachsten ist der OpenVPN Client unter Verwendung der Standard Repository bereitzustellen, bei Red Hat basierten Linux Distribution wie Fedora oder CentOS, werden hierfür die folgenden Befehle als root ausgeführt:

Den OpenVPN Client bei Debian und Ubuntu basierten Distributionen wie folgt installieren:

Ausführen des OpenVPN-Clients mit der von VPN Router heruntergeladenen Konfigurationsdatei-ovpn, unter verwendung des Argument -config, um die Konfigurationsdatei zu übergeben:

  Die Konfigurationsdatei in diesem Beispiel VPNConfig.ovpn kann ein anderen Dateiname haben. Wenn man die Datei VPNConfig.ovpn umbenennt zB. Office-Bern.ovpn, erscheint im Kontextmenü Verbinden der entsprechende Name als Ziel.

Ebenfalls kann die Verbindung über ein GUI Client hergestellt werden, hierzu das OpenVPN GUI aus der Shell installieren:

OVPN-Konfigurationsdatei importieren

Nun kann durch ein Klick auf das Netzwerksymbol – VPN Verbindungen – VPN konfigurieren der Verbindungsmanager aufgerufen werden.

OpenVPN Linux und Ubuntu Network Manager
Abbildung: OpenVPN GUI Ubuntu

Mit einem Klick auf HinzufügenGespeicherte VPN-Konfiguration importieren – Erstellt man eine neue VPN Verbindung. Im nächsten Schritt importieren wir die zuvor heruntergeladene Konfigurationsdatei VPNConfig.ovpn. Die Verbindung kann nun aus der Taskleiste gestartet werden.

Bei Linux Mint mit Cinnamon desktop klickt man in der Taskleiste auf das Netzwerk Icon und geht auf Netzwerkeinstellungen.

Linux Mint Cinnamon Connection
Cinnamon Fenster Netzwerkverbindungen

Auf + klicken um eine neue Netzwerkverbindung zu erstellen.

Linux Mint Gespeicherte VPN-Konfiguration importieren

Gespeicherte VPN-Konfiguration importieren aus der Datei VPNConfig.ovpn. Nach eingabe von Benutzer und Passwort kann die gespeicherte Verbindung in der Taskleiste gestartet werden.

ovpn-Datei importieren bei Linux Mint
Die OVPN-Datei importieren über den Network Manger von Linux Mint Cinnamon Desktop.

FortiClient VPN Post Login Script

FortiClient SSL VPN aus CLI und Scripts ausführen

Dieser Artikel beschreibt die Verwendung des FortiClient SSL VPN über die Windows Befehlszeile, und der Anwendung aus Batch-Scripts. Der zur FortiGate gehörende FortiClient ist zu jedem gängigen Betriebssystem verfügbar, und kann aus dem Fortinet Support Bereich heruntergeladen werden. Zu dem hier verwendeten FortiClient 6.4.2.1580 für Windows, kommen zusätzlich die FortiClientTools 6.0.9.0277 zum Einsatz.

FortiClient VPN
FortiClient VPN

Nachdem der FortiClient Installiert ist, lässt man die VPN Konfiguration leer. Nun werden die FortiClientTools in ein Verzeichnis entpackt, von Interesse ist der Ordner Inhalt von SSLVPNcmdline, hier die Datei FortiSSLVPNclient.exe zu finden ist, dazu die Microsoft Visual C++ Redistributable mfc140.dll, msvcp140.dll, vcruntime140.dll Laufzeitkomponenten.

Inhalt von SSLVPNcmdline FortiClientTools_6.0.9.0277.zip.

Ausführen von FortiSSLVPNclient.exe öffnet das GUI.

FirtiClientTools
FortiClient SSLVPN

Wir entscheiden uns das unter Settings gespeicherte VPN Verbindungsprofil nicht zu nutzen, stattdessen wird die Verbindung aus dem CLI mit Parameter Übergabe ausgeführt.

Es bietet sich nun an, die VPN Verbindung mit Anmeldung und Netzlaufwerk mapping aus dem Script zu starten, die folgende Batchdatei soll dies ermöglichen.

Mit connect -h wird zum VPN Gateway verbunden, mit der IP Adresse und durch Doppelpunkt getrennt die Portnummer. Der Benutzer -u der sich beim Gateway anmelden soll und dem Passwort nach dem Doppelpunkt. Mit timeout wird 10 Sekunden gewartet, damit die VPN Verbindung steht, bevor das Netzlaufwerk gemappt wird, mglicherweise kann der Wert verkleinert werden, oder er muss erhöht werden.

In der Taskleiste das Symbol, über diesem mit Rechtsklick sich das Kontextmenü öffnet.

Die VPN Verbindung wird getrennt mit folgendem Script.

FortiSSLVPNclient Command Line Usage
Usage: FortiSSLVPNclient.exe [options] [args]

Quellenlink: Fortinet Knowledge Base

Lets Encrypt-Zertifikat mit ACME2 auf Windows Server

Installation des Lets Encrypt-Zertifikat mit ACME2 auf Windows Server

Let’s Encrypt ist ein Aussteller für freie SSL-Zertifikate, Ende 2015 in Betrieb gegangen, erfreut sich die CA Zertifizierungsstelle für kostenlose Zertifikate grosser Beliebtheit, anfänglich für Linux, gibt es sie nun auch für Windows. Mit ACME 2 lässt sich zudem das Management von SSL/TLS-Zertifikate weitgehend auto­matisieren.

win-acme-pluggable

ACME 2 beinhaltet kein Setup zur Installation, nach dem Herunter­laden von win-acme kann das Paket auf dem Server in ein beliebiges Verzeichnis entpackt werden. Das Verzeichnis sollte danach nicht mehr verändert werden, da der Pfad für die Rezertifizierung benötigt wird.

Wie bei der früheren Version handelt es sich bei der aktuellen Version um ein in der Kommando­zeile geführtes Tool mit Menüs, so dass es sich etwa auch unter Server Core ausführen lässt. Gestartet wird win-acme über den Aufruf von wacs.exe.

Zertifikat anfordern

Bei der interaktiven Anforderung eines Zertifikats mit win-acme über den Simple Mode ist der Vorgang weitgehend gleich wie mit der vorgänger Version 1. In diesem Beispiel wird ACME 2 auf einem Windows Server 2019 mit der IIS-Rolle ausgeführt.

Für die Verifizierung der Domäne wird hier die Bindung konfiguriert, aus dem Internetinformationsdienste (IIS)-Manager – InetMgr.exe.

Internetinformationsdienste (IIS)-Manager
Abbildung: Internetinformationsdienste (IIS)-Manager

Nach ausführen von wacs.exe wählt man die Option N, um ein neues Zertifikat mit den Standard­einstellungen zu erzeugen. Dabei sucht win-acme nach den Bindungen im IIS. Sind keine Bindungen konfiguriert bricht win-acme den Vorgang ab.

letsencrypt_win-acme_console

Im nächsten Schritt wählt man die IIS-Website aus, für die man das Zertifikat anfordern und ausstellen möchte.

Im Schritt darauf ist zu entscheiden, ob alle Bindungen oder nur bestimmte IIS-Websites verwendet werden sollen. Im zweiten Fall wählt man diese über einen Filter aus.

Nach einer weiteren Bestätigung startet die Zertifikats­anforderung. Um die Autorität der Domain zu verifizieren, nutzt win-acme die Methode http-01. Dabei erhält der Client von Let’s Encrypt ein Token, diesen er in eine Datei auf dem lokalen Server schreibt, die danach von Let’s Encrypt ausgelesen wird.

   Let’s Encrypt erwartet den Token über HTTP aus der Datei auszulesen. Daher erfordert win-acme auf der Firewall die Freigabe für Port 80 zum Server.

Das Zertifikat befindet sich nach dem erfolgreichen Abschluss des Vorgangs im Zertifikatsspeicher des Servers. Zusätzlich speichert win-acme das Zertifikat im PEM und PFX-Format unter folgendem Pfad ab.

Die Autorität der Domäne, für die man ein Zertifikat anfordert, muss man nicht nur bei der Erst­ausstellung nachweisen, sondern auch alle 3 Monate für die Erneuerung des Zertifikats.

In den häufigsten Situationen ist es nicht erwünscht, dass ein Server nur für die Anforderung eines Zertifikates ohne Schutz dauerhaft auf Port 80 aus dem Internet erreichbar ist. Hier wäre die Nutzung eines Proxys oder einer temporären Port Freigabe zu erwägen.

Um das Freigeben von Port 80 auf der Firewall zu umgehen, gibt es die Möglichkeit, statt http-01 den Challenge zu wechselen. Hier bietet sich vor allem DNS-01 an, dabei wird das Token als TXT-Record im DNS eingetragen.

Diese Methode hat zudem den Vorteil, dass sich damit Wildcard-Zertifikate ausstellen lassen. Voraus­setzung für DNS-01 ist natürlich, dass die betreffende Domain extern gehostet wird und somit für Let’s Encrypt zugänglich ist.