[vpsFree.cz: community-list] Souborová práva pro nginx/php-fpm
"Jan B. Kolář"
janbivoj.kolar at zazen-nudu.cz
Wed Jul 22 13:12:21 CEST 2015
Ahoj,
původně jsem měl napsaný detailní e-mail, ale pak jsem si řekl, že by
Vás to asi obtěžovalo číst :-D Pročetl jsem už hodně článků, přesto bych
potřeboval poradit s jednou věcí. Snažím se dosáhnout takového nastavení
nginx a php-fpm, které by bylo bezpečné, ale zároveň mi umožňovalo
snadnou úpravu souborů (přímou editaci, kopírování, mazání). Na serveru
mám cca. 10 projektů a přistupuji k němu sám (momentálně nemám potřebu
přístupu více uživatelů k souborům).
Poradíte mi, jestli je toto dobré nastavení pro "projekt1" (u dalšího by
pak byl "projekt2", atd.):
php-fpm.conf
------------------
user = projekt1
group = projekt1
...
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
nginx.conf
------------------
user = www-data
(nginx součástí skupiny "projekt1")
web-root: /hosting/projekt1/web_root/* (chown ja:projekt1, chmod 640)
tpm :/hosting/projekt1/web_root/tmp/* (chown ja:projekt1, chmod 660)
Budou takto projekty dostatečně odděleny? Pokud dojde k napadení
"projektu1", nemůže nějak útočník využít přístupu nginxu k "projektu2"
(nginx bude ve skupinách všech projektů)? Jelikož php i nginx budou
využívat stejného oprávnění skupiny, nehrozí zneužití nginxu pro zápis
do složky "tmp" (teoreticky tam potřebuje zapisovat jen PHP, avšak jak
práva oddělit)?
Předpokládám, že největší zranitelností bude php (možná mylně). Je dobré
mít u projektů pro "ostatní" zcela zakázán přístup? Přemýšlel jsem totiž
i o nastavení, kde by "skupinu" tvořil php-fpm pool a jako "ostatní" by
přistupoval nginx. To by však dle mého názoru znamenalo dát práva pro
čtení "ostatním". Tedy alespoň při mých pokusech odmítal nginx zobrazit
php stránku v případě, že index.php měl práva 640 (nginx nebyl součástí
skupiny).
Předem díky za Vaše názory případně odkazy na nějaké dobré zdroje informací.
Honza
More information about the Community-list
mailing list