Nacházíte se zde: Úvod Podpora Články Hostingové zprávy Bezpečnost práce s webovými aplikacemi
Bezpečnost práce s webovými aplikacemi
V době vzniku většiny běžně používaných internetových služeb (FTP, HTTP, SMTP apod.) byl Internet téměř ideálním místem, kde se pohybovali pouze dobře poučení uživatelé s "rytířským" přístupem. Tyto doby jsou bohužel už pryč, stále častěji se setkáváme s případy zneužití nedostatečné bezpečnosti služeb nebo nedostatečného povědomí uživatelů o bezpečnosti používání služeb a vytváření internetových stránek a aplikací. V tomto článku bychom se rádi soustředili na webové aplikace - zmíníme nejčastější výsledky útoků a následně stručně rozebereme příčiny jejich vzniku.
Nejčastější výsledky útoků
Výsledky útoků jsou víceméně dvojího druhu - změna webové prezentace a zneužití hostingových služeb.
Změna webové prezentace
Změnou webové prezentace může být změna obsahu stránek (například hlášení typu "hacked by turkish hacker"), nebo přidání nějakého kódu do stránek (obvykle s využitím javascriptu, nebo HTML tagu iframe
). Tento kód se pak do počítače návštěvníka stránek snaží stáhnout nějaký škodlivý program (vir, trojan, malware, apod... - týká se to prakticky pouze uživatelů operačních systémů z rodiny Microsoft Windows). Běžné antivirové štíty či podobný bezpečnostní software by si s touto hrozbou měl poradit, nicméně ne všichni uživatelé jsou dostatečně zodpovědní a bezpečnostní software používají, nebo jej udržují aktuální. Umístění takového kódu může mít přímý vliv i na doménové jméno - doména může být například ve vyhledávačích či prohlížečích označena za nedůvěryhodnou, nebo dokonce může být registrátorem trvale suspendována. V tomto případě jsou postiženi zejména návštěvníci stránek a jejich provozovatel.
Zneužití hostingových služeb
Druhým možným výsledkem útoků je zneužití hostingových služeb (typicky PHP) díky tomu, že k nim má útočník přístup. Zde se jedná například o rozesílání spamu, útoky na vzdálené služby (TCP flood), umístění škodlivého obsahu (např. phishingových stránek), nebo pokusy o narušení vnitřní bezpečnosti serveru. V tomto případě může být ohrožena vnitřní bezpečnost serveru, nebo stabilita a plynulost služeb.
Příčiny vzniku a řešení problémů
Výše zmíněné útoky jsou umožněny v zásadě dvěma skupinami bezpečnostních problémů - buď díky prozrazení přístupových údajů pro přenos souborů, nebo díky nějaké bezpečnostní chybě v uživatelské aplikaci.
Přenosy souborů
V tomto případě útočník nějakým způsobem zjistí přístupové údaje pro přenos souborů a díky tomu se pak může sám přihlásit na server a libovolně tam pracovat. V případě používání protokolu FTP je možné přístupové údaje odposlouchat při komunikaci - tento protokol není zabezpečený (je to jeho vlastnost). O rizicích používání protokolu FTP se zmiňujeme v nápovědě ve článku Riziko používání protokolu FTP. Častěji se však stává, že jsou údaje prozrazeny jiným způsobem, typicky pomocí nějakého škodlivého software (viru, trojanu, malware...) na počítači uživatele. Takový software například přečte uložené údaje z konfigurace FTP klienta a ty pak pošle svému tvůrci. Konkrétním příkladem je zneužití nedostatečné bezpečnosti ukládání hesel v populárním programu Total Commander. K tomuto tématu je možné najít celou řadu článků, například na dsl.cz, emag.cz, nebo pari.cz (stránky již nejsou dostupné).
Kromě protokolu FTP nabízíme i jeho rozšíření FTPs. Přínos je zde pouze v zašifrování přístupových údajů (takže by nemělo být možné je získat odposloucháním), komunikace jako taková ale zabezpečena není. Jako částečné opatření proti nahrávání škodlivého kódu do stránek uživatelů pomocí FTP jsme také zavedli antivirovou kontrolu nahrávaných souborů.
Nicméně o skutečné bezpečnosti přenosu souborů je možné uvažovat pouze v případě použití protokolu SFTP/SCP. Ten nabízíme jako jedna z mála webhostingových služeb u nás (a to již od dubna 2004) jako součást základní nabídky služeb. Přenosy pomocí protokolu SFTP/SCP jsou kompletně zabezpečené a SFTP/SCP doporučujeme používat jako primární nástroj pro přenos souborů. Kromě SFTP/SCP mají naši uživatelé pro přenos souborů možnost používat rsync přes SSH, což je zabezpečený nástroj pro efektivní přenášení rozdílů v souborech. Navíc pro SFTP/SCP a rsync nabízíme možnost nastavení vlastních SSH klíčů, čímž odpadne nutnost zadávání přístupových údajů.
Pro přenosy souborů uvádíme následující obecná doporučení:
- Udržujte svůj počítač bezpečný - tzn. pravidelně aktualizujte operační systém, uživatelé operačních systémů z rodiny Microsoft Windows by měli používat kvalitní antivir a firewall. Toto doporučení se samozřejmě netýká jen přenosu souborů, ale veškeré práce na Internetu.
- Používejte protokol SFTP/SCP nebo rsync přes SSH.
- Často měňte přístupové heslo, heslo pokud možno neukládejte ve Vašem počítači (zejména ne v programu Total Commander).
- Pokud z nějakého důvodu musíte používat protokol FTP, používejte variantu FTPs.
Bezpečností chyby v PHP aplikacích
Druhou možností je zneužití nějaké bezpečnostní chyby v aplikaci uživatele. Bezpečnost webových aplikací je velmi široká oblast, přehled v ní by měl mít každý tvůrce webových aplikací. Toto téma je příliš rozsáhlé, proto není možné jej zde popsat. Nicméně nejčastější příčinou problémů je to, že aplikace umožňuje útočníkovi na serveru vykonat libovolný PHP kód, nebo nahrát a spustit jeho PHP skript. Některé základní informace i s příklady vyplývající z naší praxe uvádíme v nápovědě na stránce Tipy k PHP aplikacím.
Pokud používáte nějaký opensource systém, sledujte jeho vývoj a pravidelně jej aktualizujte! Součástí nových verzí jsou zpravidla i opravy objevených chyb. V poslední době jsme se setkali se zneužitými bezpečnostními chybami například u populárních systémů Joomla, WordPress či phpBB.
Závěrem
U všech nabízených služeb se snažíme zajistit maximální možnou úroveň bezpečnosti. K jejich správě a práci s nimi nabízíme zabezpečené nástroje (SFTP/SCP, zabezpečený přístup k aplikacím pro správu, POP3s, IMAPs atd.), nicméně k jejich výhradnímu používání uživatele nenutíme, neboť by to v některých případech ani nebylo možné. Ve výsledku jsou služby tak bezpečné, jak bezpečně s nimi pracují uživatelé a co umožní jejich aplikace. Vznik všech výše zmíněných situací je vážným problémem, proto bezpečnosti věnujte dostatečnou pozornost.
Komentáře
Freebooter 28.4.2009 06:37
Vlado Tovarnak 11.5.2009 11:56
Jakub Mach 20.5.2009 11:51
Pavel Vejsada 23.7.2009 15:48
Je to bezpečné? Předem díky.
Karel Studnicka 30.7.2009 23:30
prijde mi trochu jako vyhybani se zodpovednosti sepsani podobneho clanku, ale zcela ocividne ignorovani faktu, ze vy sami jako webhosteri mate pri ruce nastroj k zabraneni podobnych utoku ze vsech nejmocnejsi. jednoducha volba v administraci hostingu "zamezit pristup k ftp z ip adres mimo cr", pripadne moznost definovat ip adresy ci rozsahy, ze kterych je mozne vyhradne k ftp pristupovat by totiz resila nasledky tohoto problemu v 99% pripadu
s pozdravem a vyzvou k zamysleni se,
karel studnicka
Jakub Mach 31.7.2009 10:01
Marek 19.3.2018 13:42