Izolace na www serveru

Petros

Izolace na www serveru
« kdy: 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 /


qwerty

Re:Izolace na www serveru
« Odpověď #1 kdy: 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ě :).

SELinux

Re:Izolace na www serveru
« Odpověď #2 kdy: 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).

qwerty

Re:Izolace na www serveru
« Odpověď #3 kdy: 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í.

Lol Phirae

Re:Izolace na www serveru
« Odpověď #4 kdy: 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 ::)


TM

Re:Izolace na www serveru
« Odpověď #5 kdy: 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í.

Petros

Re:Izolace na www serveru
« Odpověď #6 kdy: 08. 08. 2013, 10:59:49 »
ja to potrebuji primo pro apache :/

student

Re:Izolace na www serveru
« Odpověď #7 kdy: 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.

Mira

Re:Izolace na www serveru
« Odpověď #8 kdy: 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.

j

Re:Izolace na www serveru
« Odpověď #9 kdy: 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

Jenda

Re:Izolace na www serveru
« Odpověď #10 kdy: 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.

j

Re:Izolace na www serveru
« Odpověď #11 kdy: 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.

McFly

  • *****
  • 591
    • Zobrazit profil
    • E-mail
Re:Izolace na www serveru
« Odpověď #12 kdy: 08. 08. 2013, 21:45:43 »
MPM ITK patch pro Apache + openbase_dir v PHP

qwerty

Re:Izolace na www serveru
« Odpověď #13 kdy: 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.

meno

Re:Izolace na www serveru
« Odpověď #14 kdy: 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.
« Poslední změna: 09. 08. 2013, 09:17:49 od Petr Krčmář »