Přejít na obsah

Nastavení cookies

Zvolte, které druhy cookies povolíte. Svou volbu můžete kdykoli změnit přes Nastavení cookies v dolní části každé stránky. Prohlášení o ochraně osobních údajů

Nezbytné

Vždy zapnuté

Potřebné pro přihlášení, uchování košíku a zapamatování vašich voleb. Jsou vždy zapnuté.

Které cookies?
  • weboke_sessie, weboke_klant, weboke_remember: vaše relace a trvalé přihlášení
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazení cen s DPH nebo bez DPH
  • wok_cookies: vaše volba cookies, 12 měsíců

Měří, která reklama vede k návštěvě nebo objednávce, abychom neplatili za reklamy, které nic nepřinášejí.

Které cookies?
  • Google Ads přes Google Tag Manager (_gcl_au, _gcl_aw), až 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: partner, který vás k nám doporučil (partnerský program), 60 dní

4,6

Země a jazyk

Každá země má vlastní web s cenami a DPH dané země.

Zobrazit

HSTS a bezpečnostní hlavičky pro Váš web

S každou stránkou posílá Váš webový server také hlavičky: krátké řádky s pokyny pro prohlížeč. Ty zčásti určují, jak bezpečně prohlížeč s Vaším webem zachází. Zde se dočtete, co je HSTS, jaké další bezpečnostní hlavičky existují a jak je nastavit a otestovat.

Nejprve musí mít Váš web funkční certifikát a přesměrovávat návštěvníky na https. Více o tom najdete v článcích Aktivace a obnovení SSL certifikátu a řešení problémů a Povinné přesměrování návštěvníků na https.

Co dělá HSTS?

Přesměrování na https má jedno slabé místo: první požadavek přes http jde ještě nešifrovaně. Někdo ve stejné síti, například na veřejné wifi, může tento požadavek zachytit. HSTS (HTTP Strict Transport Security) to řeší. Váš web přes https posílá tuto hlavičku:

Strict-Transport-Security: max-age=31536000

Prohlížeč si pak zapamatuje, že smí Váš web otevírat pouze přes https. Pokud návštěvník později zadá http://, prohlížeč z toho sám udělá https, ještě než cokoli odejde do sítě. Hlavičku HSTS, která přijde přes obyčejné http, prohlížeč ignoruje.

ČástVýznam
max-ageJak dlouho si to prohlížeč pamatuje, v sekundách. Test internet.nl považuje za dostatečný alespoň jeden rok (31536000).
includeSubDomainsPlatí také pro všechny subdomény, například shop.vasedomena.cz a mail.vasedomena.cz.
preloadŽádáte o zařazení do seznamu, který je zabudovaný přímo v prohlížečích (hstspreload.org). Pak je chráněna i úplně první návštěva. K tomu je mimo jiné potřeba jeden rok, includeSubDomains a https na všech subdoménách. Vyřazení ze seznamu trvá dlouho.
max-age=0Zapamatovaný pokyn opět vymaže, a to při příští návštěvě přes https.
HSTS zapněte až ve chvíli, kdy https funguje všude. Pokud si prohlížeč HSTS zapamatoval a narazí na chybu certifikátu, návštěvník nedostane tlačítko, kterým by mohl přesto pokračovat. Pokud Vám vyprší certifikát nebo neplatí pro www, bude Váš web pro tyto návštěvníky nedostupný, dokud se problém nevyřeší. S includeSubDomains to platí i pro každou subdoménu, například pro starou stránku kamery nebo tiskárny bez certifikátu. Postupujte proto po krocích: začněte s krátkým max-age, například jeden den (86400), ověřte, že vše funguje, a postupně hodnotu zvyšujte až na jeden rok.

HSTS u WebOké

Na většině našich serverů posílá webový server HSTS standardně u každého webu otevřeného přes https: Strict-Transport-Security: max-age=31536000. To je jeden rok, bez includeSubDomains a bez preload. Nemusíte pro to nic dělat. Na několika serverech není tato funkce standardně zapnutá, tam si ji zapnete sami. Zda Váš web HSTS již posílá a s jakým max-age, zjistíte ve vývojářských nástrojích svého prohlížeče nebo v testu internet.nl (viz níže).

Přepínač HSTS v DirectAdmin

V DirectAdmin přejděte do Domain Setup a klikněte na název své domény. Pokud je zapnuto Secure SSL, uvidíte u HSTS přepínač Enable HTTP Strict Transport Security. Poté klikněte na Save, aby se změna uložila. Postup krok za krokem najdete v článku Jak návštěvníky vždy přesměrovat na https.

Pokud Váš web HSTS již posílá, přepínač nepotřebujete. Zapněte ho pouze v případě, že Váš web HSTS zatím neposílá. HSTS nastavte na jednom místě: v DirectAdmin, nebo v .htaccess, ne v obou. Pokud prohlížeč obdrží dvě hlavičky HSTS, použije pouze první.

Další bezpečnostní hlavičky

