Fórum Root.cz

Hlavní témata => Server => Téma založeno: Petros 07. 08. 2013, 15:25:34

Název: Izolace na www serveru
Přispěvatel: Petros 07. 08. 2013, 15:25:34
chtel bych vice userum dovolit na testovacim serveru test jejich stranek...
chtel bych ale zamezit, aby php scripty nemohly lozit v adresarich vyssi urovne.

pr:
/var/www/vhost1/index.php
/var/www/vhost2/index.php

scripty vhost1 by se nemely dostat na uroven /www a uz vubec ne na uroven /
Název: Re:Izolace na www serveru
Přispěvatel: qwerty 07. 08. 2013, 15:46:13
Na to není úplně jednoduchá odpověď. Základ je open_basedir v php.ini, ale to se dá obejít. Já mám na serveru pro každou doménu vlastní účet, pod kterým pak běží PHP interpret vyhrazený pro danou doménu, ale tohle popisovat by bylo pomalu na seriál. Možná bych doporučil zvážit nainstalovat něco ve stylu ispCP (http://isp-control.net/), ten vše nainstaluje a nastaví za tebe, relativně asi bezpečně :).
Název: Re:Izolace na www serveru
Přispěvatel: SELinux 07. 08. 2013, 16:01:44
Řešení je několik, ovšem žádné není zároveň elegantní, jednoduché a dostatečně účinné.

Pokud jsi ochoten věnovat tomu nějaký čas a úsilí a vzdát se jednoduchých řešení, tak to lze řešit pomocí SELinuxu s využitím modulu Apache mod_selinux. Samo o sobě to nedá moc práce nastavit a je to elegantní a účinné. Problém je v tom, že pokud to má člověk spravovat, tak je třeba se naučit pracovat se SELinuxem jako celkem a ne pouze něco obšlehnout z nějakého návodu z internetu. Pokud se správě serverů hodláš věnovat více, tak to zkus, on ten SELinux nakonec není až tak složitý, jak se na první pohled zdá.

Předpokladem samozřejmě je podpora SELinuxu v distribuci, kterou používáš a dostupnost modulu mod_selinux (ten si ale vždycky můžeš sestavit sám).
Název: Re:Izolace na www serveru
Přispěvatel: qwerty 07. 08. 2013, 16:10:58
Řešení co jsem popsal výše, tedy omezení pomocí uživatelských práv, mi přijde rozhodně unixovější a univerzálnější. Nicméně přes SELinux to asi bude také funkční.
Název: Re:Izolace na www serveru
Přispěvatel: Lol Phirae 07. 08. 2013, 16:15:31
Předpokladem samozřejmě je podpora SELinuxu v distribuci, kterou používáš a dostupnost modulu mod_selinux (ten si ale vždycky můžeš sestavit sám).

Neee, dík, "zabezpečení" z dílny NSA mě nezajíma.  ;D ::)
Název: Re:Izolace na www serveru
Přispěvatel: TM 07. 08. 2013, 16:57:20
použij php-fpm, co vhost to virtuální linuxový user + openbasedir. Případně php-fpm umí i chroot, ale to už je pak potřeba naházet každému uživateli i pár knihoven pro plnou funkčnost php funkcí.
Název: Re:Izolace na www serveru
Přispěvatel: Petros 08. 08. 2013, 10:59:49
ja to potrebuji primo pro apache :/
Název: Re:Izolace na www serveru
Přispěvatel: student 08. 08. 2013, 13:41:23
Neee, dík, "zabezpečení" z dílny NSA mě nezajíma.  ;D ::)
Potom je tu mod_apparmor - a zmena hat-ov.
Název: Re:Izolace na www serveru
Přispěvatel: Mira 08. 08. 2013, 15:25:49
Apache + mod_fcgid + open_basedir + linux user. A nedostane se nikam kam neches, aby se dostal.

