Een niet-vertrouwde VPN zijn drie aparte grenzen, niet één
Externe peers, de operator in het pad en de client op je host zijn drie verschillende bedreigingen. Een firewallregel beantwoordt alleen de eerste ervan.
‘Ik vertrouw deze VPN niet’ zijn meestal drie beweringen in één zin. De externe peers op dat netwerk kunnen diensten op je host bereiken, de operator die de tunnel beheert kan verkeer observeren dat erdoorheen gaat, en de clientsoftware die je hebt geïnstalleerd kan het netwerkbeleid van je machine wijzigen. De overtuiging die correctie verdient, is dat een firewallregel, een virtuele machine of een zorgvuldige keuze van besturingssysteem alle drie beantwoordt. Elke maatregel beantwoordt precies één ervan.
De mythe: één controle dekt het hele risico
De gangbare aanname is dat toetreden tot een niet-vertrouwd netwerk één beslissing is met één mitigerende maatregel. Mensen kiezen de controle die ze al vertrouwen, passen die toe en beschouwen het risico als afgehandeld: de firewall staat aan, de werkruimte is wegwerpbaar, de client komt van een gerespecteerde leverancier.
Die controles overlappen niet zoals de aanname suggereert. Een host-firewall beperkt wat een externe peer kan bereiken, en doet niets tegen een operator die je TLS beëindigt. Een virtuele machine scheidt een werkruimte van je hostbestanden, en doet niets tegen een clientcomponent die de netwerkstack eronder opnieuw mag configureren. De grens benoemen die elke controle werkelijk creëert, is de hele oefening.
Ze scheiden vertelt je ook welk risico je hebt gekozen te accepteren. De meeste echte beslissingen mitigeren de ene grens en tolereren de andere, en dat is prima zolang het wijzigingsrecord zegt welke welke is.
Wat de externe peer werkelijk kan bereiken
Begin bij luisterende diensten. De tunnelinterface die als breed vertrouwd wordt behandeld omdat de pakketten versleuteld aankwamen, is de gebruikelijke fout, en die maakt elke lokale luisteraar tot een mogelijk doelwit voor iedereen op dat netwerk. Versleuteling beschermt de draad tussen twee eindpunten; ze zegt niets over de bedoeling van de peer aan de andere kant.
ss -tulpn sudo nft list ruleset ip -br addr
Bind diensten aan het adres dat ze nodig hebben in plaats van aan elke interface, en sta alleen de bewerkingen toe die de goedgekeurde taak vereist. Houd doorsturen, bridging en applicatieproxy expliciet, want twee netwerkaansluitingen creëren op zichzelf geen transietpad, maar een proxyregel kan dat zeker wel.
Een goedgekeurde wegwerpbare werkruimte vermindert wat het externe netwerk kan bereiken, maar alleen wanneer de deelconfiguratie overeenkomt met de bewering. Gedeelde mappen, klembordintegratie, referentieagenten en beheerskanalen overschrijden allemaal de grens die de werkruimte had moeten creëren. Een werkruimtelabel bewijst niets over welke ervan open zijn.
De zero-trustarchitectuur van NIST formuleert het principe achter dit alles: netwerklocatie alleen verleent geen impliciet vertrouwen. Resourceauthenticatie heeft nog een taak nadat de tunnel is toegelaten, en de vraag wie dat netwerk nog meer deelt ook.
Wat de operator in het pad kan zien
Een VPN verplaatst je verkeer naar een andere plek in het pad; het voegt geen applicatieversleuteling toe. Als de provider je TLS beëindigt, kan de provider lezen wat je browser anders had beschermd, en geen enkele lokale firewallregel verandert dat.
Behoud normale certificaatvalidatie voor de echte bestemming en begrijp het resolver- en metadatapad, want een DNS-query kan meer onthullen dan de payload die eraan voorafgaat. Alleen metadata, dat wil zeggen welke adressen je wanneer hebt benaderd, beantwoordt vaak de vraag van de operator zonder enige noodzaak om inhoud te lezen. Daarom zijn ‘het verkeer is versleuteld’ en ‘het verkeer is privé’ verschillende beweringen.
Als die zichtbaarheid voor de taak onaanvaardbaar is, is het antwoord een andere goedgekeurde architectuur in plaats van meer lokale filtering. Lokale filtering kan een waarnemer niet van een pad verwijderen waarop hij nog steeds zit.
Wat de lokale client mag veranderen
Dit is de grens die mensen missen, en het is degene die de andere twee irrelevant maakt. Op Linux dekt CAP_NET_ADMIN interfaceconfiguratie, firewallbeheer en routewijzigingen binnen zijn netwerkcontext. Software met die capaciteit kan het beleid herschrijven dat je net hebt geschreven.
getcap /usr/sbin/openvpn systemd-analyze security vpn-client.service ip netns list
Een netwerknaamruimte is een echte grens voor netwerkstatus en een slechte voor al het overige: ze isoleert het bestandssysteem of de referentieopslag niet. Behandel het als één laag en niet als een container voor het hele probleem.
Haal de client en zijn configuratie uit een onderhouden bron, beoordeel de bevoegdheid die hij vraagt, en houd bevoorrechte componenten onder beheerderstoezicht. Een virtuele machine kan deel uitmaken van een gekwalificeerde evaluatiegrens zonder toestemming te worden om een onverklaarde installateur naast waardevolle referenties te draaien. De installateur draait met welke bevoegdheid je hem ook geeft, en die bevoegdheid is de grens.
Schrijf op welke grens je hebt aanvaard
Sluit af met een zin die vier dingen noemt: de vertrouwde lokale code, de toegestane externe toegang, de beschermde applicatiegegevens en de operatorrelatie die overblijft. Die zin is meer waard dan een algemene bewering dat een VM, een besturingssysteem of een antivirusproduct een vijandig netwerk veilig hebben gemaakt.
Bevestig daarna dat de smalle bewerking werkt en dat de vereiste weigering nog steeds standhoudt, ook nadat de tunnel wegvalt. Een grens die alleen bestaat zolang de tunnel omhoog staat, is niet de grens die je hebt gedocumenteerd.
Geen enkele test bewijst dat elke kwetsbaarheid afwezig is, en een beoordeling die het tegendeel beweert, overdrijft. De eerlijke uitvoer noemt het restrisico en de persoon die het heeft aanvaard.