./+DEINSTALL: Permission denied
Dan Lukes
dan at obluda.cz
Sat May 27 20:58:00 CEST 2006
Miroslav Lachman napsal/wrote, On 05/27/06 19:27:
> Ja si myslim, ze je to na 99.9% tim, ze
> mam /var/db primountovan s option noexec a ten +DEINSTALL script je
> samozrejme ve /var/db/pkg/jmenoportu/+DEINSTALL, tudiz se ho nepovede
> spustit.
> /dev/ad0s1e on /var/db (ufs, local, noexec, nosuid, soft-updates)
> Nicmene by me ted od zkusenejsich zajimalo, jak to do budoucna resit?
> Vykaslat se uplne na noexec? (prida vubec nejakou realnou bezpecnost,
> kdyz se jakykoliv script stejne da spustit zavolanim "sh
> /var/db/spatny_script.sh"). Presunout /var/db/pkg na jiny oddil, ktery
> nema noexec a do /var/db na nej udelat symlink?
To je treba asi velmi vazne rozmyslet jake nebezpeci se "noexec" flagem
vlastne odstranuje.
Noexec ma smysl uplatnit jen na takoveho uzivatele, ktery nema pravo
zapisu na zadny disk, ktery by "noexec" nebyl. To znamena, ze uzivatele
se deli do dvou kategorii - ti, kteri mohou, a ti, kteri nemohou. Temi
prvnimi se nema smysl dale zabyvat. Pro ty druhe je mozne vytvorit jeden
ci vice noexec svazku a soucasne na vsech jinych svazcich je treba jim
zakazat jakekoliv pravo zapisu kamkoliv - beznym pravovym systemem.
Jakmile ale zacnu "noexec-it" i svazky, kam mohou zapisovat uzivatele
prvni skupiny, musim se s nimi dohodnout, ze "tam to opravdu nepujde" -
a musim si byt jist, ze to tak skutecne je. Jinak si koleduju o problemy.
Jinymi slovy - chci rict, ze noexec ma smysl, jakkoli je to flag
filesystemu, pokud se k problemu pristupuje smerem "od uzivatelu" -
nikoli smerem od filesystemu.
Za teto situace noexec ma svuj bezpecnostni smysl a neprinasi zadne
velke nebezpeci problemu.
Ve skutecnosti v praxi ja osobne noexec nepouzivam ...
> (prida vubec nejakou realnou bezpecnost, kdyz se jakykoliv script stejne da spustit zavolanim "sh /var/db/spatny_script.sh")
Neda. Tedy - samozrejme da - ale jen pokud je uzivatel opravnen
pouzivat (spustit) sh. A to je rozhodnuti spravce, jestli mu ho
zpristupni nebo ne.
Samozrejme, pokud mu ho nezpristupni, nemuze ocekavat, ze danemu
uzivateli budou fungovat systemove sh-scripty.
Nerad bych, aby se nekdo urazil kvuli poucovani, ale "bezpecnost" je
vzdy velmi komplikovany problem, ktery je treba nahlizet jako celek -
jen malokdy lze nejakeho vyznamneho zvyseni bezpecnosti dosahnout zmenou
nejakeho detailu v ramci funkcniho systemu ...
> Otravovat nekoho s zadosti o upravu, aby se ./+DEINSTALL nevolal primo,
> ale pres zmineny "sh /var/db/pkg/jmenoportu/+DEINSTALL"?
Ten posledni napad je prvni, co cloveka napadne - jenze - (DE)INSTALL
script nemusi byt nutne take sheloovsky script - muze to byt jakykoliv
jiny spustitelny program.
To kdyz uz, tak by se to muselo zrejme resit tak, ze by se script
nejprve prekopiroval na nejake misto (standardni nebo urcene spravcem
systemu, kde by slo programy spoustet) a spustil by se teprve tamodsud.
Dan
--
Dan Lukes SISAL MFF UK
AKA: dan at obluda.cz, dan at freebsd.cz,dan at kolej.mff.cuni.cz
More information about the Users-l
mailing list