Diskkryptering og et nosuid-monter lyder som variationer af den samme idé, og de har slet intet med hinanden at gøre. Det ene beskytter data i hvile, og det andet afgør, om kernen vil respektere en privilegiebit i det øjeblik, et program starter. En hjælper, der ikke kan nå den identitet, den forventer, klager over det andet. Antagelsen om, at det første er ansvarligt, får folk til at geninstallere klienter, der aldrig var i stykker.

To Uafhængige Egenskaber

Diskkryptering besvarer, hvem der kan læse blokkene, når maskinen er slukket. En monteringsindstilling besvarer, hvad kernen vil gøre med en fils tilstandsbite, når nogen kører den. Intet ved det første begrænser det andet, og en fuldt krypteret bærbar kan montere et filsystem med alle begrænsninger på plads.

At læse dem som én egenskab er det, der skaber teorien om, at en krypteret hjemmemappe forhindrer root-adgang. Den teori overlever, fordi de to symptomer optræder på samme maskine, ikke fordi de deler en årsag.

Hvad Der Faktisk Undertrykker Overgangen

execve-referencen beskriver, hvordan en set-user-ID-kørbar fil ændrer den nye proces’ effektive identitet til filens ejer. Samme side lister de betingelser, der undertrykker den overgang, og det tilsvarende for gruppe-id’er: en no_new_privs-indstilling, et filsystem monteret med nosuid og en proces, der bliver sporet. Filkapaciteter ignoreres under de samme betingelser. De fire regler dækker næsten enhver rapport af denne slags.

Den liste forklarer, hvorfor den tilstand, ls udskriver, aldrig er hele autorisationshistorien. Den fortæller ikke, hvilken betingelse der forårsagede en bestemt fejlmeddelelse, og programmet kan rapportere en urelateret legitimationshandling med samme ordlyd. Noter det præcise program, starteren og fejlsekvensen, før du drager en konklusion.

Identificer den kørbare fil, som den understøttede pakke installerede, dens ejer, dens reelle sti og politikken for det filsystem, der rummer den. En kopi i en downloadmappe er ikke den installerede hjælper, uanset hvad dens tilstand siger.

Hvad Man Ikke Skal Gøre

At sætte set-user-ID-bits på en uverificeret binær fil og flytte den rundt, indtil begrænsningen forsvinder, er ikke en reparation. Det erstatter en politik, du ikke forstod, med en privilegie, du ikke kan revidere, og den samme teknik anvendt på en hjælper er en velkendt eskalationsvej. At fjerne nosuid fra et monter er værre, fordi det påvirker hvert program på det filsystem, ikke kun ét.

Den understøttede vej er klientens dokumenterede installation af hjælperen eller tjenesten, udført af en administrator, som placerer den binære fil, hvor politikken forventer den. Det holder én privilegiemekanisme i stedet for to.

Bekræft Den Reelle Startkontekst

Efter en autoriseret rettelse skal du køre hjælperen, som produktet kører den, i stedet for fra en root-shell. En succes som root beviser intet om den vej, en almindelig bruger tager, og forskellen mellem de to kontekster er præcis det, fejlen handlede om.

Bekræft derefter den netværkshandling, som hjælperen findes for. En hjælper, der starter, men ikke kan konfigurere grænsefladen, har flyttet problemet et trin videre, ikke løst det.

findmnt -no TARGET,OPTIONS /home
getcap /usr/libexec/openvpn-helper 2>/dev/null; ls -l /usr/libexec/openvpn-helper

Noter monteringsindstillingerne og hjælperens ejerskab i samme note. Ellers vil den næste, der fejlretter dette, gentage krypteringsteorien fra begyndelsen.

Relaterede artikler