OPNsense: OpenVPN
Standardmodul der OPNsense, VPN auf Basis von Pre-shared keys, Zertifikaten und/oder Username/Password, bei Bedarf mit TOTP-MFA
OpenVPN Clientverbindung mit Username/Passwort erstellen
1. Zertifizierungsstelle einrichten
- OPNsense: System -Sicherheit -> Aussteller
- CA erstellen
- Vorgehen: Erstelle interne CA
- Beschreibung= OpenVPN-CA
- Key-Länge= 4096 Bits
- Hashalgorithmus= SHA512
- Lebenszeit= lange
2. Serverzertifikat erstellen
- OPNsense: System -Sicherheit -> Zertifikate
- Vorgehen: Erstelle internes Zertifikat
- Beschreibung: OpenVPN-Server
- Zertifizierungsstelle/Herausgeber: OpenVPN-CA (von oben)
- Typ: Serverzertifikat
- RSA 4096 Bits, SHA512
3. User einrichten (in lokale Datenbank)
- OPNsense: System -> Zugang -> Benutzer
- Name + Passwort festlegen
- Ankreuzen: Benutzerzertifikat erstellen
- Speichern -> es öffnet sich der Assistent für ein neues Zertifikat
- Vorgehen: Erstelle ein neues internes Zertifikat
- Herausgebeber: OpenVPN-CA (von oben)
- Typ= Client Zertifikat
- RSA 4096 Bits, SHA512
4. VPN Server erstellen (mehrere Server mit eigenen Ports oder lokalen Zielbereichen möglich)
- OPNsense: VPN -> OpenVPN -> Servers
- Server hinzufügen
- Name= OpenVPN-Server
- Servermodus= SSL/TLS + Benutzerauthentisierung
- Backend-Authentifizierung= Lokale Datenbank (oder TOTP)
- Schnittstelle= WAN
- UDP-Port (Default=1194) ggf. ändern
- Peer-Zertifizierungsstelle= OpenVPN-CA
- Serverzertifikate= OpenVPN-Server
- DH Parameterlänge= 4096 Bit
- Verschlüsselungsalgorithmus= AES-256-CBC
- Auth.Digestalgorithmus= SHA512
- Zertifikatstiefe= EINS
- IPv4 Tunnelnetzwerk= 10.10.0.0/24 - VPN Transfernetz
Die OPNsense bekommt die erste Adresse (hier: 10.10.0.1). - Lokales IPv4-Netzwerk= 192.168.10.0/16 - kommagetrennte Liste der lokal ereichbaren Netze oder Netzbereiche
- Fernes IPv4-Netzwerk= bei Site-to-Site VPN
- Komrimierung= Legacy - Disabled LZO
5. Firewallregeln
- OPNsense: Firewall -> Regeln -> WAN
- Neue Regel: IN / Allow / WAN-Schnittstelle / Protokoll= UDP / Ziel = OpenVPN Netzwerk / Zielport = OpenVPN
(Erlaube: VPN zu Firewall) - OPNsense: Firewall -> Regeln -> OpenVPN
- Neue Regel: IN / Allow / OpenVPN-Schnittstelle / Protokoll= ANY / Quelle = Netzwerk (10.10.0.0/24 - VPN-Netz wie oben)
(Erlaube: VPN zu LAN) - Bei Bedarf kann ein Zeitplan für die Firewallregel den Zugang zeitlich einschränken.
6. Client exportieren
- OPNsense: VPN -> OpenVPN -> Clientexport
- Verwendete Konfiguration= OpenVPN-Server
- Hostname= DSL-Gateway
- ggf. Speichern des Kennwortes deaktivieren
- Download: Username.ovpn (enthält Konfiguration und alle Zertifikate)
7. Client für das gewünschte Betriebssystem einrichten
- Client laden und installieren
https://openvpn.net/client/ - Download als Profil importieren
Verbindung herstellen mit Username und Passwort
OpenVPN Clientverbindung mit Username+Passwort+TOTP erstellen
- Zertifizierungsstelle einrichten
wie oben - Serverzertifikat erstellen
wie oben - User einrichten (in lokale Datenbank)
wie oben, außerdem:
• Ankreuzen: OTP Seed erstellen
• OTP QR-Code anzeigen auf 2FA-Gerät übertragen
3a) OPNsense: System -> Zugang -> Server
Server hinzufügen, Name= TOTP-Lokal
Typ= Lokal + Zeitbasiertes Einmalpasswort - VPN Server erstellen
wie oben, aber:
Backend-Authentifizierung= TOTP-Lokal (von 3a)
Zeit bis zur Neubestimmung (Renegotiate time)= 0 - bis 7. wie oben
Verbindung herstellen mit Username und Passwort+TOTP
(Reihenfolge Passwort + TOTP wird in 3a festgelegt)
Links: