Portál AbcLinuxu, 9. května 2025 23:52

Dotaz: Apache a práva - nekonečný problém

13.6.2007 16:44 Tabak | skóre: 1
Apache a práva - nekonečný problém
Přečteno: 754×
Odpovědět | Admin
Zdravím. Řeším už několik dní problém s vytvořením bezpečného (nejen) web hostingu pro mně a pár kamarádů (celkem tedy okolo deseti hostingů). Konkrétně narážím na toto:
1. Uživatelé budou mít přístup přez FTP, prezentaci www a někteří SMB přístup.
2. někteří uživatelé potřebují přístup přez ssh + budou na serveru kompilovat a používat všemožné - odpadá možnost virtuálních účtů, chroot by ses stal peklem.
3. Domovské adresáře tedy musí mít práva 700 (nebo 750 ale pravdepodobne bude mit kazdy svoji skupinu) z toho ale plyne ze se apache za normalnich podminek nedostane k uziv. web prezentaci.

Při brouzdání Internetem a všemožnými portály jsem dospěl k několika řešení avšak u každého se vyskytuje určitý háček:
1. V apachi pouzit mpm-peruser - háček: nezdokumentované, neprověřené, nutnost KeepAlive off, atd.
2. Použít mod_ruid - háček: httpd musí běžet pod rootem (to možna i při použití peruser), čehož se bojím, ne že by se nedali použít nějaké patche na kernel ale bylo by s tim hrozně moc práce která pokud by se neodvedla dobře mohlo by to mít katastrofalní následky.
3. Oddělit uživatele s ssh od "běžných", všechny web prezentace by vlastnil apache a v ftp bych použil virtuální účty - háček pokud by chtěl uživatel i ssh i ftp byl by problem.
4. Spustit Apache pro každého uživatele zvlášť a použít proxy - toto řešení bude sice náročné na systém a nej-nemotornější ale vcelku asi nejbezpečnější.
Rád bych tu s vámi tyto možnosti prodiskutoval a zeptal se na vaše případné (lepší) nápady. Lámu si s tím hlavu už docela dlouho a rád bych už to měl za sebou :). Děkuji
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.6.2007 20:18 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: Apache a práva - nekonečný problém
Odpovědět | | Sbalit | Link | Blokovat | Admin
3. Domovské adresáře tedy musí mít práva 700 (nebo 750 ale pravdepodobne bude mit kazdy svoji skupinu) z toho ale plyne ze se apache za normalnich podminek nedostane k uziv. web prezentaci.

ked tam hodis iba a+x , tak sa do adresarov bude dat vojst, avsak nikto nebude vidiet obsah (teda okrem vlastnika) - to je urcite nutne takto mat. dalej by si mohol urobit to, ze kazdy by mal u seba adresar napr. 'public_html', v ktorom by bol umiestneny web. na tomto adresari by si nastavil skupinu na 'www-data' (resp. na taku, v akej je len apache) a prava u+rwx,g+rx-w,o-rwx . robilo by to presne to, co chces: do adresara by mal pristup jedine vlastnik a apache.
14.6.2007 14:16 Tabak | skóre: 1
Rozbalit Rozbalit vše Re: Apache a práva - nekonečný problém
Samozřejmě jsem na začátku přemýšlel o podobném řešení. Má to však pár háčků - skripty jedou pod užiatelem apache což může způsobovat problémy a pokud se bude dát do adresářů vejít a uživatel vytvoří jejich obsah se špatnými právy může mu ho záškodník číst.
14.6.2007 14:35 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: Apache a práva - nekonečný problém
tomuto zase zabrani safe_mode a/alebo open_basedir (ak sa jedna o PHP skripty)
14.6.2007 16:17 Tabak | skóre: 1
Rozbalit Rozbalit vše Re: Apache a práva - nekonečný problém
Na začátku jsem psal že budou uživatelé s ssh přístupem. Pokud budou mít domovské adresáře a+x dá se toho zneužít. Právě proto toto jednoduché řešení pomocí práv nechci použít.
14.6.2007 17:13 jm
Rozbalit Rozbalit vše Re: Apache a práva - nekonečný problém
Tak si tam zprovozni SELinux, grsec nebo neco podobnyho co to resi systemove, misto takovyho bastleni ktery stejne nebude fungovat a nic nevyresi.
14.6.2007 21:34 Tabak | skóre: 1
Rozbalit Rozbalit vše Re: Apache a práva - nekonečný problém
Odpovědět | | Sbalit | Link | Blokovat | Admin
Máte někdo zkušenosti s mod_vhs? Dokáže mi to pomoci? Nedokázal jsem z dokumentace pochopit jestli to vstupuje do dokumentů pod pravy uživatele ke kterému náleží a nebo ne.
14.6.2007 21:46 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: Apache a práva - nekonečný problém
vzhladom na to, ako apache funguje, pracuju vsetky taketo moduly s pomocou pomerne skaredych 'hackov' a celkom iste znamenaju znacne znizenie vykonu celeho web serveru. ja len aby si vedel do coho ides :)
15.6.2007 01:00 jiri.b | skóre: 30 | blog: jirib
Rozbalit Rozbalit vše Re: Apache a práva - nekonečný problém
Odpovědět | | Sbalit | Link | Blokovat | Admin
no taky nad tim polemizuji... asi nejlepsi reseni me pripada suexec, spusti to podle handleru program na skript pod uzivatelem. takze do uzivatelova adresare leze jen program bezici pod pravy uzivatele vlastnici adresar.

co v pripade html? :) nejaky wrapper... nevim.

nebo se vybodnout na apache a dat lighttpd:
# sqlite3 /usr/local/share/sqlports "select fullpkgname,comment from ports where fullpkgname like 'lighttpd%';" | head -n 1
lighttpd-1.4.13p2|secure, fast, compliant, and very flexible web-server
15.6.2007 09:39 Tabak | skóre: 1
Rozbalit Rozbalit vše Re: Apache a práva - nekonečný problém
Odpovědět | | Sbalit | Link | Blokovat | Admin
Právě že při použití všech těhle su* nastává jisté bezpečnostní riziko, kterému se chci vyhnout. Stejně to neřeší všechno. Dnes se pokusím rozchodit zmiňovaný mod_vhs a uvidím.
15.6.2007 15:04 jiri.b | skóre: 30 | blog: jirib
Rozbalit Rozbalit vše Re: Apache a práva - nekonečný problém
suexec - leta pouzivany kod, takze bych dal prednost nemu nez nejakeho rychlokvasenemu projektu :) dale vam nikdo nebrani udelat si vlastni MAC policy na ty 'handlery', tj. ze muzou lezt pouze do (treba) /var/www/user/domena/web a ne jinak v /var/www/user

napriklad na openbsd bych vedel jak to udelat - pomoci systrace :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.