Il-kmand VPN tiegħek jaħdem mingħajr privileġġi; is-servizz le
L-ebda talba għall-password ma tgħid xejn dwar min ibiddel ir-rotot. Sib is-servizz, l-interface li jesponi u l-politika li tiddeċiedi min jista' jitlob.
Il-kmand VPN jaħdem bħall-utent tiegħek, l-ebda password ma tidher, u l-mina titla'. Dik is-sekwenza tħoss li hija operazzjoni mingħajr privileġġi, u normalment mhijiex. Servizz separat iwettaq il-bidliet tan-netwerk, u l-mistoqsija interessanti hija x'se jagħmel dak is-servizz għal sejjieħ li ma vverifikax. L-għadd ta' talbiet għall-password ma jgħidlek xejn dwar dik il-fruntiera.
L-interface, il-mekkaniżmu u l-verifika
L-interface taċċetta talbiet: ikkonnettja, iddiskonnettja, agħżel profil. Il-mekkaniżmu jippossjedi l-operazzjonijiet tan-netwerk: il-ħolqien ta' interfaces, it-tibdil tar-rotot, l-applikazzjoni tal-filtri. Il-verifika tal-awtorizzazzjoni tiddeċiedi jekk dan is-sejjieħ jistax jitlob din l-azzjoni. Dawn it-tlieta jistgħu jitqassmu fuq binariu, assistent u servizz tas-sistema, u l-utent jara biss l-ewwel wieħed.
Ir-rwoli jistgħu jgħixu fi binariu wieħed, f'żewġ proċessi, jew fi klijent u servizz tas-sistema, u l-kmand li jara l-utent rari jiżvela liema. Ikona fit-tray u daemon tas-sistema jistgħu jidhru bħala applikazzjoni waħda filwaqt li jaħdmu b'awtorità ferm differenti. Il-privileġġ fil-ħin tal-installazzjoni u l-privileġġ fil-ħin tat-talba huma wkoll affarijiet differenti. L-installer li mexa bħala root jista' jħalli servizz li jisma' għal talbiet aktar tard, ħafna wara li l-maniġer tal-pakketti jkun spiċċa. Dak is-servizz, mhux il-kmand li ttajpjajt, huwa li għandu l-awtorità.
Id-delega hija d-disinn normali
Id-delega tax-xogħol tan-netwerk privileġġat lil servizz hija l-arkitettura raġonevoli. Hi żżomm l-applikazzjonijiet ordinarji mingħajr privileġġi, u tiċċentralizza l-operazzjonijiet li jeħtieġu attenzjoni. Id-disinn iħallas biss meta s-servizz jivverifika wkoll min qed jitlob u għal xiex. Mingħajr dik il-verifika huwa biss bieb usa'.
NetworkManager huwa l-eżempju konkret fuq Linux. Il-gwida tal-konfigurazzjoni tiegħu tispjega kif PolicyKit tawtorizza talbiet li mhumiex minn root fil-konfigurazzjoni default. Dan juri awtorizzazzjoni delegata fi prodott reali. Ma jippruvax li kull klijent kummerċjali juża NetworkManager, u ma jiddeskrivix il-passaġġ tas-socket jew il-politika ta' xi fornitur partikolari.
Il-mudell huwa delega b'politika warajha. L-eżempju huwa implimentazzjoni waħda ta' dak il-mudell, mhux waħda universali.
Aqra l-fruntiera, mhux it-talba
Sib is-servizz, is-sid tal-konfigurazzjoni tiegħu u l-interface lokali li juża l-frontend. Imbagħad staqsi liema utenti jistgħu jitolbu liema operazzjonijiet. Li tkun tista' ttella' u tniżżel profil wieħed salvat mhix l-istess permess bħat-tagħbija ta' konfigurazzjoni li l-operatur qatt ma reveda. Id-differenza hija l-mistoqsija kollha tas-sigurtà.
Ibda mill-maniġer tas-servizzi u mill-fehma tal-klijent stess dwar il-permessi tiegħu. Il-kmandi hawn taħt juru jekk id-daemon huwiex miexi, x'jista' jitlob il-sejjieħ minnu, u x'jesponi d-daemon taħt id-direttorju tal-eżekuzzjoni tiegħu.
systemctl status NetworkManager
nmcli general permissions
ls -l /run/NetworkManager
Staqsi wkoll x'jaffettwa l-operazzjoni. Element tal-menu li jidher personali jista' jbiddel ir-rotot u d-DNS għall-magna kollha, li jfisser li jista' jfixkel is-sessjonijiet ta' utenti oħra. Ir-raġġ tal-impatt jaqa' fl-istess reviżjoni bħall-permess, u normalment huwa dak li jiddeċiedi jekk is-servizz jeħtieġx rwol iżjed dejjaq.
Sewwi l-permessi bil-mod appoġġat
Li tagħmel socket ta' kontroll protett jinkiteb minn kulħadd, jew li żżid kont ma' grupp amministrattiv wiesa', tneħħi żball ta' permess u toħloq wieħed akbar. L-iżball kien l-unika ħaġa li kienet tgħidlek li dik il-fruntiera teżisti. Uża l-proċess dokumentat ta' sħubija jew awtorizzazzjoni, inkluż it-tiġdid tas-sessjoni li jeħtieġ. Is-sħubija fi grupp ħafna drabi tapplika biss għal sessjonijiet ġodda ta' login, u għalhekk bidla tista' tidher li ma tagħmel xejn sas-sign-in li jmiss.
Jekk il-prodott jesponi rwol iżjed dejjaq għall-operazzjoni, ippreferih għal għotja ġenerali. Ikteb ir-rwol magħżul u s-sid tiegħu ħdejn l-isem tas-servizz.
Kif tidher separazzjoni tajba
L-applikazzjonijiet ordinarji jibqgħu mingħajr privileġġi, is-servizz iwettaq biss is-setup li għalih kien iddisinjat, u kull sejjieħ jiġi verifikat kontra politika li xi ħadd jippossjedi. Dan huwa disinn difendibbli. Huwa wkoll verifikabbli, għax il-politika għandha isem marbut magħha. Kull ħaġa akbar jistħoqqilha eċċezzjoni bil-miktub minflok bidla siekta fil-permessi.
Il-mod ta' falliment huwa servizz li jwettaq kull talba minn kull utent lokali għax l-interface hija konvenjenti. Minn naħa tal-utent jidher identiku, u jġorr awtorità ferm akbar. Ittestja talba waħda miċħuda, mhux biss dik li rnexxiet. Ċaħda li ġejja mill-politika hija l-prova li l-politika teżisti.