Kunhavigi laborkondukon starigas demandon, kiun tekkomputilo por unu uzanto neniam devas respondi: post kiam unu persono aŭtentikigis la tunelon, kiu alia povas uzi ĝin? La ensaluto identigas subjekton, kaj la itinero, kiun ĝi instalas, priskribas amplekson, kaj tiuj du aferoj ne estas la sama objekto. Inter ili staras la operaciumo, la agordo de la kliento kaj tio, kion la privata servo postulas memstare. Kompari la devigpunktojn estas la sola maniero respondi la demandon sen diveni.

Unu ensaluto, pluraj ampleksoj

Aŭtentikigo respondas, kiu estis akceptita. La itinero respondas, kiuj pakaĵoj rajtas eliri tra la tunelo. Rajtigo respondas, kiu servo akceptos la rezultan konekton, kaj neniu el la tri implicas la sekvan.

Tunelo por la tuta gastiganto estas la ordinara defaŭlto, kaj ĝi evidentigas la breĉon. La itinero sidas en la tabelo de la kerno, do ĉiu procezo uzanta tiun tabelon povas atingi la privatan reton, inkluzive de tiu komencita de uzanto, kiu neniam vidis la VPN-dialogon. Tio ne estas difekto en la tunelo; tio estas la signifo de sistemvasta itinero. La privata servo ankoraŭ povas rifuzi la konekton, kaj tial atingebleco kaj permeso bezonas apartajn respondojn.

Skribi la kvar demandojn antaŭ la testado malhelpas la revizion disfali en unu el ili.

Kie la limo fakte kuŝas

Kvar aranĝoj kovras plej multajn maŝinojn: tunelo por la tuta gastiganto, konekto por uzanto, permeslisto por aplikaĵo kaj aparta reta nomspaco aŭ virtuala maŝino.

Ĉiu metas la devigpunkton aliloke, kaj la diferencoj gravas pli ol la etikedoj. Konekton por uzanto devigas la permesoj de la profilo, ne la ensaluta ekrano de la labortablo. Permesliston por aplikaĵo devigas interne la kliento, kiu decidas, kion ĝi portos. Nomspaco aŭ VM devigas ĉe la interfaca limo, do procezo interne tute ne vidas la itineron de la gastiganto. La nombro de ensalutaj ekranoj sur la maŝino diras nenion pri iu ajn el ili.

ArrangementEnforced byWho can use the path
Host-wide tunnelThe routing tableAny local process using that table
Per-user connectionProfile permission listOnly the listed accounts
Per-app allowlistThe VPN client itselfOnly the selected applications
Namespace or VMThe interface boundaryOnly processes inside it

Legi la tabelon vico post vico montras, ke la vera demando ne estas, ĉu ekzistas izolado, sed kie ĝi estas realigita.

Kompari kvar devigpunktojn

En Linux la itinera tabelo estas la unua afero por inspekti, ĉar tunelo por la tuta gastiganto aperas tie kaj nomspaco ne. Ruli la serĉon kiel la dua uzanto estas la paŝo, kiun homoj preterlasas; la respondo diferencas de tiu, kiun ili ricevis kiel ili mem, kaj tio klarigas la raporton.

La sekvaj du kontroloj rigardas politikon anstataŭ enkursigadon. Fajroŝirmila regulo kongruanta kun UID aplikiĝas al loke generita trafiko, do ĝi povas apartigi du uzantojn sur unu gastiganto eĉ kiam ambaŭ kunhavas la itineron. Konekta profilo kun eksplicita permeslisto estas devigata de la retadministranto ĉe aktivigo. Neniu el la kontroloj postulas ŝanĝon de la tunelo, kaj tial indas fari ilin antaŭ ol reprojekti ion ajn.

ip route get 10.40.2.10
sudo -u bob ip route get 10.40.2.10
nmcli connection show vpn-work | grep -i permission
sudo nft list ruleset | grep -n skuid

Se la dua serĉo montras la tunelan itineron, la limo ne estas tie, kie la dezajno supozis.

Reguloj pri samtempaj sesioj estas aparta kontrolo

Enirejoj ofte limigas, kiom da sesioj unu konto rajtas teni, kaj tiu limo rilatas nenion al lokaj uzantoj. Ĝi limigas la konton, do dua persono ensalutanta per la samaj identigiloj povas fini la tunelon de la unua.

Legu la malsukceson antaŭ ol supozi lokan izoladan problemon. Sesiolimo produktas malkonekton ĉe la enirejo, dum ampleksa problemo produktas funkciantan tunelon, kiu simple ne portas la trafikon de la alia uzanto. Tiuj du simptomoj kondukas al tute malsamaj riparoj. Konservu la precizan klientan mesaĝon, ĉar ĝi kutime nomas la regulon. Petu de la profilposedanto la aprobitan laborfluon anstataŭ ĉirkaŭiri la limon.

Virtuala maŝino ne esceptas iun ajn el tiu regulo, kaj ĝi aldonas sian propran retan kaj identigilan dezajnon.

Testu la kuntekston, kiu gravas al vi

Testu la celatan uzanton kaj aplikaĵon, poste testu kuntekston, kiu devus esti rifuzita. Revizio, kiu nur pruvas, ke la origina pasvorto funkcias, testis aŭtentikigon kaj nenion alian.

sudo -u bob curl -sS -m 5 https://intranet.internal/health
wg show
ss -tnp | grep -E ':443|:51820'

Notu la devigpunkton apud ĉiu rezulto: la itinera tabelo, UID-regulo, profila permeso aŭ la sesiopolitiko de la enirejo. Tiu registro igas la sekvan ŝanĝon revidebla. Ĝi ankaŭ malhelpas, ke la sama demando remalfermiĝu ĉiufoje, kiam iu rimarkas duan ensalutan ekranon. Atigebleco ne estas rajtigo, kaj neniu el la du estas izolado.

Rilataj artikoloj