Ako správne využiť SSL certifikát - časť štvrtá
17.1.2013 | Jindřich Zechmeister
V tejto časti cyklu o použití SSL certifikátov sa dozviete o technológii HTTP Strict Transport Security, šifrovaní cookies a iných aspektoch návrhu a nasadení SSL certifikátu na server.
Nainštalovaním certifikátu práca na zabezpečení webu nekončí. Dôležitá je aj správna konfigurácia servera, šifrovanie a ďalších parametrov. V štvordielnej sérii prejdeme tieto aspekty z pohľadu súčasných bezpečnostných odporúčaní a vy si môžete overiť, či používate certifikát správne a bezpečne.
Poslednou štvrtou témou je návrh aplikácie a implementácia SSL certifikátu.
Šifrujte 100 % webového prevádzky
Skutočnosť, že je SSL šifrovanie voliteľné, je jedným z najväčších problémov súčasnosti. Najväčšie bezpečnostné problémy sú tieto:
- Na stránkach, ktoré potrebujú SSL, zabezpečenie nie je
- Weby majú k dispozícii SSL certifikát, ale nepoužívajú ho
- Stránky majú zmiešaný obsah - zabezpečený aj nezabezpečený, niekedy aj na tej istej stránke
Väčšine z týchto problémov je možné predísť, ak presne viete, čo znamenajú a čo vy robíte pre prevenciu. Najlepším spôsobom zabezpečenia webu je šifrovanie všetkej komunikácie bez výnimiek.
Uistite sa, že sú cookies šifrované
Bezpečný web má všetky cookies označené ako zabezpečené. Zlyhanie v tomto aspekte a nezabezpečenie cookies umožňuje ľahko vykonať Man-in-the-middle (MITM) útok, získať citlivé informácie a obísť prihlásenie na server. V takom prípade nepomôže ani inak 100% zabezpečenie webu, pretože útočník získal rovnakú reláciu (session), ako prihlásený používateľ.
Nemal by sa kombinovať zabezpečený obsah s nezabezpečeným
Stránky so zmiešaným obsahom sú také, ktoré kombinujú dáta prenesené cez SSL s dátami prenesenými nezabezpečene. Zvyčajne sú takto opomenuté napríklad obrázky vo webovej prezentácii alebo skripty a CSS súbory.
Takáto stránka nie je bezpečná, čo dá návštevníkovi vedieť aj jeho prehliadač varovaním a odporúčaním odchodu z webu. Útočník môže vďaka jednému nezabezpečenému javascritpu obísť zabezpečenie a s pomocou MITM útoku získať celú reláciu (session) návštevníka.
Povoľte zabezpečenie HTTP Strict Transport Security
HTTP Strict Transport Security (HSTS) je bezpečnostná technológia navrhnutá za účelom zachovania neporušenej bezpečnosti pre weby prístupné len cez HTTPS (HTTPS strict). Neumožňuje útočníkom využiť chyby v implementácii SSL alebo prepínanie návštevníkov do nechránenej spojenia HTTP. HSTS tiež rieši problém zmiešaného obsahu, ktorý je spomenutý v predchádzajúcom odseku. Útočník ho môže využiť, či už ide o úmysel, alebo chybu programátora, a môže cez HTTP na stránku nahrávať nezabezpečene škodlivý obsah. HSTS tiež zamedzuje krádežiam cookies obsahujúcich prihlasovacie údaje.
HSTS pomáha tiež zabrániť útokom MITM, pretože nie je možné zmeniť šifrovanú komunikáciu na nezabezpečený HTTP protokol.
Návštevníkovi je pri návšteve zabezpečeného servera poslaná informácia o tom, že iné než HTTPS spojenie nie je možné. Drobné problém je v tom, že pri prvej návšteve prehliadač nepozná toto nastavenie servera a prvé spojenie je nezabezpečené. Moderné prehliadače, ako napríklad Google Chrome, poznajú zoznam najväčších webov, ktoré túto technológiu využívajú a už s tým počítajú. Ide napríklad o samotný Google alebo Twitter, PayPal a iné veľké služby. Facebook zatiaľ využíva len HTTPS strict a HSTS zatiaľ nepodporuje.
Citlivý obsah "nekešujte"
S citlivým obsahom a informáciami by malo byť vždy citlivo narábané a preto by sa mali prenášať len v prípade potreby a zabezpečene. Mali by ste byť schopní tento dôležitý obsah rozlíšiť a zabezpečiť. Šifrované dáta sú zabezpečené a cudzím očiam nedostupné aj pri ceste neznámymi kanálmi (ako napríklad proxy), ale vzhľadom na rýchlo rastúce odvetvie cloudových služieb je lepšie tomuto riziku predchádzať. Vzdialene pristupujeme k stále väčšiemu množstvu dát, vrátane tých citlivých.
Uistite sa, že na serveri nie sú žiadne iné zraniteľnosti
Samotná inštalácia a používanie SSL certifikátu nezaručí absolútnu bezpečnosť serveru ako takého. SSL certifikát zabezpečuje jedno konkrétne hľadisko bezpečnosti - dôveryhodnosť a integritu dát prenášaných medzi serverom a návštevníkom. Existuje však mnoho ostatných rizík, s ktorými si musíte poradiť. Všeobecne by ste sa mali uistiť, že webové stránky nemajú žiadne známe bezpečnostné riziká.
Overte bezpečnosť a dôveryhodnosť nástrojov tretích strán
Webové stránky zvyčajne používajú služby tretích strán - napríklad JavaScript stiahnutý z iného servera. Príkladom takej služby je obľúbený systém Google Analytics. Použitie kódu tretej strany na stránke dáva možnosť plnej kontroly nad vaším webom. Kód tretej strany nemusí byť škodlivý, ale veľkí poskytovatelia služieb sú častým terčom útokov. Ak je veľký poskytovateľ kompromitovaný, útočník automaticky získa prístup ku všetkým stránkam používajúcim túto službu.
Cyklus Ako správne využiť SSL certifikát sa zakladá na bezpečnostných odporúčaniach spoločnosti Qualys, lídra na poli cloudovej bezpečnosti a ich dokumentu SSL/TLS Deployment Best Practices.
Ďalšie diely seriálu: