Ako na zabezpečenie webových stránok / 1. časť
Pripravili sme pre vás seriál, ktorý vás oboznámi s technológiami slúžiacimi na zabezpečenie webových stránok a vysvetlenie základných pojmov z tejto problematiky. Informácie vám poslúžia pri zabezpečení vašich webových stránok, ako aj pri zvýšení bezpečnosti počas surfovania na internete.
Nezabezpečené dáta prenášané cez protokol HTTP môže ktokoľvek prečítať a odpočúvať. Zabezpečenie prenosu by preto mal byť prvý krok k zabezpečeniu vášho webu.
Šifrovanie certifikátom SSL
Šifrovanie možno realizovať dvoma spôsobmi - buď zdieľaným šifrovacím kľúčom, alebo dvoma kľúčmi (verejný a súkromný). Keby sme šifrovali spoločným kľúčom, musíme si ho bezpečným spôsobom vymeniť. Toto je nepraktické pri šifrovaní dát na serveri, pretože by sme museli návštevníkom zaslať kľúč vopred.
Oveľa lepší spôsob je zverejniť svoj verejný kľúč, ktorým môže návštevník dáta zašifrovať. Prečítať dáta môže iba náš server, ktorý má privátny kľúč na dešifrovanie. Práve tento princíp využíva certifikát SSL. Ten sa dá zabezpečiť u certifikačnej autority SSL. U nej možno overiť aj pravosť certifikátu. Používateľ certifikátu si môže u nadradenej autority overiť, že je podpis platný, a teda v praxi poskytnutý verejný kľúč je originál od osoby, ktorá ho poskytuje.
Dôveryhodnosť certifikátu
Výber dôveryhodnej certifikačnej autority je veľmi dôležitý. Certifikát dôveryhodnej certifikačnej autority nezobrazuje v prehliadači návštevníka žiadne varovanie o nedôveryhodnosti. Naopak, certifikáty nedôveryhodných autorít na web nepatria. Prehliadač zákazníka im nedôveruje, pretože nemožno overiť jeho pravosť. Prehliadač vás pred návštevou takéhoto webu varuje, pretože certifikát môže pochádzať aj od útočníka.
Certifikát neslúži iba na šifrovanie dát
Certifikát môže mať viacero úloh, nielen šifrovanie dát. Vo väčšine vydaných certifikátov SSL je uvedený názov spoločnosti, ktorej bol certifikát vystavený (okrem doménových certifikátov). Certifikáty SSL teda plnia aj vítanú úlohu autorizácie servera. Aktívny protokol HTTPS je v prehliadači zobrazený ikonou zámku. Po kliknutí naň sa zobrazia detaily certifikátu, kde sa dajú zistiť údaje o vlastníkovi certifikátu.
Dôveryhodnosť webu zvyšujú certifikáty SSL s overením EV a zeleným pruhom (adresným riadkom). Tu je uvedený overený názov jeho vlastníka, takže aj laický používateľ vie, kto webové stránky prevádzkuje. Štúdie dokazujú, že webové stránky so zeleným adresným riadkom preukázali zvýšenie počtu transakcií a obratu.
Bezplatná výhoda k vašej doméne
DNSSEC je vhodný doplnok certifikátu SSL pri zabezpečení webu. Ide o zabezpečenie domény, ktorú spravuje váš registrátor. Zaisťuje platnosť, dôveryhodnosť a integritu záznamov DNS. Najväčšia výhoda DNSSEC je okrem robustnosti jeho bezplatnosť. Vlastník domény nemusí nič platiť. Stačí vlastniť doménu, ktorú možno takto podpísať (napríklad .sk alebo .eu). Návštevník vašej stránky nemusí nič nastavovať a automaticky využíva vyšší bezpečnostný štandard.
Ako to celé funguje?
Hlavná výhoda z pohľadu bezpečnosti je nemožnosť podvrhu záznamov DNS, nedajú sa teda presmerovať na podvodný web (útoky typu phishing). Záznamy DNS sú registrátorom digitálne podpísané a podpisový kľúč (odtlačok verejného kľúča) je publikovaný do nadradenej zóny (autority), kde si návštevník ich pravosť a platnosť overí. Tým je zaručená dôveryhodnosť podobne ako pri certifikátov SSL. Pri DNSSEC však nie sú na rozdiel od certifikátov SSL autority tretích strán.
Na rozdiel od certifikátu SSL nie je DNSSEC veľmi prívetivý pre používateľa a neumožňuje mu kontrolu stavu zabezpečenia. Ak narazíte na neplatný záznam, DNSSEC vás ochráni a váš prehliadač na stránku nevstúpi. Vy však nepoznáte dôvod, prečo sa web nezobrazil, pretože DNSSEC priamo v prehliadači podporovaný nie je. Prečo?
Klient DNS, ktorý je prítomný vo vašom operačnom systéme a posiela dopyty na DNS server, sa nazýva stub-resolver. V systéme Windows aktívne neoveruje platnosť záznamu DNSSEC, ale zaujíma sa o platnosť odpovede (security aware). V dopyte na DNS server (resolver) uvádza, že očakáva určenie výsledku validácie. V prípade zápornej validácie DNS servera sa odpoveď vracia s chybovým príznakom a ku klientovi sa ani nedostane. Vo výsledku sa na web nedostanete a neviete prečo. To však paradoxne môže používateľa viesť k opätovnej návšteve, pretože si môže myslieť, že ide o výpadok. A novú návštevu môže realizovať z iného systému, ktorý DNSSEC nemusí používať.
Bezpečnosť surfovania môže návštevník ľahko zvýšiť tak, že miesto DNS servera poskytovateľa bude používať iné verejné DNS servery, ktoré DNSSEC využívajú. Tie sa nazývajú validujúce resolvery a na Slovensku ich prevádzkuje napr. SK-NIC. Váš systém pravdepodobne dokáže požiadať o výsledok validácie, a teda aj využiť zabezpečenie prostredníctvom DNSSEC.
Ďalšie kroky na zabezpečenie webu
Inštaláciou certifikátu SSL a zapnutím DNSSEC sa zabezpečenie nekončí. Na komplexné zabezpečenie odporúčame používať iba bezpečnostný protokol HTTPS a na stránku načítavať externé prvky zabezpečene. Tento prístup (Always-on SSL) je v moderných prehliadačoch už štandardom.
Zdrojový kód stránok by mal byť pravidelne kontrolovaný na malvér, pretože útočníci často umiestňujú škodlivý kód na dôveryhodné stránky. Takisto ste určite zaznamenali trend útokov DDoS na webové servery, ktoré sa množia. Útok na váš web si dnes môže objednať ktokoľvek, preto treba monitorovať aj pripojenie na váš server. S nainštalovanými záplatami znižujete riziko napadnutia servera cez známe zraniteľnosti.