Prejsť na obsah

Nastavenia súborov cookie

Vyberte, aké druhy súborov cookie povolíte. Svoj výber môžete kedykoľvek zmeniť cez Nastavenia súborov cookie v dolnej časti každej stránky. Vyhlásenie o ochrane osobných údajov

Nevyhnutné

Vždy zapnuté

Potrebné na prihlásenie, uchovanie košíka a zapamätanie vašich volieb. Sú vždy zapnuté.

Ktoré súbory cookie?
  • weboke_sessie, weboke_klant, weboke_remember: vaša relácia a trvalé prihlásenie
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazovanie cien s DPH alebo bez DPH
  • wok_cookies: váš výber súborov cookie, 12 mesiacov

Merajú, ktorá reklama vedie k návšteve alebo objednávke, aby sme neplatili za reklamy, ktoré nič neprinášajú.

Ktoré súbory cookie?
  • Google Ads cez Google Tag Manager (_gcl_au, _gcl_aw), najviac 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: ktorý partner vás k nám odporučil (partnerský program), 60 dní

4,6

Krajina a jazyk

Každá krajina má vlastný web s cenami a DPH danej krajiny.

Zobraziť

Vaša webová stránka: https, HSTS a bezpečnostné hlavičky

Modul 4: E-mail, webová stránka a doména · Čas čítania: 11 minút

Cieľ lekcie: Po tejto lekcii dokážete skontrolovať základné zabezpečenie svojej webovej stránky: platný certifikát, presmerovanie na https, HSTS so správnou hodnotou max-age, najdôležitejšie bezpečnostné hlavičky a aktualizáciu svojho CMS.
Kľúčové pojmy: TLS certifikát, https, presmerovanie na https, HSTS, max-age, includeSubDomains, preload, HTTP hlavička, Content-Security-Policy, X-Content-Type-Options, frame-ancestors, X-Frame-Options, Referrer-Policy

Čo sa stane, keď niekto otvorí vašu stránku

Ak klient zadá example.com do adresného riadka, prehliadač si vyžiada stránku z vášho webového servera. Táto komunikácia prebieha cez HTTP. Pri https je okolo nej zabezpečené spojenie: TLS. Na to vaša webová stránka potrebuje TLS certifikát (často sa stále označuje ako SSL certifikát). Certifikát dokazuje, že server naozaj patrí k example.com, a šifrovanie zabezpečuje, že nikto po ceste nemôže komunikáciu čítať ani meniť. To je dôležité na verejnej wifi, kde neviete, kto sieť spravuje (lekcia 5.3).

Pri každej odpovedi posiela server okrem samotnej stránky aj rad hlavičiek (headers): krátkych riadkov s informáciami a pokynmi pre prehliadač. Na obrazovke ich nevidíte, ale do veľkej miery určujú, ako bezpečne sa prehliadač k vašej stránke správa. Časť týchto hlavičiek sú bezpečnostné hlavičky. V tejto lekcii prejdeme štyri vrstvy: certifikát, presmerovanie, HSTS a hlavičky. Potom sa krátko pozrieme na aktualizáciu samotnej webovej stránky.

Vrstva 1: platný certifikát

