Wêrom nosuid in VPN-helper tsjinhâldt om root te wurden
In fersifere thúsmap en in nosuid-mount binne ferskate eigenskippen. De helper hat in betroubere ynstallaasjepaad en in startkontekst nedich dy’t syn privilezje-bit respektearret.
Skypfersifering en in nosuid-mount klinke as fariaasjes op itselde idee, en se hawwe hielendal neat mei elkoar te krijen. It iene beskermet gegevens yn rêst, en it oare beslút oft de kearn in privilezje-bit respektearje sil op it stuit dat in programma begjint. In helper dy’t de identiteit net berikt dy’t er ferwachtet, klaget oer it twadde. De oanname dat it earste ferantwurdlik is, stjoert minsken om kliïnten opnij te ynstallearjen dy’t nea stikken west hawwe.
Twa Net Besibbe Eigenskippen
Skypfersifering beantwurdet wa’t de blokken lêze kin as de masine út is. In mount-opsje beantwurdet wat de kearn dwaan sil mei de modus-bits fan in bestân as immen it útfiert. Neat oan it earste beheint it twadde, en in folslein fersifere laptop kin in bestânssysteem mounte mei alle beheiningen op har plak.
Se lêze as ien eigenskip is wat de teory produsearret dat in fersifere thúsmap root-tagong foarkomt. Dy teory oerlibbet om’t de twa symptomen op deselde masine ferskine, net om’t se in oarsaak diele.
Wat de Oergong Eins Underdrukt
De execve-referinsje beskriuwt hoe’t in set-user-ID-útfierber bestân de effektive identiteit fan it nije proses feroaret yn dy fan de bestânseigener. Deselde side listet de betingsten op dy’t dy oergong underdrukke en it ekwivalint foar groep-identifiers: in no_new_privs-ynstelling, in bestânssysteem monteare mei nosuid, en in proses dat folge wurdt. Bestânskapasiteiten wurde ûnder deselde betingsten negeare. Dy fjouwer regels dekke hast elk rapport fan dit soarte.
Dy list ferklearret wêrom’t de modus dy’t ls printsje nea it hiele autorisaasjeferhaal is. It fertelt jo net hokker betingst ien bepaald flaterberjocht feroarsake, en de applikaasje kin in net besibbe bewiisoperaasje melde mei deselde wurden. Hâld it krekte programma, de starter en de flaterfolchoarder by ear’t jo in konklúzje lûke.
Identifisearje it útfierbere bestân dat it stipe pakket ynstalleare hat, syn eigener, syn echte paad en it belied fan it bestânssysteem dat it befettet. In kopy yn in downloadmap is net de ynstallearre helper, wat syn modus ek seit.
Wat Jo Net Dwaan Moatte
Set-user-ID-bits sette op in net-ferifiearre binêr en it hinne-en-wer ferpleatse oant de beheining ferdwynt is gjin reparaasje. It ferfangt in belied dat jo net begrepen troch in privilezje dat jo net kontrolearje kinne, en deselde technyk tapast op in helper is in bekende eskalaasjewei. nosuid fan in mount helje is slimmer, om’t it elk programma op dat bestânssysteem rekket, net ien.
It stipe paad is de dokumintearre ynstallaasje fan de helper of tsjinst troch de kliïnt, útfierd troch in behearder, dy’t it binêr pleatst dêr’t it belied it ferwachtet. Sa bliuwt ien privilezjemeganisme yn plak fan twa.
Befêstigje de Echte Startkontekst
Nei in autorisearre korreksje, start de helper sa’t it produkt him start, en net fanút in root-skel. In sukses as root bewiist neat oer it paad dat in gewoane brûker nimt, en it ferskil tusken dy twa konteksten is krekt dêr’t de flater oer gie.
Befêstigje dan de netwurkoperaasje dêr’t de helper foar bestiet. In helper dy’t start mar de ynterface net konfigurearje kin hat it probleem ien stap fierder skood, net oplost.
findmnt -no TARGET,OPTIONS /home
getcap /usr/libexec/openvpn-helper 2>/dev/null; ls -l /usr/libexec/openvpn-helper
Skriuw de mount-opsjes en it eigendom fan de helper yn deselde notysje. Oars sil de folgjende persoan dy’t dit debugt de fersiferingsteory fan it begjin ôf werhelje.