App Linux ordinarja tuża l-VPN mingħajr ma tmiss TUN
Id-daemon jippossjedi l-apparat TUN u t-tunnel; l-applikazzjonijiet biss jiftħu sockets. Żomm il-privileġġ tas-setup u l-aċċess għan-netwerk bħala fruntieri separati.
Browser li juża VPN Linux stabbilit ma jiftaħx /dev/net/tun. Jiftaħ socket, u l-qalba tiddeċiedi minn liema interfejs joħorġu l-pakketti ta' dak is-socket. Il-proċess li ħoloq it-tunnel jagħmel xogħol differenti mill-proċess li t-traffiku tiegħu jġorr. Li żżomm dawn iż-żewġ rwoli separati twieġeb ħafna mill-mistoqsijiet dwar il-permessi qabel ma jsiru.
Segwi pakkett wieħed mis-socket sat-tunnel
App ordinarja tgħajjat connect jew send, u l-qalba tfittex rotta għad-destinazzjoni. Jekk ir-rotta magħżula tindika lejn l-interfejs tat-tunnel, il-pakkett jitqiegħed fil-kju fl-apparat li jinqara mid-daemon tal-VPN. Id-daemon jikkriptah u jibgħatu barra mill-interfejs fiżiku. Kull vleġġa f'dik id-deskrizzjoni hija post fejn tista' tiġi mwieġba mistoqsija dwar il-permess.
Xejn f'dak il-mogħdija ma jesiġi li l-app taf bl-apparat. Id-daemon iżomm id-deskrittur tal-fajl u jagħmel l-operazzjonijiet tal-interfejs, filwaqt li l-app tara biss API normali tan-netwerk.
Pinġi ż-żewġ nofsijiet darba, u l-mistoqsijiet dwar il-permessi jsiru aktar faċli biex jitqiegħdu. In-nofs ta' fuq huwa d-dinja tal-applikazzjonijiet, u n-nofs t'isfel jappartjeni lid-daemon.
Iddeċiedi min għandu bżonn l-apparat u min le
Il-ħolqien ta' interfejs TUN jew it-twaħħil miegħu jeħtieġ aċċess għall-apparat flimkien ma' l-kapaċità li jiġi kkonfigurat, u għalhekk servizz VPN appoġġjat jibda b'awtorità ta' amministrazzjoni tan-netwerk jew juża assistent privileġġjat. Dak ir-rekwiżit jappartjeni lid-daemon. Ma jgħid xejn dwar il-browser, il-klijent tad-database jew l-għodda tat-trasferiment tal-fajls. Servizz li jeħtieġ il-kapaċità jeħtiġha għall-pass tas-setup tiegħu stess, mhux għall-klijenti tiegħu.
Ladarba r-rotta u l-politika jkunu f'posthom, proċess ordinarju juża l-mogħdija li tirriżulta permezz tas-sejħiet tas-socket tas-soltu tiegħu. Ma jeħtieġx in-nodu tal-apparat, u ma jeħtieġx root.
Il-bidla tal-permessi tal-apparat mhix mod kif tagħti lill-app aċċess għad-destinazzjoni. Hija biss iċċaqlaq il-fruntiera tal-apparat x'imkien ieħor.
Iċċekkja n-namespace li fih l-app tassew taħdem
Container, jew it-tieni namespace tan-netwerk, jagħti lill-proċessi tiegħu sett ta' interfejs u tabella tar-rotot separati. Tunnel fuq il-host ma jidhirx hemm awtomatikament, u l-ebda bidla fil-permessi tal-apparat ma tbiddel dan. L-app sempliċement tgħaddi minn dak li jipprovdi dak in-namespace. Huwa għalhekk li immaġni ta' container ma tistax tiret tunnel tal-host b'aċċident.
Iċċekkja b'ip netns list u ip -n NAME route, jew billi tħares lejn il-link tan-namespace tal-proċess. It-tweġiba normalment tidher b'ordni wieħed.
Żewġ utenti fuq l-istess host jistgħu wkoll jingħataw mogħdijiet differenti permezz tal-politika. Dik hija deċiżjoni tan-netwerk, mhux prova tas-sjieda tal-apparat.
Aqsam il-kapaċitajiet mill-politika tan-netwerk
Xi għodod jeħtieġu aktar minn socket. Il-qbid tal-pakketti jeħtieġ socket nej, u l-bidla tar-rotot teħtieġ awtorità amministrattiva. Dawn huma operazzjonijiet separati b'għotjiet separati, u l-għoti ta' waħda m'għandux jinqara bħala rekwiżit ġenerali għall-użu tal-VPN.
Programm li jimplimenta t-tunnel tiegħu stess huwa t-tielet każ. Huwa tassew jiftaħ TUN għax qed jieħu r-rwol tad-daemon, u għalhekk jeħtieġ il-privileġġi tad-daemon.
Semmi l-operazzjoni qabel ma ssemmi l-privileġġ. It-tnejn normalment huma aktar faċli biex jinqasmu milli jidher.
Ivverifika l-qsim b'żewġ kontijiet
Qabbad it-tunnel bħala s-servizz, imbagħad ħaddem l-app bħala utent ordinarju u kkonferma li tilħaq ir-riżors privat. Iċċekkja ip route get għad-destinazzjoni mill-shell ta' dak l-utent biex tara liema interfejs intgħażel. Jekk ir-rotta hija tajba u l-konnessjoni xorta tfalli, il-problema hija l-politika, mhux il-privileġġ.
Id-disinn li jirriżulta huwa l-inqas privileġġ b'fruntiera espliċita: komponent wieħed jippossjedi s-setup u r-riżorsi tat-tunnel, il-piżijiet tax-xogħol iżommu l-kontijiet normali tagħhom, u l-politika tan-netwerk tiddeċiedi x'jista' jgħaddi. Li tmexxi kollox bħala root iġġarraf dawk ir-rwoli mingħajr ma tispjega xejn.