Certifikát je v poriadku, ak spĺňa tri podmienky:

  1. nie je po platnosti;
  2. vydala ho dôveryhodná certifikačná autorita (ktorú prehliadače poznajú, napríklad Let's Encrypt alebo komerčný poskytovateľ);
  3. platí pre presne ten názov, ktorý návštevník otvára: example.com aj www.example.com, ak používate oba.

Takmer každý poskytovateľ hostingu dnes zariadi bezplatný certifikát, ktorý sa automaticky obnovuje. Ak niečo nefunguje, zvyčajne je to preto, že doménové meno smeruje na iný server, alebo že CAA záznam blokuje vydavateľa (lekcia 4.3).

Dôležité je vedieť, že zámok nič nehovorí o dôveryhodnosti stránky. Hovorí len to, že spojenie je šifrované a že certifikát patrí k názvu v adresnom riadku. Phishingové stránky na mijnbank-veilig.example majú rovnako tak zámok. Preto sa v lekcii 3.2 naučíte čítať doménu.

Vrstva 2: vždy presmerovať na https

Samotný certifikát nestačí. Kto otvorí http://example.com, napríklad cez starý odkaz alebo len zadaním názvu, musí automaticky prejsť na https verziu. Toto sa nazýva presmerovanie (redirect, zvyčajne so stavovým kódom 301).

Správne poradie je:

http://example.com      ->  https://example.com
https://example.com     ->  https://www.example.com   (len ak používate www ako hlavnú adresu)
http://www.example.com  ->  https://www.example.com

Všimnite si prvý riadok: z http presmerujte najprv na https na rovnakom názve, až potom prípadne na www. Vďaka tomu prehliadač dostane HSTS pokyn aj pri verzii bez www. Internet.nl presne toto kontroluje.

Častou chybou je dvojité presmerovanie: v paneli hostingu aj v pluginu alebo v .htaccess. To môže spôsobiť nekonečnú slučku ("príliš veľa presmerovaní"). Používajte len jedno miesto.

Vrstva 3: HSTS

Presmerovanie má slabé miesto: úplne prvá požiadavka ešte ide nešifrovane cez http. Útočník v rovnakej sieti môže túto jednu požiadavku zachytiť a udržať návštevníka na falošnej, nešifrovanej verzii. Na to slúži HSTS (HTTP Strict Transport Security, RFC 6797).

S HSTS vaša stránka cez https posiela aj túto hlavičku:

Strict-Transport-Security: max-age=31536000; includeSubDomains

Prehliadač si potom zapamätá: "túto stránku otvárať len cez https, nasledujúcich 31 536 000 sekúnd (jeden rok)". Ak návštevník neskôr zadá http://example.com, prehliadač si sám vytvorí https ešte predtým, než sa čokoľvek prenesie po sieti. Slabá prvá požiadavka tak odpadá.

ČasťVýznam
max-age=Ako dlho si to prehliadač zapamätá, v sekundách. Internet.nl počíta minimálne jeden rok (max-age=31536000) ako dostatočné; krátke obdobie nechráni ľudí, ktorí vašu stránku navštevujú len občas.
includeSubDomainsPlatí aj pre všetky subdomény, ako shop.example.com a mail.example.com.
preloadŽiadate o zaradenie do zoznamu, ktorý je vstavaný v prehliadačoch (hstspreload.org). Vtedy je chránená aj úplne prvá návšteva. Požiadavky: okrem iného max-age minimálne jeden rok, includeSubDomains a všetky subdomény na https. Vyradenie trvá dlho.
max-age=0Zmaže zapamätaný pokyn.

Tri veci, ktoré musíte vedieť predtým, než zapnete HSTS:

  • Najprv musí https fungovať všade. Prehliadač, ktorý si zapamätal HSTS a narazí na chybu certifikátu, návštevníkovi neponúkne tlačidlo na pokračovanie napriek tomu (RFC 6797, odsek 12.1). Ak vám vyprší certifikát alebo nesedí pre www, vaša stránka je pre týchto návštevníkov nedostupná, kým sa to nevyrieši.
  • includeSubDomains zasiahne všetko pod vašou doménou. Stará subdoména bez certifikátu, napríklad stránka tlačiarne alebo kamery na camera.example.com, sa potom už nedá otvoriť.
  • Zavádzajte to postupne. Začnite s krátkym max-age (napríklad jeden deň), skontrolujte, či všetko funguje, a po krokoch zvyšujte až na jeden rok. Pri každom kroku počkajte celé obdobie.

HSTS hlavičku, ktorá príde cez obyčajné http, prehliadač ignoruje. Uvidíte ju teda len v https odpovedi.

Vrstva 4: bezpečnostné hlavičky

Okrem HSTS existuje niekoľko hlavičiek, ktoré prehliadaču hovoria, čo smie a nesmie robiť s vašimi stránkami. Nemusíte mať všetky dokonalé, ale prvé tri sú jednoduché a bez rizika.

HlavičkaProti čomuDobrá hodnota
X-Content-Type-OptionsPrehliadač si sám háda, čo je daný súbor, čím môže byť nahraný "obrázok" spustený ako skript.nosniff (jediná platná hodnota)
Content-Security-Policy: frame-ancestors ... alebo X-Frame-OptionsClickjacking: iná stránka neviditeľne načíta vašu stránku do rámca a necháva návštevníkov nevedomky klikať na vaše tlačidlá.frame-ancestors 'self' alebo 'none'; staršia hlavička X-Frame-Options: SAMEORIGIN alebo DENY
Referrer-PolicyPri kliknutí na inú stránku prehliadač posiela adresu predchádzajúcej stránky. Môžu v nej byť citlivé informácie, ako vyhľadávaný výraz alebo číslo objednávky.no-referrer alebo same-origin (prísne), strict-origin-when-cross-origin (bežné, internet.nl tu dáva upozornenie)
Content-Security-Policy (úplná)Obmedzuje, z ktorých miest sa smú načítať skripty, štýly a obrázky. Výrazne sťažuje vloženie škodlivých skriptov (XSS).Individuálne nastavenie pre každú stránku. Vyhýbajte sa unsafe-inline, unsafe-eval a zástupným znakom.

Úplná Content-Security-Policy je najsilnejšia, ale aj najnáročnejšia: príliš prísne pravidlo môže rozbiť vaše štatistiky, platobné tlačidlo alebo chatovacie okno. S variantom Content-Security-Policy-Report-Only môžete najprv zmerať, čo by sa blokovalo, bez toho, aby ste niečo rozbili. Toto nechajte na svojho webového vývojára, alebo začnite len s frame-ancestors.

Ako si sami pozrieť hlavičky

Otvorte svoju stránku v prehliadači, stlačte F12 (alebo zvoľte "Preskúmať"), prejdite na kartu Sieť (Network), znova načítajte stránku a kliknite na prvú požiadavku. Pod "Hlavičky odpovede" (Response Headers) uvidíte všetko, čo server posiela. Dá sa to zistiť aj cez príkazový riadok:

curl -sI https://example.com/

Samotná webová stránka: CMS, pluginy a šablóny

Najlepšie hlavičky nepomôžu, ak je softvér za vašou stránkou zraniteľný. Väčšina napadnutých stránok malých firiem nebola prelomená cez webový server, ale cez zastaraný plugin, šablónu, ktorá sa roky neaktualizuje, alebo slabé administrátorské heslo.

  • Zapnite automatické aktualizácie pre svoj CMS (napríklad WordPress, Joomla alebo iný systém) a pre pluginy, kde je to možné.
  • Odstráňte pluginy a šablóny, ktoré nepoužívate; vypnutie nestačí, súbory tam stále zostávajú.
  • Na administrátorské prihlásenie používajte silné, jedinečné heslo a dvojfaktorové overenie (2FA) (modul 2), a obmedzte počet pokusov o prihlásenie.
  • Udržiavajte verziu PHP (alebo iného jazyka) vášho balíka na verzii, ktorá ešte dostáva aktualizácie (lekcia 5.1).

V praxi: takto to vyzerá

V DirectAdmin, paneli, ktorý WebOké používa, si pri svojej doméne najprv zapnite Zabezpečený protokol SSL a potom Vynútiť presmerovanie na https. Na rovnakom mieste je prepínač pre HSTS; zapnite ho až vtedy, keď certifikát funguje pre všetky názvy. U iných poskytovateľov to funguje podobne, alebo si to nastavíte v nastaveniach svojho CMS.

Ak vaša stránka beží na Apache alebo LiteSpeed, hlavičky môžete nastaviť aj v .htaccess:

<IfModule mod_headers.c>
  Header always set Strict-Transport-Security "max-age=31536000"
  Header always set X-Content-Type-Options "nosniff"
  Header always set Content-Security-Policy "frame-ancestors 'self'"
  Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

Pridajte includeSubDomains až vtedy, keď máte istotu, že každá subdoména má https. Po každej zmene skontrolujte výsledok testom webovej stránky na internet.nl alebo pomocou vývojárskych nástrojov vášho prehliadača.

Zhrnutie

  • Zámok znamená: šifrované a správny názov. Neznamená: dôveryhodné.
  • Http vždy presmerujte na https, najprv na rovnakom názve, a len na jednom mieste.
  • HSTS zabezpečí, že si prehliadač zapamätá, že vaša stránka funguje len cez https; internet.nl počíta max-age minimálne jeden rok (31536000) ako dobré. Zapnite to až vtedy, keď https funguje všade, a zavádzajte to postupne.
  • X-Content-Type-Options: nosniff, frame-ancestors (alebo X-Frame-Options) a Referrer-Policy sú jednoduché; úplná Content-Security-Policy si vyžaduje individuálne nastavenie.
  • Aktualizácie vášho CMS, pluginov a šablón sú minimálne rovnako dôležité ako hlavičky.

Kvíz

1. Čomu presne zabraňuje HSTS?



2. Zapnete Strict-Transport-Security: max-age=31536000; includeSubDomains. O týždeň neskôr stratí platnosť certifikát pre shop.example.com. Čo stáli návštevníci spozorujú?



3. Akú max-age počíta internet.nl minimálne ako dostatočnú pre HSTS?



4. Pred čím chráni Content-Security-Policy: frame-ancestors 'self'?



5. V adresnom riadku vidíte zámok pri mijnbank-veilig.example. Čo tým máte isté?



Úloha

Úloha A4.2: Kontrola https, HSTS a hlavičiek vašej webovej stránky. Zadajte doménové meno svojej webovej stránky (ak žiadne nemáte, použite internet.nl). Program otvorí http:// a https:// vašej domény a skontroluje certifikát, presmerovanie na https, HSTS a bezpečnostné hlavičky. Pri každom bode dostanete zelenú, oranžovú alebo červenú farbu s vysvetlením.

Úloha A4.2: Kontrola https, HSTS a hlavičiek vašej webovej stránky

Zadajte doménové meno svojej webovej stránky (ak ho nemáte, použite internet.nl). Program otvorí http:// a https:// vašej domény a skontroluje certifikát, presmerovanie na https, HSTS a bezpečnostné hlavičky. Potom zadajte max-age HSTS.



Čo vyplníte a čo nájdeme, neukladáme. Váš prehliadač si pamätá vaše odpovede a to, či ste úlohu splnili. Po prihlásení si v sekcii Moje kurzy uchovávame iba to, že úloha bola (takmer) správne vyriešená; aj to tam môžete odstrániť.

Úloha D4.2: Aktualizácia a upratanie vašej webovej stránky. Prihláste sa do správy svojej webovej stránky, skontrolujte verziu svojho CMS, pluginov a šablón, odstráňte to, čo nepoužívate, a zapnite automatické aktualizácie, kde je to možné. Odškrtnite kontrolný zoznam a odpovedzte na reflexnú otázku.

Úloha D4.2: Aktualizácia a upratanie vašej webovej stránky

Postupujte takto: (1) Prihláste sa do správy svojej webovej stránky (alebo požiadajte svojho tvorcu webu, aby to urobil spolu s vami). (2) Zaznamenajte si verziu svojho CMS a skontrolujte, či sú pripravené aktualizácie. (3) Vytvorte zálohu (lekcia 6.1), nainštalujte aktualizácie CMS, doplnkov a šablón. (4) Odstráňte doplnky a šablóny, ktoré nepoužívate. (5) Zapnite automatické aktualizácie, kde je to možné. (6) Skontrolujte, aké účty správcu existujú, a odstráňte účty ľudí, ktorí už vo firme nepracujú. (7) Zapnite dvojfaktorové overenie pre každý účet správcu.




Vaše zaškrtnutia a poznámky zostávajú iba v tomto prehliadači, nikam ich neposielame. Po prihlásení si v sekcii Moje kurzy uchovávame iba to, že ste úlohu splnili.

Ďalšie čítanie

Postupy v článkoch WebOké platia pre prostredie WebOké; u iných poskytovateľov to funguje podobne.

Chvíľu strpenia…

Nastavte svoje domény

Pri každej doméne nastavte nameservery, prepojenie s hostingom a to, kto bude jej vlastníkom.

Načítavajú sa vaše domény…