Zabezpečení webových prezentací je velmi široké téma a rozhodně by měli brát zřetel na bezpečnost autoři webových prezentací a aplikací. Nedokonalá bezpečnost vede poté k napadení: viry, spam, kráděže identity apod.
Mezi nejzákldnější metody útoků patří cross-site scripting (xss), cross-site request forgety (CSRF) a sql injection. Dále sem patři phishing, clickjacking či path traversal.
Jako webový vývojář se s těmito druhy útoků setká skoro každý, pokud se dostanete k PHP, HTML, CSS či JavaScriptu. Avšak toto téma je nutné brát i z uživatelského hlediska. Proto zde uvádíme ty nejdůležitější tipy pro zabezpečení webových prezantací.
Mějte stále aktuální kód
Nejlepší ochrana je mít stále svůj kód aktuální. To platí především pro staré verze CMS jako je např. WordPress (o zabezpečení WordPressu se více dozvíte zde), staré instalace PHP, MySQL, starší verze prohlížečů, pro které se vydávají nové a nové bezpečnostní záplaty. Je to nekonečný závod, ale vyplatí se stále aktualizovat.
Stálé přihlášení - nepoužívat
Stálé přihlášení na webu je velmi nebezpečné. Jiné webové stránky mohou kontrolovat, zda je přihlášeni a pak pomocí metody clickjacking mohou provést skrytě nějakou operaci, kterou jste nechtěli. Je to zvláště nebezpečné u sociálních sítí, kde se můžou škodlivé kódy rozesílat všem svým přátelům jako lavinový efekt. Proto se vždy odhlašujte nebo tuto volbu vyškrtněte.
Používejte silná hesla
I “neprůstřelné” systémy mohou být napadnutelné, pokud uživatelé používají slabá hesla. Nejlépe je měnit každé dva týdny, používat různé znaky a čísla, aby to útočnici měli těžší. Používají se většinou metody útoku brute force a dictionary. Brute force útoky se snaží pomocí smyčky vkládat různé možnosti a velice to zatěžuje server. Druhý způsob útoků dictionary využívá databázi různých slov.
Je důležité tedy vytvářet silná hesla i např. pomocí různých nástrojů jako jsou Strong Password Generator či Password Generator. Je těžké si tato hesla poté pamatovat, takže lze použít různé aplikace pro ukládání hesel jako jsou OnePassword či KeePass.
Vypnutí výpisu složek
Jak již bylo zmíněno, povolení procházení ve výpisu složek používají útoky path traversal. Povolení výpisu je špatný nápad. Proto tuto možnost zakažte nebo alespoň zaheslujte. Testování, zda je vaše cesta průchodná je velmi jednoduché.
- Vytvořte si na serveru novou složku, např. TEST.
- Přidejte do ní nějaké soubory nebo složky. Nepřidávejte soubory index.html, index.php či default.aspx, které využívá server jako výchozí.
- Zkontrolujte složku ve vašem prohlížeči např. http://vase-domena.cz/test/
- Pokud uvidíte seznam složek, tak proveďte ihned nápravu nebo kontaktujte správce serveru.
Vypnutí chybových hlášení PHP
Mnoho serverů je nastaveno tak, aby zobrazoval chybové zprávy PHP, když narazí prohlížeč na problém. tyto zprávy jsou výborným zdrojem informací pro útočníky. Vypněte tuto možnost nebo kontaktujte správce serveru.
HTML
- HTML je poměrně bezpečné. Je převedené do textu a není zde žádná interakce se serverem nebo s výpočty. HTML by se mělo tedy používat na to, k čemu slouží:
- HTML není databáze pro ukládání informací. Každý kdo používá ladící nástroje v prohlížeči může nahlédnout do HTML.
- Nepoužívejte komentáře v HTML pro ukládání důležitých informací.
Javascript
Javascript se používá k vytvoření rozhraní, které jsou využívat pro zábavnou formu a umožní návštěvníkům, aby dosáhli výsledků rychle a pohodlně. Je několik zásadních věcí pro které by se neměl javasript používat:
- ukládání citlivých informací
- ukládání cookies, které obsahují data relací
- ochrana obsahu
- dávat JavaScript jako jediný prostředek pro ověření
- dávat si pozor na stahované cizí javascripty