SSL certifikát / 169 Kč
Přejděte na důvěryhodný SSL certifikát AlpiroSSL se silným až 256-bit šifrováním a ušetřete.
HTTP Strict Transport Security (HSTS) je vlastnost webové stránky sdělit prohlížeči, že má se serverem komunikovat pouze přes zabezpečený protokol HTTPS a nikdy pomocí nezabezpečeného HTTP.
HSTS je účinná prevence proti MITM útokům, např. na veřejných Wi-fi sítích. Pointa nastává ve chvíli, kdy je uživatel přesměrován z protokolu HTTP na zabezpečený HTTPS. V tu chvíli může být útočníkem přesměrován na stránku s podvrženýnm obsahem, například banky. Protože banka používá HSTS, webový prohlížeč ví, že má na stránky přistoupit přímo přes protokol HTTPS. Podmínkou však je, aby uživatel dříve alespoň jednou takovou stránku navštívil a webový prohlížeč tak tuto informaci již měl.
HSTS není žádná komplexní technologie, ale pouze HTTP hlavička, která prohlížeči říká, že má používat pouze HTTPS a jak dlouho. Nastavení je tedy otázkou několika vteřin.
HSTS můžete nastavit dvěma způsoby — přímo ve VirtualHost (doporučeno) nebo pomocí souboru .htaccess, pokud nemáte možnost VirtualHost upravovat.
1. metoda — VirtualHost:
Ujistěte se, že je aktivní modul headers_module
. Pokud není, aktivujte jej příkazem sudo a2enmod headers
a v souboru s VirtualHost, například /etc/apache2/sites-enabled/example.com.conf
, přidejte dva řádky:
<VirtualHost 1.2.3.4:443> Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" Header always set X-Frame-Options DENY </VirtualHost>
Apache restartujte /etc/init.d/apache2 restart
nebo service apache2 restart
.
Toto nastavení může být pouze na zabezpečeném HTTPS VirtualHost. Pro nezabezpečený VirtualHost nenastavujte.
Hodnota 63072000
prohlížeči říká, že má používat přímo HTTPS po dobou dvou let. Tato hodnota se nastaví při každé návštěvě stránky. Znovu tedy bude nastavena i při další návštěvě stránky příští týden, opět dva roky. includeSubDomains
znamená, že se nastavení vztahuje i na subdomény a preload
prohlížeči říká, aby doménu přidal do tzv. preload seznamu (více).
Stále však platí, že nezabezpečený VirtualHost musí mít nastaveno přesměrování na HTTPS. Čtěte, jak nastavit přesměrování na HTTPS.
2. metoda — .htaccess:
Do souboru .htaccess v kořenovém adresáři přidejte:
Header set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" env=HTTPS
Nastavením proměnné env
na konci řádku splníme podmínku specifikace dle RFC 6797, že HSTS nesmí být nastaveno pro nezabezpečený protokol HTTP, ale pouze HTTPS.
Do sekce server
(ten zabezpečený přes HTTPS) přidejte řádky:
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"; add_header X-Frame-Options "DENY";
Server restartujte /etc/init.d/nginx restart
nebo service nginx restart
.
Konfigurace HSTS na platformě IIS na první pohled vypadá trochu složitě. Níže je konfigurace zahrnující přesměrování z protokolu HTTP na zabezpečený HTTPS a nastavení HSTS pouze pro protokol HTTPS.
Do konfiguračního souboru web.config
přidejte:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="HTTP to HTTPS redirect" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" /> </rule> </rules> <outboundRules> <rule name="Add Strict-Transport-Security when HTTPS" enabled="true"> <match serverVariable="RESPONSE_Strict_Transport_Security" pattern=".*" /> <conditions> <add input="{HTTPS}" pattern="on" ignoreCase="true" /> </conditions> <action type="Rewrite" value="max-age=63072000; includeSubDomains; preload" /> </rule> </outboundRules> </rewrite> </system.webServer> </configuration>
Server restartujte.
Nebo můžete nastavit HSTS přes GUI:
HSTS musí být nastaveno pouze pro HTTPS, nesmí být nastaveno pro HTTP. V tomto scénáři je nutné nastavit v IIS pro oba protokoly dva samostatné weby.
V dialogovém okně Add Custom HTTP Response Header vložte následující hodnoty:
Name: | Strict-Transport-Security |
Value: | max-age=63072000; includeSubDomains; preload |
Pokud nemáte přístup ke konfiguraci webového serveru ani k souboru .htaccess a webová aplikace je postavena na PHP, můžete HSTS hlavičku nastavit přímo v PHP kódu.
Nezapomeňte, že i přesto je nutné nejprve zajistit přesměrování z HTTP na HTTPS.
Na začátek každé stránky jednoduše přidejte následující kód:
<?php // HSTS hlavičku posíláme jen při použití protokolu HTTPS: if ($_SERVER['https'] == 1 || $_SERVER['https'] == 'on' || $_SERVER['SERVER_PORT'] == 443) { header("Strict-Transport-Security: max-age=63072000; includeSubDomains; preload"); } ?>
Přejděte na důvěryhodný SSL certifikát AlpiroSSL se silným až 256-bit šifrováním a ušetřete.
Chraňte svou reputaci a zajistěte maximální důvěryhodnost s TLS/SSL certifikátem s EV.
Porovnejte si všechny výhody i nevýhody nejžádanějších SSL certifikátů — bez obalu.
Skonsolidujte všechny své SSL certifikáty do jednoho multi-doménového SSL certifikátu!
Jméno a příjmení: | E-mail: |
Odeslat |