Milan Kryl

Komentáře k příspěvku

Zabezpečení PHP instalace

[ 1 ] 2ge (WWW) - 16.10.06 14:59:24

dobry clanok, dobre zhrnute...dik

[ 2 ] afu - 16.10.06 15:00:50

Easter Egg, ne Eastern :))

[ 3 ] Karel Břinda (WWW) - 16.10.06 15:48:05

Akorát bych možná nesouhlasil s tím limitem na 30 sekund. Občas člověk potřebuje něco delšího zpracovat a těch 30 sekund nemusí stačit (např. textové soubory o velikosti desítek MB). Samozřejmě je něco jiného, pokud člověk zpřístupňuje server cizím uživatelům (např. hostingy), ale pokud ho má pouze pro sebe, tak ví, co daný skript dělá. Obzvlášť omezujících může být těch 30 sekund u pomalejších mašinek (+-800MHz).

[ 4 ] zaachi - 16.10.06 16:58:46

2Karel Břinda: na tohle je potom funkce set_time_limit, kterou muzete libovolne zmenit cas, kdyz cekate delsi provadeni skriptu.
Doba je dobra nastavit hlavne pri testvani aplikaci, kdy muze dojit k nekonecnemu provadeni scriptu a potom staci jenom pockat 30 sekund a problem vyresit.
Vim ze to jde obejit i jinak, ale urcite je dobre tuto dobu nedavat vetsi nez 30 s. To vlastne vypliva i z vychoziho nastaveni

[ 5 ] Milan Kryl (WWW) - 16.10.06 18:53:24

[2] Díky - napraveno :)
[3] jj, ale musíš dobře vědět co děláš a povolit to jen pro případy, kdy to má doopravdy smysl a nedá se optimalizovat skript. A pak stačí ten set_time_limit, jak radí [4] zaachi :)

[ 6 ] Jakub Vrána (WWW) - 19.10.06 11:05:20

allow_url_fopen nás od rizika vzdáleného spuštění bohužel neuchrání: http://php.vrana.cz/vkladani-souboru-

Při safe mode se neověřuje, zda manipulované soubory patří Apache, ale vlastníkovi spuštěného skriptu.

Maska .(inc|.*sql|.*~)$ nezabrání v přístupu k záložním souborům bez koncovky.

Tyto nepřesnosti jsou i v originálním článku.

[ 7 ] Milan Kryl (WWW) - 19.10.06 13:56:23

[6] Díky za doplnění.

Co se týká masky, každý by si měl doplnit vlastní inc přípony, případně další pomocné soubory, které se můžou v projektu vyskytnout. A nebo jak jsem psal, přidávat příponu .php, aby je nebylo možné stáhnout i v případě, že je někdo objeví.

[ 8 ] spaze (WWW) - 17.11.06 16:04:53

safe_mode = Off -- proč off?

allow_url_fopen = Off
je sice hezký, ale veškerý data jsou nebezpečný a nezáleží na tom, jestli jsou lokální, nebo dostupný přes HTTP, na tom by z pohledu skriptu nemělo vůbec záležet.

Problém je s kódem, díky include/require $_GET['file']; mohu vkládat soubory a pokud mohu soubor vložit ze vzdáleného zdroje, tak je problém.

Od PHP 5.2 je k dispozici nová direktiva allow_url_include (přednastavená na Off), která umožňuje zakázat vkládání vzdálených souborů (tedy vkládání vzdálenýho "kódu"), při zachování možnosti otvírat vzdálený soubory stejně jako lokální. Podle všeho (a hlavně podle php_fopen_wrapper.c) to ale nezabrání zmiňovanýmu php://input útoku, takže ať je allow_url_fopen/include jakkoliv, tak stačí mít v kódu něco jako include basename($_GET['file']).'.php'; a nějaký vzdálený injekce přes cokoliv nehrozí.

[ 9 ] Dalibor - 18.12.07 03:29:04

[8] safe_mode = 0ff, protoze safe_mode_gid = On
:-)

Přidání komentáře