Een handige optie van pfSense-firewall, naast het gebruik als firewall, is om je pfSense-firewall als VPN-server in te zetten. Hiervoor ondersteunt pfSense verschillende VPN-servers, maar voor deze handleiding gaan we uit van een OpenVPN-server.
Na de configuratie van een OpenVPN-server, zijn er twee opties:
- Gebruik je LDAP of RADIUS, dan maak je een SSL-certificaat voor iedere gebruiker en exporteer je de OpenVPN client.
- Maak je geen gebruik van LDAP of RADIUS, dan maak je in pfSense OpenVPN-gebruikers aan. Dit is een tweedeling proces dat bestaat uit client toegang configureren en gebruikers aanmaken. Beide onderdelen zijn vereist om een (unieke) OpenVPN-gebruiker aan te kunnen maken, dus we behandelen deze onderdelen als één geheel. Voor iedere nieuwe unieke OpenVPN-gebruiker die je op deze manier maakt, doorloop je de stappen in dit onderdeel van deze handleiding opnieuw.
We raden om veiligheidsredenen aan om per gebruiker en/of apparaat dat je wil verbinden met je OpenVPN-server een uniek account aan te maken.
LDAP- of RADIUS-gebruikers
Stap 1
Iedere gebruiker krijgt zijn eigen SSL-certificaat. Dit is veiliger en in het geval van een gecompromitteerd certificaat, hoeft enkel die ingetrokken te worden en treft dat niet noodzakelijk je andere gebruikers.
Klik bovenaan in het menu van pfSense op 'System' > 'Cert. Manager'.
Stap 2
Klik op het tabblad 'Certificates' en vervolgens op 'Add/Sign'.
Stap 3
De pagina is grotendeels al automatisch ingevuld. Het belangrijkste is dat je als 'Descriptive name' en 'Common name' de logon name van de Active Directory user opgeeft (case sensitive). In deze handleiding leggen we uit hoe je een AD user aanmaakt. Je bent vrij om de key length en het algoritme aan te passen. Voor een combinatie van veiligheid en performance kiezen we voor respectievelijk 4096 en SHA512.
Stap 4
Navigeer terug naar de OpenVPN-pagina ('VPN' > 'OpenVPN') en klik op 'Client Export'.
Stap 5
De opties in de bovenste helft van de pagina zijn allemaal optioneel en je bent vrij die naar wens aan te passen. Enkele van de belangrijkste om te overwegen zijn:
- Microsoft Certificate Storage: Windows systemen hebben een overkoepelende plek, de certificate store, waarin SSL-certificaten centraal kunnen worden opgeslagen in plaats van dat verschillende programma's ze over je harde schijf verspreiden (deze optie aanvinken is de 'netste' oplossing).
- Password Protect Certificate: Je private key is onbeschermd. Met deze optie scherm je hem af met een wachtwoord (veiligst).
- Save as default: Als je een of meerdere van de opties in dit overzicht gebruikt voor al je VPN-gebruikers is het wenselijk om die opties als standaard in te stellen via deze knop.
Stap 6
Scroll nu naar onderen naar 'OpenVPN Clients'. Je vindt hier een overzicht van je VPN gebruikers (let op dat je de juiste LDAP gebruikersnaam kiest) en de daarbij behorende configuratiebestanden voor diverse VPN clients. De meest gebruikte opties zijn:
- Inline Configurations > Most Clients: Je krijgt een .ovpn-bestand dat door OpenVPN-client software zoals OpenVPN Connect gebruikt wordt.
- Current Windows Installer > 64 bit: Een kant en klare executable file waarmee je een OpenVPN client installeert die direct ook de configuratie van je gebruiker bevat.
- Viscosity > Viscosity Bundle: Download een .zip-bestand met diverse configuratiebestanden, bijvoorbeeld gebruikt door VPN-clients als Viscosity.
Download de optie die voor jou van toepassing is. In de laatste twee paragrafen laten we als voorbeeld zien hoe je respectievelijk de Inline Configurations optie voor OpenVPN Connect (beschikbaar voor Windows en MacOS) gebruikt en de Windows Installer.
Een OpenVPN-gebruiker aanmaken (geen LDAP)
Stap 1
Navigeer naar het OpenVPN-overzicht (VPS > OpenVPN) en klik op het tabblad 'Clients' en vervolgens op 'Add'.
Op deze pagina configureer je de client toegang: Hieronder lopen we door de opties die vereist zijn voor een minimale (en veilige) configuratie. Je bent vrij de overige opties naar eigen wens aan te passen.
- Server host or address: Vul hier het publieke IP van je pfSense-firewall in. Dit wordt niet automatisch ingevuld door je server.
- Description: Geef de configuratie een beschrijvende naam, bijvoorbeeld de naam van de gebruiker.
- Username: Vul een gebruikersnaam in voor de VPN client configuratie, bijvoorbeeld de voorletter en achternaam van een gebruiker (deze heb je in stap 4 weer nodig).
- Password: Geef een wachtwoord op voor de gebruiker (ook deze heb je in stap 4 weer nodig).
- Auth digest algorithm: Pas desgewenst het auth digest algoritme weer aan naar een hogere waarde, bijv SHA512.
- Gateway creation: Zet deze optie op IPv4. IPv6 is niet noodzakelijk voor de VPN-verbinding.
Stap 3
Je VPN client configuratie is nu klaar en zichtbaar onder het 'Clients'-tabblad. Klik nu in het bovenste menu nu op 'System' > 'User Mamager'.
Stap 4
Je krijgt een overzicht van je server's pfSense-gebruikers te zien. Klik onderaan rechts op 'Add'.
Stap 5
Vul de gegevens in zoals in het voorbeeld hieronder, met de volgende aanpassingen:
- Username: De username moet overeenkomen met de username uit stap 2.
- Wachtwoord: Het wachtwoord moet ook overeenkomen met het wachtwoord uit stap 2.
- Full name: De naam van de gebruiker
- Expiration Date: Dit is optioneel, maar je kunt ervoor kiezen om accounts te laten verlopen. Je moet dan periodiek opnieuw de gebruiker aanmaken (vanaf stap 3 en verder) en de gebruiker nieuwe VPN-gegevens/bestanden geven.
- Certificate: Vink deze optie aan. De 'Create Certificate for User'-opties worden hiermee zichtbaar.
- Descriptive name: Een omschrijving van het certificaat, bijvoorbeeld met de syntax <gebruikersnaam>_cert.
- Certificate authority: Gebruik hiervoor altijd de internal CA die je voor OpenVPN hebt aangemaakt.
- Key length & Digest Algorithm: Pas deze opties naar wens aan. De regel is in principe 'hoe hoger het getal, des te veiliger'.
Stap 6
Navigeer terug naar de OpenVPN-pagina ('VPN' > 'OpenVPN') en klik op 'Client Export'.
Scroll naar onderen naar 'OpenVPN Clients'. Je vindt hier een overzicht van je VPN-gebruikers en de daarbij behorende configuratiebestanden voor diverse VPN clients. De meest relevante opties zijn:
- Inline Configurations > Most Clients: Je krijgt een .ovpn-bestand dat door OpenVPN-client software zoals OpenVPN Connect gebruikt wordt.
- Current Windows Installer > 64 bit: Een kant en klare executable file waarmee je een OpenVPN client installeert die direct ook de configuratie van je gebruiker bevat.
- Viscosity > Viscosity Bundle: Download een .zip-bestand met diverse configuratiebestanden, bijvoorbeeld gebruikt door VPN-clients als Viscosity.
Download de optie die voor jou van toepassing is. In de volgende twee paragrafen laten we als voorbeeld zien hoe je respectievelijk de Inline Configurations optie voor OpenVPN Connect (beschikbaar voor Windows en MacOS) gebruikt en de Windows Installer.
OpenVPN Connect gebruiken Windows/Mac/Android/iOS
In de eerste paragraaf in stap 7 heb je via Inline Configurations > Most Clients een .ovpn-bestand gedownload. Zorg dat je deze beschikbaar hebt op de client of server die je met je VPN-netwerk wil verbinden.
Stap 1
Installeer de Windows, Mac, Android of iOS OpenVPN Connect client/app en open deze.
Stap 2
Je komt in een 'How to'-wizard terecht. Sluit deze via het kruisje.
Stap 3
Ga akkoord met de voorwaarden voor gebruik en de updates informatie die daarop volgt.
Stap 4
Klik op het tabblad 'File' en sleep het .ovpn-bestand (Windows en Mac) vanuit Windows Verkenner/de file explorer, of klik op 'Browse' (werkt voor alle systemen) om zelf de locatie waar het bestand zich bevindt te selecteren.
Stap 5
De meeste gegevens worden automatisch ingevuld. Je bent vrij om hier een eenvoudigere Profile Name te gebruiken dan automatisch wordt ingevuld. Vink desgewenst de optie 'Save password' aan en klik daarna op 'Connect'
Gefeliciteerd! Je bent nu verbonden met je VPN-server.
De Windows Installer gebruiken
In de eerste paragraaf in stap 6 heb je de Windows Installer gedownload. Zorg dat je deze beschikbaar hebt op de client of server die je met je VPN-netwerk wil verbinden.
Stap 1
Open het OpenVPN Windows Installer-bestand. Je krijgt nu direct een waarschuwing 'Windows protected your PC' omdat het bestand geen publisher heeft. Klik op 'More Info'.
Stap 2
Klik op 'Run Anyway' om de waarschuwing te negeren en de installatie te starten.
Stap 3
Let op: als je er voor gekozen hebt in de eerdere paragraven om gebruik te maken van een certificate store, al dan niet met wachtwoord beveiligd, dan krijg je eerst enkele schermen te zien die je begeleiden door het importeren van je VPN-certificaat in de certificate store en een prompt om het bijbehorende wachtwoord.
Klik vervolgens op 'Install Now' om de installatie te starten.
Stap 4
Na de installatie openen er twee nieuwe schermen:
- Een waarschuwing dat geen profiel gevonden kan worden. Klik op 'OK' om de waarschuwing te sluiten.
- Een installer die de benodigde configuratiefiles installeert. Klik bij deze op 'Install'.
Stap 5
Na de installatie zie je onderaan rechts in Windows een nieuw icoontje voor OpenVPN. Klik hier met de rechtermuisknop op en selecteer 'Connect'.
Stap 6
Geef de gebruikersnaam en het wachtwoord op van de eerder aangemaakte gebruiker, vink optioneel 'Save password' aan en klik op 'OK'.
Gefeliciteerd! Je bent nu verbonden met je OpenVPN-server.
Daarmee zijn we aan het eind gekomen van deze handleiding over het aanmaken (en gebruiken) van OpenVPN-gebruikers in pfSense.
Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.