Er spelen twee namen voordat een client überhaupt verbindt: de bestandsnaam op de laptop (nuc.ovpn) en de identiteit die de server uit het referentiebewijs afleidt. Een client-config-dir-opzoeking gebruikt de tweede. Het profiel op de client hernoemen, of .conf aan het serverbestand toevoegen, verandert niets aan welk bestand de server opent.

De nuttige vergelijking is niet „welke naam heb ik gebruikt”, maar „welke regel past de server toe”, omdat certificaatauthenticatie en gebruikersnaam/wachtwoord-authenticatie verschillende effectieve namen kunnen opleveren uit dezelfde login.

Profielnaam versus common name van het certificaat

In de standaard op certificaten gebaseerde opstelling neemt de server de X.509-common-name en zoekt een bestand met precies die naam binnen client-config-dir. Een profiel met de naam nuc.ovpn waarvan het certificaat tester zegt, wordt herleid tot /etc/openvpn/server/ccd/tester. De bestandsnaam van de client komt nooit in de berekening. Dat is de eerste plek waar een afwijking zich verstopt.

Een map vol zorgvuldig benoemde profielen kan dus elke keer misgrijpen. Het bestand wordt niet gematcht op subject, op e-mailadres of op de naam die in een GUI verschijnt; het wordt gematcht op de common-name-string.

Op een bestandssysteem dat hoofdletters onderscheidt, zijn Tester en tester twee verschillende bestanden, en er wordt er maar één ooit geopend. Controleer de common name uit het certificaat dat de client werkelijk voorlegt, niet uit een kopie in uw notities.

username-as-common-name keert de regel om

Wanneer de server gebruikersnaam/wachtwoord-authenticatie draait met username-as-common-name, vervangt de geauthenticeerde gebruikersnaam de common name van het certificaat voor deze opzoeking.

Vergelijk de twee gevallen direct: bij certificaatidentiteit volgt het bestand het certificaat en is een wachtwoordwijziging irrelevant; bij gebruikersnaamidentiteit volgt het bestand de inlognaam en is het opnieuw uitgeven van het certificaat irrelevant. Het veld dat de server vervangt, is het veld waarop hernoemd moet worden. Een opnieuw uitgegeven certificaat met een nieuwe CN verandert stilzwijgend het zoekdoel, en het oude CCD-bestand blijft op schijf staan en ziet er correct uit.

Er bestaan gemengde configuraties, en daar begint het meeste misverstand. Als het ene serviceblok de vervanging aanzet en het andere niet, hangt de effectieve naam af van welk exemplaar de verbinding afhandelde. Bevestig de actieve configuratie in plaats van aan te nemen dat het globale bestand geldt. De oorspronkelijke serveropties-referentie documenteert de opzoeking op de genoemde bestandsnaam en de optionele terugval.

Wat de server leest, en wat hij stilzwijgend overslaat

Twee kleine verschillen bepalen of een bestand wordt gekozen. Het eerste is een toegevoegde extensie. Het tweede is een verdwaald teken in de naam.

OpenVPN voegt geen .conf toe aan de naam die het zoekt, dus tester.conf past niet bij tester. Een editor die extensies verbergt, kan een bestand achterlaten dat in een lijst juist lijkt en nooit past.

Als er geen passend bestand is, kan de server terugvallen op een bestand met de naam DEFAULT. Dat sommige instellingen aankomen, is dus geen bewijs dat het bestand per client is gebruikt. Vergelijk het toegewezen adres of de gepushte routes met wat het bestand per client zou opleveren. Rechten zijn het derde filter, omdat de server het bestand opent nadat hij privileges heeft laten vallen; een root-shell die het kan lezen bewijst niets.

Een correcte bestandsnaam valideert de inhoud niet

Selectie en inhoud zijn aparte storingen. Zodra het juiste bestand is geopend, moeten de richtlijnen ervan nog steeds geldig zijn voor die client.

ifconfig-push moet een adres toewijzen dat de topologie werkelijk kan gebruiken, en iroute heeft alleen zin voor een gerouteerd subnet achter die client.

Eén identiteit, meerdere apparaten

Twee laptops die dezelfde common name voorleggen, kiezen hetzelfde bestand en ontvangen dezelfde clientspecifieke instellingen. Als u aparte adressen of aparte intrekking nodig hebt, hebt u aparte identiteiten nodig, niet twee kopieën van één bestand.

De vergelijking is tussen het delen van een identiteit en het uitgeven van één certificaat per apparaat. Delen is eenvoudiger te beheren en grover in te trekken, terwijl certificaten per apparaat meer opzet kosten en u een schone eenheid geven om uit te schakelen.

Gerelateerde artikelen