Unu VPN-ensaluto sur komuna komputilo: kiu ankoraŭ ricevas la itineron?
VPN-ensaluto aŭtentikigas unu personon; la itinero, kiun ĝi instalas, estas alia amplekso. Komparu tunelojn por la tuta gastiganto, por uzanto kaj por aplikaĵo sur komuna maŝino.
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.
| Arrangement | Enforced by | Who can use the path |
|---|---|---|
| Host-wide tunnel | The routing table | Any local process using that table |
| Per-user connection | Profile permission list | Only the listed accounts |
| Per-app allowlist | The VPN client itself | Only the selected applications |
| Namespace or VM | The interface boundary | Only 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.