E Browser, deen eng etabléiert Linux-VPN benotzt, mécht /dev/net/tun net op. Hien öffnet e Socket, an de Kernel entscheet, iwwer wéi eng Interface d'Pakete vun deem Socket erausginn. De Prozess, deen den Tunnel erstallt huet, mécht eng aner Aarbecht wéi de Prozess, deem säin Trafik hie befërdert. Déi zwou Rollen getrennt ze halen beäntwert déi meescht Erlaabnesfroen, ier se gestallt ginn.

Verfolleg een Paket vum Socket bis an den Tunnel

Eng gewéinlech Applikatioun rifft connect oder send op, an de Kernel sicht eng Route fir den Destinatioun. Wann déi gewielte Route op d'Tunnel-Interface weist, gëtt d'Paket an d'Schlange vum Apparat gesat, deen den VPN-Daemon liest. Den Daemon verschlësselt et a schéckt et iwwer d'physesch Interface eraus. All Feil an där Beschreiwung ass eng Plaz, wou eng Erlaabnesfro beäntwert ka ginn.

Näischt op deem Wee verlaangt, datt d'Applikatioun den Apparat kennt. Den Daemon hält de Dateideskriptor an ausféiert d'Interface-Operatiounen, während d'Applikatioun just eng normal Netzwierk-API gesäit.

Zeechnen d'zwou Hälften eemol, an d'Erlaabnesfroe gi méi einfach ze placéieren. Déi iewescht Halschent ass d'Welt vun den Applikatiounen, an déi ënnescht gehéiert zum Daemon.

Entscheet, wien den Apparat brauch a wien net

En TUN-Interface erstellen oder sech dorun upaken erfuerdert Apparatszougang an zousätzlech d'Fähegkeet, en ze konfiguréieren, dowéinst fänkt en ënnerstëtzte VPN-Service mat Netzwierkverwaltungsautoritéit un oder benotzt en privilegiéierten Helfer. Déi Ufuerderung gehéiert zum Daemon. Si seet näischt iwwer de Browser, de Datebank-Client oder d'Dateitransferinstrument. E Service, deen d'Fähegkeet brauch, brauch se fir säin eegene Setup-Schrëtt, net fir seng Clienten.

Soubal d'Route an d'Politik op der Plaz sinn, benotzt e gewéinleche Prozess de resultéierende Wee iwwer seng üblech Socket-Opruff. Hie brauch den Apparatsknuet net, an hie brauch och net root.

D'Apparatserlaabnesser z'änneren ass kee Wee, fir enger Applikatioun Zougang zum Destinatioun ze ginn. Et verréckelt just d'Apparatsgrenz soss anzwousch.

Kontrolléiert den Nummraum, an deem d'Applikatioun tatsächlech leeft

E Container, oder en zweeten Netzwierk-Nummraum, gëtt senge Prozesser en getrennten Interface-Set an eng Routing-Tabell. En Tunnel um Host erschéngt do net automatesch, an et ännert sech duerch keng Ännerung vun den Apparatserlaabnesser. D'Applikatioun rout just iwwer dat, wat deen Nummraum ubitt. Dofir kann e Container-Image keen Host-Tunnel aus Versehen ierwen.

Kontrolléiert mat ip netns list an ip -n NAME route, oder andeems Dir de Nummraum-Link vum Prozess ukuckt. D'Äntwert ass meeschtens an engem eenzegen Uerder ze gesinn.

Zwéi Benotzer op deem selwechten Host kréien och ënnerschiddlech Weeër duerch Politik. Dat ass eng Netzwierkentscheedung an net e Beweis iwwer den Apparatsbesëtz.

Trennt Fähegkeeten vun der Netzwierkpolitik

E puer Instrumenter brauchen méi wéi e Socket. Pakete fänken erfuerdert e rohe Socket, an d'Routen z'änneren erfuerdert Verwaltungsautoritéit. Dat sinn getrennt Operatiounen mat getrennten Erlabnesser, an eng ze ginn soll net als allgemeng Ufuerderung fir d'Benotze vum VPN gelies ginn.

E Programm, deen säin eegenen Tunnel ëmsetzt, ass en drëtte Fall. Et mécht TUN wierklech op, well et d'Roll vum Daemon iwwerhëlt, dowéinst brauch et d'Privilegien vum Daemon.

Nennt d'Operatioun, ier Dir d'Privileg nennt. Déi zwou si meeschtens méi einfach ze trennen, wéi et schéngt.

Verifizéiert d'Trennung mat zwéi Konten

Verbannt den Tunnel als de Service, fuert d'Applikatioun du wéi e gewéinleche Benotzer a bestätegt, datt se d'privat Ressource erreecht. Kontrolléiert ip route get fir den Destinatioun aus der Shell vun deem Benotzer, fir ze gesinn, wéi eng Interface gewielt gouf. Wann d'Route richteg ass an d'Verbindung trotzdem feelt, ass de Problem d'Politik an net d'Privileg.

Den Design, deen dobäi erauskënnt, ass mannst Privileg mat enger expliziter Grenz: eng Komponent besetzt d'Setup an d'Tunnel-Ressourcen, d'Aarbechtslaaschte behalen hir normal Konten, an d'Netzwierkpolitik entscheet, wat däerf duerch. Alles als root lafe léisst déi Rollen zesummefalen, ouni eppes z'erklären.

Ähnlech Artikelen