Ukládání souborů ve webovém prostoru FZÚ
Na základě nepříjemné zkušenosti, kdy se nám nějaký hacker dostal na ústavní webový server a zneužil jej pro další podvodnou činnost, jsme byli nuceni přistoupit k tvrdším bezpečnostním opatřením než dosud. Tato opatření se týkají znemožnění ukládání souborů určených pro další zpracování nebo publikaci přímo do webového prostoru, tedy určité vyčleněné adresářové struktury, která je přístupná přes webový server Apache z internetu. Při výše uvedeném průniku došlo právě k tomu, že hacker uložil přes bezpečnostní díru v již existujícím našem scriptu, určitý svůj záškodnický PHP script, pomocí kterého pak podnikal další akce. Kdyby takovou možnost neměl, resp. kdyby neměl možnost spustit svůj uložený script, nemohl by proniknout dále do našeho serveru. A právě v této myšlence, nedostupnosti uložených souborů přes internet, je podstata vyšší bezpečnosti webového serveru ústavu.
Jsme si vědomi, že na našem ústavním webu existuje celá řada aplikací, které ještě potřebují ukládat nějaké soubory někam do filesystému serveru, i když již delší dobu doporučujeme ukládat kompletně všechna data do databáze MySQL. Potřeba ukládání souborů je v zásadě dvojího typu:
- Dočasné soubory - vytváří se převážně jako nějaké pracovní výstupy z aplikací a jsou určeny k nějakému dalšímu zpracování jinou aplikací, jejich potřeba existence je pouze dočasná. Takové soubory vytvářejte v adresáři /tmp/nazev_vasi_aplikace s tim, že si jako správci serveru vyhrazujeme právo tento adresář kdykoliv, např. na základě nějaké údržby, smazat. Vaše aplikace si musí otestovat existenci daného adresáře v /tmp, dříve než s ním začne pracovat a pokud tam není, musí umět si ho vytvořit. V ideálním případě by jej měla Vaše aplikace po sobě smazat sama.
- Trvalé soubory - obyčejně je ukládají sami uživatelé pomocí nějaké webové aplikace a jsou určeny k nějakému dalšímu sdílení obsahu na webu. Pro tyto soubry je určen adresář: /var/wwwdata/uživatel_wwwN, který pokud nemáte založený Vám rádi založíme (kontaktujte: strunc@fzu.cz nebo kyyashko@fzu.cz ), a zde si pak už sami můžete vytvářet soubory a adresáře přímo Vy, jako nějaký 'wwwN' uživatel nebo Vaše webová aplikace. Ale samozřejmě, že tento adresář je mimo webový prostor, tedy na něj není možný přímý přístup z internetu, ale Vaše aplikace napsaná např. v PHP do něj může zapisovat i číst, může v něm soubory a adresáře vytvářet i mazat.
Podle našich průzkumů chování aplikací na našem webu je zde hodně aplikací využívajících "Trvalé soubory" pro veřejné sdílení jejich obsahu na internetu, což Vám nyní fungovat nebude. Pro případ, že jde o soubory určené pro stahování ostatními uživateli, nabízíme Vám k použití PHP script, můžete ho zavolat na adrese: 'http://www.fzu.cz/library/php/download.php', kterému jako parametr "file" dáte cestu a název souboru, který chce uživatel stáhnout. Tento script mu jej regulérně nabídne ke stažení. Vždy se jedná o přenos obsahu souboru (stažení souboru) na počítač uživatele a nikdy nebude obsah interpretován webovým serverem, tedy nedojde např. ke zpracování případného PHP kódu apod. Navíc tento script má blokované stahování souborů s koncovkami:.php,.htm a.html, aby nemohlo dojít ani omylem ke stažení Vašich stránek a scriptů. Více o tomto scriptu naleznete
zde.
Dne 24.7.2007 napsal:
Miloslav Štrunc (
strunc@fzu.cz )