Fórum Root.cz
Hlavní témata => Server => Téma založeno: 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 /
-
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ě :).
-
Ř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).
-
Ř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í.
-
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 ::)
-
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í.
-
ja to potrebuji primo pro apache :/
-
Neee, dík, "zabezpečení" z dílny NSA mě nezajíma. ;D ::)
Potom je tu mod_apparmor - a zmena hat-ov.
-
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.
-
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
-
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.
-
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.
-
MPM ITK patch pro Apache + openbase_dir v PHP
-
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.
-
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.
-
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.
-
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?
-
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.