Úvod > Články > Nejčastější chyby v zabezpečení webů

Nejčastější chyby v zabezpečení webů

Developeři internetových projektů, portálů a rozsáhlejších stránek stále častěji bojují s nájezdy robotů, kteří roznáší spamy, zaplavují diskuse reklamními příspěvky a otravují život administrátorům i návštěvníkům. Jak se proti útokům bránit? Stále existuje několik bezpečných řešení.

Vývoj webových stránek už není tak automaticky přímočarý, jako tomu bylo v minulosti. Chcete-li vytvořit bezpečný web, který odpovídá moderním standardům, pak musíte vydefinovat slabá místa, kudy by jednak mohl zaútočit hacker, spamovací robot či jiní barabové. Je nutné, aby webový vývojář začal přemýšlet jako hacker a sám zjistil, kde má jeho výtvor největší mezery. V tomto článku se zaměříme na některé systémy ochran webů, které se neustále diskutují a kde hrozí při absenci dostatečné ochrany vnější útok.

Přístup ke složkám a souborům

Častou chybou administrátorů, zejména pak juniorů, je zpřístupnění některých složek na serveru s plnými právy pro kohokoli. Důvodem bývá obvykle usnadnění práce, kdy je potřeba do určité složky umísťovat soubor uživatelů. Fyzicky soubor ukládá Apache (v případě PHP), ale kdo by definoval práva tak složitě, když to jde jednoduše. Tím, že administrátor povolí do složky přístup komukoli, může vzniknout mnoho problémů. Stejně jsou na tom pak soubory, kterým jsou tato plná práva přidělena. Riziko útoku je velké. Neméně závažný prohřešek je, pokud je povoleno zobrazení položek složky. To by mělo být zakázáno přinejmenším souborem „.htaccess“.

Databáze a administrační rozhraní

Je zřejmé, že heslo do databáze by mělo být bezpečné. Mělo by být ale také bezpečně uloženo. Ideální je, pokud je i v konfiguračním souboru nějakým způsobem šifrováno. Když už by se někdo dostal k šifře hesla, nemusel by najít způsob, kterak jej dešifrovat. Problémem u některých oblíbených redakčních systémů (např. Joomla) je fakt, že instalátor vytvoří standardizovaný účet nejvyššího admina. Pokud si jej administrátor nezmění, hrozí riziko, že server někdo napadne a změní jeho obsah.

Umístění e-mailové adresy na webu

Ač se to možná nezdá, publikovat e-mailovou adresu na jakémkoli webu je hazard nejvyššího kalibru. Jakmile na stránku narazí spamovací robot, máte o přísun kvalitního spamu postaráno. Mnohem lepší je využít kontaktního formuláře, který směřuje na skript, jenž toto přeposlání vzkazu zařídí přímo na serveru. Za jistých okolností je možné e-mailovou adresu uvést, je k tomu ale zapotřebí drobné finty. Znak zavináče je nutno v kódu stránky nahradit HTML entitou. Blíže se o tomto způsobu ochrany e-mailových adres dočtete v tomto článku.

Přihlašování uživatelů

Mohlo by se zdát, že v případě využití dobrého způsobu hashování uživatelského hesla je vše v pořádku a přístup je tak bezpečný. O samotné bezpečnosti dnešních hashovacích algoritmů jsme psali v tomto článku. Z pohledu serveru a provozovatele je vše v pořádku. Co když ale mezi vrstvou prohlížeče a serveru stojí ještě nějaký prvek, který hesla odchytává? Uživatele může teoreticky někdo sledovat na síťové vrstvě a zjišťovat pak jeho data. K samotnému hashování dochází v drtivé většině případů až na serveru, což může být již pozdě. Administrátoři by tedy měli zajistit, aby byla hesla kódována ještě před jejich odesláním přes síť. K tomu může posloužit prastarý Javascript, kdy je heslo nějakým, byť jednoduchým, způsobem šifrováno a na serveru pak dešifrováno.

Diskuze a návštěvní knihy

Kdo z vás někdy zprovoznil návštěvní knihu nebo diskuzi na svých stránkách bez zabezpečení, ten asi ví, co weboví roboti dokážou udělat během několika dnů. Pokud je v diskusi nebo návštěvní knize využit běžný formulář bez zabezpečení, dočkáte se během několika dnů desítek, stovek nebo i tisíců „hodnotných“ příspěvků propagujících pornografické weby či přípravky na hubnutí nebo potenci. Kolega, který svou diskuzi na osobních stránkách nezabezpečil, po měsíci zjistil, že má v diskuzi na 10 tisíc příspěvků od robotů.

Zvolil tedy nejméně náročnou ochranu, kdy žádal po diskutujících návštěvnících, ať přepíší určité číslo vypsané slovy do speciální kolonky. Bohužel kontrolu tohoto výrazu prováděl pomocí Javascriptu, takže během týdne se historie zopakovala a databáze byla plná generovaných diskuzních příspěvků stejného charakteru, jak to bylo v případě bez jakéhokoli zabezpečení. Následovala tedy kontrola podobného čísla pomocí ověřovacího PHP skriptu. Toto řešení, ač taktéž jednoduché, zatím roboti neobešli. Jak se v minulosti ukázalo, ani často užívaná Captcha není neprůstřelná.

Závěrem

Vývoj webů je vždy souboj vývojářů se strůjci útoků. Udělat v dnešní době dobře zabezpečený web je nadlidský úkol, protože člověk časem zjistí, že na určitou oblast zapomněl. Nezbývá než stále doplňovat funkční projekty o nové druhy ochran a být na pozoru.

17. 3. 2009

Autor: David Procházka

Sdílejte

Přečtěte si také

 

Mapy.cz představují novinku

Seznam.cz přišel s novinkou pro turisty. Společnost přidala novou funkci do portálu Mapy.cz. Jedná se o možnost...

 

Windows 9: nač ten spěch?

Stále více hlasů ze zasvěcených kruhů mluví o tom, že Microsoft hodlá v srpnu představit svůj nejnovější operační...

 

Google nakupuje analytické nástroje: po Emu získal také JetPac

Google se ve svých akvizicích zaměřuje na firmy, které pracují s umělou inteligencí a pokročilou analýzou dat...

Nejčtenější články

Proč se na pořádný fotbal nepodíváte ani na ČT?

 

Britskou Premier League, Sky Bet Championship a španělskou ligu mohou čeští diváci sledovat pouze na Nové Digi TV a...

DSL internet nabídne rychlost připojení až 250 Mb/s

 

Společnost Česká telekomunikační infrastruktura (CETIN) zavádí technologii VDSL3, díky které nabídne v květnu vyšší...

Rychlosti Wi-Fi internetu na DSL.cz v říjnu 2016

 

I v desátém měsíci roku 2016 jsme pro vás připravili zajímavé statistiky zaměřené na Wi-Fi providery. Z našeho...