OpenVPN mit pfsense
Konfiguration von pfsense als openVPN exit node.
Authentifizierungsmethode
Als erstes sollte man sich überlegen wie die Anmeldung auf dem openVPN Server vonstatten gehen soll. In unserem Beispiel verwenden wir die Möglichkeit uns per Zertifikat, Benutzername und Passwort über den internen LDAP Server anzumelden. Anzumerken sei noch das die Authentifizierung über LDAP nur mit einem passenden Zertifakt funktioniert.
LDAP
Unter System / User Manager / Servers wird die Authentifizierung über LDAP eingerichtet. Base DN und Authentication Container sind dem Teil des LDAP-Verzeichnisses anzupassen, in welchem man die authorisierten Benutzer eingerichtet hat. Zudem kann man die Suche mit dem Extended Query verfeinern, wenn man nur eine bestimmte Gruppe zulassen will, z.B. memberOf=cn=vpn,o=discordia,dc=holy,dc=cow[1].
openVPN Konfiguration
Den grössten Teil der Konfiguration wurde durch den Konfigurations Assisstenten von pfsense übernommen. Alle Menüpunkte sind selbsterklärend und einfach verständlich beschrieben. Alternativ kann man auch eine manuelle Konfiguration vorgezogen werden.
VPN Nutzer einrichten
Es sollte für jeden VPN Nutzer ein eigenes User Zertifikat im pfsense erstellt werden. Dies hat den Vorteil dass diese einzeln zurückgezogen ("revoked") werden können, beispielsweise im Falle eines Verlustes.
Im pfsense kann dies unter System --> Cert. Manager --> Certificates --> +Add gemacht werden.
Als Methode haben wir Create an internal Certificate gewählt.
Als Descriptive name: <username>_vpn
Frage: Was sollte als am besten als CN gewählt werden ?
Die erforderlichen Daten zur Anwendung im VPN können nun unter VPN --> OpenVPN --> Client Export --> OpenVPN Clients heruntergeladen werden.
Unter dem entsprechenden Zertifikat Standard Configurations --> Archive.
Achtung: Diese Daten sollten nur über eine sichere Verbindung übertragen und geheim gehalten werden.
Am besten auch gegenüber anderen Mitarbeitern, da anscheinend keine Verknüpfung von Zertifikat und Login (ldap) besteht.
Client Einrichtung
n/a
Siehe auch
- ↑ Für die Funktion memberOf müssen zusätzlich die Module und Overlay memberOf in der Konfigurationsdatenbank aktiviert und slapd neu gestartet werden.