Popripade OpenVZ a jednotlive "ucty" hazet do samostatnych kontejneru ... ale to uz neni tak jednoduche.
Název: Re:Izolace na www serveru
Přispěvatel: j 08. 08. 2013, 18:37:39
A nestacilo by nahodou nastavit DocumentRoot ? Pokud me skleroza neklame, tak apache nepusti appku mimo takto zadefinovany strom. Predpokaldam samo ze kazdej user bude fungovat jako samostatnej vhost => adresy ke "svym" webum trebas jako login.domena.cz
Název: Re:Izolace na www serveru
Přispěvatel: Jenda 08. 08. 2013, 18:46:15
A nestacilo by nahodou nastavit DocumentRoot ? Pokud me skleroza neklame, tak apache nepusti appku mimo takto zadefinovany strom.
Podle mě klame. V okamžiku, kdy se používá PHP jako FastCGI nebo dokonce jenom CGI, tak určitě, jak je to s mod_php nevím, neprovozuji.
Název: Re:Izolace na www serveru
Přispěvatel: j 08. 08. 2013, 21:27:16
A nestacilo by nahodou nastavit DocumentRoot ? Pokud me skleroza neklame, tak apache nepusti appku mimo takto zadefinovany strom.
Podle mě klame. V okamžiku, kdy se používá PHP jako FastCGI nebo dokonce jenom CGI, tak určitě, jak je to s mod_php nevím, neprovozuji.

Samo, predpokladam php v podobe modulu apache, nikoli jako cgi. Mimochodem, on to nekdo pouziva jinak? Pokud vim, tenhle rezim je velmi nedoporucovan - prave z duvodu bezpecnosti.
Název: Re:Izolace na www serveru
Přispěvatel: McFly 08. 08. 2013, 21:45:43
MPM ITK patch pro Apache + openbase_dir v PHP
Název: Re:Izolace na www serveru
Přispěvatel: qwerty 09. 08. 2013, 00:01:04
Samo, predpokladam php v podobe modulu apache, nikoli jako cgi. Mimochodem, on to nekdo pouziva jinak? Pokud vim, tenhle rezim je velmi nedoporucovan - prave z duvodu bezpecnosti.
Kde jste tohle zjistil? Bezpečnost u FGI/CGI je naopak na lepší úrovni, díky tomu že to nezávisí na pochybné aplikační logice mod_php a Apache, ale jednoduše na nastavení uživatele. U mod_php není prakticky žádný sandbox. A co až php zruší safe_mode? Navíc je to zabiják výkonu, hlavně pokud jde o servírování statického obsahu a nehorázného obsazení paměti.
Název: Re:Izolace na www serveru
Přispěvatel: meno 09. 08. 2013, 09:10:24
presne tak, (F)CGI, document_root a hlavne spravne nastavene prava na adresare a nezapise nikam nic.

Edit admin: Necitujte zbytečně celé příspěvky nad sebou, zhoršuje to přehlednost.
Název: Re:Izolace na www serveru
Přispěvatel: lupex 09. 08. 2013, 11:00:44
Nahraj si tam php shell a testuj jak mu nejvíc zakroutit krkem, SELinuxu bych se nebál, bližší NSA než uživatel s děravou www stránkou.
Název: Re:Izolace na www serveru
Přispěvatel: Jenda 09. 08. 2013, 19:42:58
presne tak, (F)CGI, document_root a hlavne spravne nastavene prava na adresare a nezapise nikam nic.
No ale musí to (F)CGI běžet každé pod jiným uživatelem.

Jaké zvíře se nachází ve slovním spojení „jako zelí“?:
jak
Neodpověděli jste správně na ověřovací otázky.

Hej WUT?
Název: Re:Izolace na www serveru
Přispěvatel: rooobertek 10. 08. 2013, 12:14:42
Strielam iba naslepo, tak sorry, ak som vedla :) http://openvz.org/Shared_webhosting http://www.root.cz/clanky/openvz-vytvorte-si-vlastni-virtualni-server/
Ešte som to nikdy neskúšal, ale páči sa mi to.