Je client een VPN-profiel geven betekent hem een configuratie geven die door iemand anders is geschreven, die dat programma vervolgens op je machine uitvoert. Het importeren kan veranderen waar het gedekte verkeer heen gaat, welke peer je apparaat vertrouwt en in sommige formaten welke lokale programma's starten wanneer de tunnel omhoog komt. Het bestand is geen bladwijzer; het is een klein programma in een declaratief formaat.

Lees het zoals je een shellscript uit dezelfde bron zou lezen.

De client interpreteert het, niet jij

Elk veld in het bestand is een instructie aan een specifieke client. Het eindpunt en het protocol bepalen waar de tunnel heen gaat, het authenticatieblok bepaalt welk geheim wordt gevraagd en de routedirectieven bepalen wat erin komt. Certificaten of een privésleutel kunnen als blokken zijn ingebed in plaats van als bestanden te worden aangewezen, en daarom draagt één tekstbestand soms alles wat nodig is om zich tegenover een gateway als jou voor te doen. Juist die eigenschap maakt achteloos bestanden delen zo gevaarlijk.

OpenVPN-profielen kunnen ook scripthaken, plug-inpaden en een beveiligingsniveau bevatten dat bepaalt of die haken mogen draaien. Die combinatie maakt een onbekend profiel de moeite waard om regel voor regel te lezen in plaats van erop te dubbelklikken. De client doet precies wat het bestand zegt, en hij doet het met jouw rechten.

Routewijzigingen zijn zichtbaar na één verbinding

Een fulltunnelprofiel installeert routes die alles via de gateway sturen, terwijl een splittunnelprofiel alleen geselecteerde prefixen stuurt. Sommige profielen duwen ook een DNS-server naar binnen, wat stilletjes verandert wie je query's ziet. Niets daarvan is op zichzelf kwaadaardig, en niets daarvan is duidelijk uit de bestandsnaam.

Vergelijk de routetabel voor en na de eerste verbinding en je ziet de bedoeling in één oogopslag. Een profiel dat wordt aangeprezen als toegang tot één interne toepassing maar een bredere standaardroute installeert, vertelt je iets over de auteur.

Het vertrouwensmateriaal en de haken dragen het echte gewicht

Een profiel kan de VPN-client vertrouwensinformatie leveren, en een platformconfiguratiepakket kan verder gaan en een certificaat of een root in een systeemopslag installeren. Dat zijn verschillende bereiken met verschillende gevolgen. Het geval binnen het bereik van de client raakt de validatie van één toepassing; het geval op systeemniveau raakt alles wat de vertrouwensopslag van het platform gebruikt.

Scripthaken en plug-ins zijn de andere helft. Een richtlijn die bij verbinding een commando uitvoert, of een plug-in die in het clientproces wordt geladen, heeft jouw rechten en niets van de sandbox van de client. Als een profiel dat je niet hebt aangevraagd er een bevat, is dat een vraag voor degene die het stuurde.

Geen van beide categorieën is automatisch vijandig. Bedrijfsuitrollingen gebruiken beide. Het punt is dat elk een uitleg vereist die je kunt controleren.

Controleer de herkomst en voer dan het geheim in

Stel vast wie het bestand heeft uitgegeven via een kanaal dat je al vertrouwt, niet via het bericht dat het bezorgde. Vergelijk de details van het eindpunt en het certificaat met de gepubliceerde documentatie van de operator. Als een profiel ongevraagd is aangekomen, haal dan een nieuw rechtstreeks bij de operator in plaats van de kopie die je kreeg te repareren. Vraag welke clientversie de operator ondersteunt, want hetzelfde bestand kan door een andere client anders worden geïnterpreteerd.

grep -nE '^(remote|proto|auth-user-pass|redirect-gateway|route|route-nopull)' office.ovpn
grep -nE '^(up|down|plugin|script-security|setenv)' office.ovpn
openssl x509 -in embedded-ca.crt -noout -subject -issuer -dates

Zet nooit een wachtwoord in een onverklaard veld om te zien of het werkt, en accepteer nooit een onbekende rechtenvraag alleen om een import af te maken. Een geslaagde verbinding bewijst dat het eindpunt antwoordde, niets meer.

Verwijder de geïmporteerde kopie, niet de download

Clients kopiëren een profiel naar hun eigen opslag, dus het verwijderen van het gedownloade bestand laat de geïmporteerde verbinding actief. Verwijder hem via de interface van de client zelf, en controleer of ook elk certificaat dat tijdens de import is toegevoegd weg is. Bevestig daarna dat ook de routes die het installeerde weg zijn.

Als een certificaat op systeemniveau is geïnstalleerd, is het verwijderen van het profiel niet genoeg. Die opruiming hoort bij het vertrouwensbeheer van het platform, en het is de moeite waard om die bewust te doen in plaats van te hopen dat de volgende herstart het regelt.

Gerelateerde artikelen