Tistivx l-hardening ta' systemd fuq it-tniżżil user ta' OpenVPN
Żewġ riċetti ta' privileġġ minimu flimkien mhumiex waħda aktar stretta. Agħżel min iwettaq il-bidla tal-identità, imbagħad iċċartja l-awtorità matul iċ-ċiklu tal-ħajja kollu.
Żewġ riċetti ta' privileġġ minimu mwaħħla flimkien ma jagħmlux skjerament aktar strett. Mudell wieħed iħalli d-daemon jibda b'privileġġi u jinżel għal kont mingħajr privileġġi wara l-inizjalizzazzjoni; l-ieħor iħalli lill-maniġer tas-servizz iniedih b'identità ristretta mill-ewwel struzzjoni. Kull wieħed jaħdem waħdu, u l-għaqda spiss tipproduċi servizz li ma jistax jagħmel tajjeb lanqas waħda miż-żewġ xogħlijiet. Il-bqija ta' dan jagħti d-deċiżjoni bil-ordni.
Żewġ mudelli, sid wieħed tal-bidla
L-ewwel mudell hu tad-daemon. L-għażliet OpenVPN tal-komunità user u group jbiddlu l-identità wara li t-tunnel u ċ-ċwievet ikunu stabbiliti, u persist-key flimkien ma' persist-tun iżommu dawk ir-riżorsi użabbli wara.
It-tieni mudell hu tal-maniġer tas-servizz. Issettjar systemd User= jew Group= jiddeċiedi l-identità li biha l-proċess jibda, u d-direttivi tal-kapaċità jiddeċiedu x'jista' jżomm. L-għażla bejn il-mudelli hi kwistjoni ta' pakkettar qabel ma tkun kwistjoni ta' sigurtà, u l-mantenitur tal-pakkett diġà wieġeb għaliha. Xogħlok hu li ssib dik it-tweġiba minflok taħlom it-tielet għażla.
It-tnejn huma leġittimi. L-iżball hu li ttrattahom bħala saffi ta' disinn wieħed, għax it-tieni mudell jista' jagħmel il-bidla tal-identità tal-ewwel operazzjoni li l-proċess m'għadux permess jagħmel.
Iddeċiedi fejn tinbidel l-identità
Jekk l-unità diġà tibda bħala kont dedikat, iż-żieda ta' struzzjoni lid-daemon biex isir kont ieħor titlob transizzjoni setuid li servizz imsaħħaħ qatt ma kellu jagħmel. Il-falliment jidher bħala żball ta' permess waqt il-bidu, mhux bħala messaġġ ċar ta' politika. Dan jinqara bħala kapaċità nieqsa, li jimbotta lin-nies lejn sett ta' limiti usa' minflok lejn il-kwistjoni tal-identità.
Aqra x'jipprovdi tassew il-pakkett installat qabel tibdel xejn, inkluż id-direttorju drop-in tiegħu. Xi unitajiet iħallu l-iskora tad-daemon innifsu apposta għax il-maniġer diġà jieħu ħsiebha, u oħrajn jiddependu fuq dawk l-għażliet għall-bidla wara l-inizjalizzazzjoni. It-tneħħija ta' waħda minnhom mingħajr ma tkun taf liema mudell wirtet hi l-mod kif servizz li jaħdem jieqaf jibda.
Ikteb il-mudell magħżul f'linja waħda: propjetà tal-maniġer jew propjetà tad-daemon. Kull direttiva wara trid tkun konsistenti ma' dik is-sentenza, u unità mħallta għandha tiġi trattata bħala difett u mhux bħala kompromess.
Il-kapaċitajiet huma limiti, mhux għotjiet
Sett ta' limiti tal-kapaċità jgħid x'jista' jżomm proċess l-aktar. Hu saqaf, u li telenka kapaċità hemm ma jagħti xejn waħdu, għalhekk unità b'sett ta' limiti ġeneruż xorta tista' tfalli fil-ħolqien ta' tunnel.
Dak li tassew ipoġġi kapaċità fis-sett ambjentali ta' servizz hu AmbientCapabilities=. Ir-referenza tal-eżekuzzjoni ta' systemd tiddokumenta ż-żewġ direttivi separatament, u dik id-differenza tispjega l-biċċa l-kbira tal-pariri konfużi dwar il-kapaċitajiet fuq l-internet.
Żid kapaċità biss wara li l-operazzjoni li tfalli tidentifikaha. Sett ta' limiti usa' jaħbi l-kawża vera u jħalli s-servizz aktar privileġġjat minn dak li kien maħsub fid-disinn. Jagħmel l-unità wkoll aktar diffiċli biex tiġi riveduta, għax is-saqaf m'għadux jiddeskrivi x-xogħol. Neħħi l-kapaċità żejda ladarba jissewwa d-difett veru.
Iċċartja l-awtorità matul iċ-ċiklu tal-ħajja
Elenca x'irid jagħmel il-proċess f'kull stadju: bidu, stat stabbli, awtentikazzjoni mill-ġdid u żarmar. Il-ħolqien tal-interface, il-bidliet fir-rotot, il-qari ta' ċavetta protetta u s-sejħa ta' assistent ma jseħħux kollha fl-istess mument jew bl-istess rekwiżiti. Issortja l-lista bl-istadju qabel ma issortjaha bil-kapaċità.
L-għażliet ta' persistenza jippreservaw riżorsi matul in-negozjati mill-ġdid, u ma jagħtux permessi li qatt ma nżammu. Ċavetta li l-proċess ma jistax jaqra fil-bidu tibqa' ma tinqarax aktar tard, x'jgħidu l-bnadar tal-persistenza. Il-bnadar jippreservaw dak li kien diġà jaħdem.
Uża kont dedikat minflok wieħed maqsum. L-iżviluppaturi ta' OpenVPN jwissu kontra l-vizzju li jintuża nobody bħala eżempju ġeneriku, għax servizzi oħra fuq il-host jistgħu diġà jkunu qed jaħdmu b'dak il-kont u l-iżolament li taħseb li għandek mhuwiex hemm.
Karatteristiċi li jbiddlu t-tagħbija lokali, bħall-offload tal-kanal tad-dejta jew build li jorbot b'mod differenti, jistgħu jċaqalqu liema operazzjonijiet huma meħtieġa. Erġa' ara l-mappa meta jinbidel il-pakkett, mhux biss meta xi ħaġa tinkiser.
Ikteb il-pjan u żomm aċċess għall-irkupru
Rekord tal-iskjerament għandu jsemmi l-maniġer, l-identità tal-bidu, l-identità stabbli maħsuba u kull għotja flimkien mal-operazzjoni li teħtieġha. Dak ir-rekord hu li jagħmel il-bidla li jmiss rivedibbli minflok sperimentali.
Żomm l-aċċess għall-console disponibbli waqt li qed tagħmel il-bidliet, għax unità li tfalli fil-bidu hija diffiċli tissewwa mill-bogħod. Iċċekkja restart u boot mill-ġdid sħiħ qabel ma tiddikjara l-bidla kompluta. Unità li tgħaddi minn restart xorta tista' tfalli qabel ma tkun lesta x-xibka.
Is-suċċess hu ċiklu tal-ħajja ta' awtorità minima li jinftiehem, mhux proċess li jkun qed jaħdem b'isem li mhuwiex root.