./+DEINSTALL: Permission denied

Miroslav Lachman 000.fbsd at quip.cz
Wed May 31 09:45:52 CEST 2006


Dan Lukes wrote:
>>Vykaslat se uplne na noexec? (prida vubec nejakou realnou bezpecnost,
>>kdyz se jakykoliv script stejne da spustit zavolanim "sh
>>/var/db/spatny_script.sh"). 
> 
> 
> 	Neda, pokud dotycny nema pristup k sh (nekteri moji uzivatele nemaji). 
> Mohou treba mit pristup jen rsh. Krome toho, scripty i v pripade 
> neorezaneho sh jsou preci jen o dost slabsi nastroj nez to, co se da 
> napsat v C. A pristup k Perlu a jinym podobnym silnym nastrojum jim 
> proste nemusis dovolit ...

Budu tedy co nejkonkretnejsi - ve vetsine pripadu mam nastarosti 
servery, kde se provozuje web (Apache), databaze (MySQL,) mail 
(Postfix), FTP a veci s timhle zamerenim souvisejici. Uzivatele tam 
nemaji pristup k shellu, pouze FTP / HTTP upload. nosuid a noexec mam 
minimalne na oddilu, kam uzivatele nahravaji svoje soubory pres FTP 
(99.9% se jedna o soubory pro publikaci pres web). Tim nosuid a noexec 
na dalsich oddilech se snazim branit pripadnemu napadeni skrz diru v 
nekterem z nainstalovanych SW. Co si tak vybavuji, tak napriklad awstats 
(perlovy CGI pro generovani statistik z logu Apache) v minulosti 
obsahovaly diru, kde utocnik mohl nahrat soubor do docasneho adresare a 
odtamtud ho pres awstats spustit. Nevim o tom zadne vetsi podrobnosti, 
takze ani nemam jistotu, ze by tomu nosuid, nebo noexec zabranili. 
Zkratka se takovym podobnym utokum snazim vlozit do cesty co nejvic 
prekazek to jde. Tedy zakazat to, co neni k nicemu jinemu potreba. 
Jelikoz jsem si do ted myslel (nebo to tak spis donedavna bylo), ze na 
/var/db neni potreba suid ani exec, tak jsem tam mel nosuid a noexec a 
vse fungovalo - az ted se objevuji problemy s +DEINSTALL.
Tolik asi k mojim uvaham a duvodum.

>>Presunout /var/db/pkg na jiny oddil, ktery nema noexec a do /var/db na nej udelat symlink?"
> 
> 
> 	Napriklad. Nebo udelat novou partition, tu mountnout do /var/db/pkg a 
> na ni noexec nedavat.
> 
> 	Nebo behem instalace a deinstalace noexec flag odstranit.

Je pouziti mount -u -o current,exec /var/db
a nasledne mount -u -o current,noexec /var/db
bezpecne / bez vedlejsich ucinku pri pouziti na oddilu, se kterym se 
neustale pracuje? (ve /var/db/mysql jsou MySQL databaze) Pred casem jsem 
v konferenci freebsd-fs cetl, ze mount -u nekdy zpusoboval poskozeni 
filesystem, ale nevim, v jake verzi to bylo a jestli je to uz opraveno 
(udajne se to tykalo casto opakovaneho mount -u) Nevite o tom nekdo neco 
blizsiho?


> 	V naproste vetsine pripadu ano noexec ani nosuid nepouzivam. V naproste 
> vetsine pripadu se proti konkretnim rizikum branim jinymi mechanismy.

Lze se nejak ucine branit vyse popsanym pripadum napadeni? Ma napriklad 
smysl zacit studovat ACL / MAC? (mam o tom jen velice povrchni predstavu)

Predem diky za odpovedi

Miroslav Lachman



More information about the Users-l mailing list