HlavičkaProti čemu chráníVýchozí hodnota
X-Content-Type-OptionsProhlížeč sám odhaduje, o jaký soubor jde, takže by se nahraný „obrázek“ mohl spustit jako skript.nosniff (jediná platná hodnota)
Content-Security-Policy: frame-ancestors nebo X-Frame-OptionsClickjacking: jiný web načte Vaši stránku neviditelně do rámce, takže návštěvníci nevědomky klikají na Vaše tlačítka.frame-ancestors 'self', nebo starší hlavička X-Frame-Options: SAMEORIGIN
Referrer-PolicyPři kliknutí na jiný web posílá prohlížeč adresu předchozí stránky, někdy i s hledaným výrazem nebo číslem objednávky.strict-origin-when-cross-origin, nebo přísněji same-origin či no-referrer. Internet.nl hodnotí jako vyhovující pouze přísné hodnoty.
Permissions-PolicyUrčuje, které funkce prohlížeče smí Vaše stránka a vložené rámce používat, například kameru, mikrofon a polohu.camera=(), microphone=(), geolocation=() tyto tři funkce vypne. Pokud Váš web některou z nich používá, vynechejte ji.
Content-Security-Policy (úplná)Omezuje, odkud se smí načítat skripty, styly a obrázky. Tím výrazně ztěžuje vložení škodlivých skriptů (XSS).Na míru pro každý web. Vyhněte se unsafe-inline, unsafe-eval a zástupným znakům.

Nastavení v .htaccess

Vložte tyto řádky na začátek souboru .htaccess ve složce public_html Vaší domény. Nejprve si soubor zálohujte.

<IfModule mod_headers.c>
  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"
  Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
  # Alleen als je site nog geen HSTS meestuurt (zie hierboven):
  # Header always set Strict-Transport-Security "max-age=31536000"
</IfModule>

Řádek s HSTS odkomentujte pouze tehdy, pokud Váš web HSTS zatím neposílá (viz výše). includeSubDomains přidejte až ve chvíli, kdy máte jistotu, že každá subdoména má https. Pokud používáte WordPress, můžete hlavičky nastavit také pomocí pluginu. Zvolte známý plugin, který se stále aktualizuje, a každou hlavičku nastavte na jednom místě: v pluginu, nebo v .htaccess.

Úplná Content-Security-Policy může Váš web rozbít: příliš přísné pravidlo zablokuje například statistiky, platební tlačítko, vložené video nebo okno chatu. Nejprve ji otestujte pomocí hlavičky Content-Security-Policy-Report-Only. Ta nic neblokuje, ale v konzoli prohlížeče ukáže, co by bylo zablokováno. Máte-li pochybnosti, svěřte to svému webovému vývojáři, nebo začněte pouze s frame-ancestors.

Na VPS s nginx nebo Caddy

Na VPS nepoužíváte DirectAdmin a často ani .htaccess. Hlavičky pak nastavíte v konfiguraci svého webového serveru. Ani jeden z nich neposílá HSTS ani tyto hlavičky automaticky.

nginx: v bloku server pro port 443:

add_header Strict-Transport-Security "max-age=31536000" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Content-Security-Policy "frame-ancestors 'self'" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;

Díky always se hlavičky posílají i u chybových stránek. Pozor: pokud blok location obsahuje vlastní add_header, pravidla z bloku server pro tuto location již neplatí. Zopakujte je tam, nebo je uložte do samostatného souboru, který všude vložíte pomocí include. Konfiguraci otestujte příkazem nginx -t a načtěte ji příkazem systemctl reload nginx.

Caddy: v bloku Vašeho webu v souboru Caddyfile:

header {
	Strict-Transport-Security "max-age=31536000"
	X-Content-Type-Options "nosniff"
	Content-Security-Policy "frame-ancestors 'self'"
	Referrer-Policy "strict-origin-when-cross-origin"
}

Změnu načtěte příkazem systemctl reload caddy. Jak web s nginx nebo Caddy sestavit, najdete v příručce k VPS v článcích nginx s certifikátem od Let's Encrypt a Caddy: web s automatickým https.

Testování

  • Internet.nl: zadejte svou doménu do testu webu na internet.nl.
  • Váš prohlížeč: otevřete svůj web, stiskněte F12 (nebo zvolte Prozkoumat), přejděte na kartu Síť, znovu načtěte stránku a klikněte na první požadavek. V části Záhlaví odpovědi (Response Headers) uvidíte vše, co Váš server posílá.
  • Příkazový řádek: curl -sI https://vasedomena.cz/ zobrazí hlavičky.

Po každé změně zkontrolujte, zda Váš web, formuláře a platební stránka stále fungují. Kromě toho udržujte svůj CMS, pluginy a šablony aktuální. Viz Zabezpečení wp-login.php ve WordPressu.

Další čtení

Chcete se dozvědět více? Absolvujte bezplatný kurz Bezpečně online pro podnikatele, lekci 4.2 Váš web: https, HSTS a bezpečnostní hlavičky, nebo bezplatný kurz WordPressu, lekci 7.4 Zabezpečení webu: oprávnění, hlavičky a bezpečnostní pluginy.

Byl tento článek užitečný?

← Zpět na DirectAdmin a ovládací panel WebOké

Chvíli strpení…

Nastavení vašich domén

U každé domény nastavte jmenné servery, propojení s hostingem a to, kdo bude držitelem.

Načítání vašich domén…