Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti.
Když chcete navštívit webovou stránku, internetový prohlížeč, který používáte, z této stránky přijímá některá data. Výsledkem je dialog mezi vaším zařízením a webem. To se děje s protokolem nazývaným HTTP. Zásahem do tohoto dialogu je možné přijmout některá další bezpečnostní opatření.
Pokud provozujete web nebo usilujete o kariéru webového vývojáře, jsou pro vás bezpečnostní hlavičky HTTP neocenitelné, protože hrají aktivní roli v bezpečnosti uživatele i webu.
Co je HTTP Strict-Transport-Security (HSTS)?
HTTP Strict Transport Security (HSTS) nutí uživatele používat HTTPS pro každý požadavek, který ve svém prohlížeči zadají. Je to solidní způsob, jak bojovat proti kybernetickým útokům, jako je downgrade, a zajistit bezpečnost veškerého provozu.
Aktivace HSTS je velmi snadná. Zvažte dialog mezi klientem a serverem. Když se pokusíte získat přístup k webu prostřednictvím prohlížeče, jste klientem. Web, který chcete otevřít, závisí na serveru. Vaším cílem je říci serveru: „Chci otevřít tento web“. Toto je operace požadavku. Server vás na druhou stranu přesměruje na web, pokud splníte požadované podmínky.
Mějte to na paměti, pokud jde o tento ukázkový příznak záhlaví HTTP:
Strict-Transport-Security: max-age=16070200;
Když přidáte tento příznak do informací v záhlaví odpovědi HTTP, všechny požadavky generované uživateli se stanou HTTPS. Cokoli zde uživatel napíše, prohlížeč automaticky vyhodnotí protokol jako HTTPS a naváže zabezpečené spojení.
Jak používat HSTS
Místo přidávání všech těchto informací HTTP hlavičky do kódové vrstvy to můžete udělat na Apache, IIS, Nginx, Tomcat a dalších aplikacích webového serveru.
Povolení HSTS v Apache:
LoadModule headers_module modules/mod_headers.so
<VirtualHost *:443>
Záhlaví vždy souborPřísný-Doprava-Bezpečnostní "max-age=2592000; zahrnout subdomény"
</VirtualHost>
Chcete-li povolit HSTS v Nginx:
add_header Strict-Transport-Security max-age=2592000; includeSubdomény
Povolení HSTS pomocí IIS web.config:
<system.webServer>
<httpProtokol>
<customHeaders>
<přidat jméno="Přísná doprava-bezpečnost" hodnota="maximální věk=63072000"/>
</customHeaders>
</httpProtocol>
</system.webServer>
Pro uživatele Cloudflare
Cloudflare poskytuje bezplatnou službu HTTPS pro každého se svou službou Keyless SSL; před podáním žádosti o předběžné načtení HSTS byste měli vědět, že váš certifikát nepatří vám. Mnoho webů používá certifikáty SSL protože představují jednoduchý způsob, jak udržet data v bezpečí.
Nyní však Cloudflare podporuje funkci HSTS. Všechny funkce HSTS, včetně preloadu, můžete aktivovat prostřednictvím webového rozhraní Cloudflare, aniž byste se museli potýkat s konfiguracemi na webovém serveru.
Co je X-Frame-Options?
X-Frame-Options je bezpečnostní hlavička podporovaná všemi moderními prohlížeči. X-Frame-Options si klade za cíl chránit před krádeží kliknutí, jako je Clickjacking. Jak název napovídá, jedná se o fungování zranitelného inline rámce, známého také jako iframe. Jedná se o prvky na webu, které vkládají jinou stránku HTML do „nadřazeného“ webu, takže na svém webu můžete používat obsah z jiných zdrojů. Útočníci však používají prvky iframe pod vlastní kontrolou, aby přiměli uživatele provádět akce, které nechtějí.
Z tohoto důvodu musíte útočníkům zabránit v tom, aby na webu našli prvky iframe.
Kde a jak používat X-Frame-Options?
To, co X-Frame-Options dělá, se někteří vývojáři snaží dělat s jazyky, jako je JavaScript. To není úplně špatně. Stále však existuje riziko, protože kódy napsané v mnoha aspektech nestačí. Bylo by tedy rozumné přenechat tento úkol internetovému prohlížeči, který používáte.
Jako vývojář však musíte o X-Frame-Options vědět tři parametry:
- Odmítnout: Zcela zabránit vyvolání stránky v jakémkoli prvku iframe.
- SAMEORIGIN: Zabraňte jakékoli jiné doméně než vaší ve volání v rámci prvku iframe.
- ALLOW-FROM uri: Přijmout volání iframe URI zadaného jako parametr. Blokovat ostatní.
Tady, SAMEORIGIN funkce vyniká více. Protože i když můžete volat aplikace ve svých různých subdoménách s prvky iframe v sobě, můžete zabránit jejich volání přes doménu pod kontrolou útočníka.
Zde jsou příklady, jak můžete použít SAMEORIGIN a X-Frame-Options s NGINX, Apache a IIS:
Použití X-Frame-Options SAMEORIGIN pro Nginx:
add_header X-Frame-Options SAMEORIGIN;
Použití X-Frame-Options SAMEORIGIN pro Apache:
Záhlaví vždy připojí X-Frame-Options SAMEORIGIN
Použití X-Frame-Options SAMEORIGIN pro IIS:
<httpProtokol>
<customHeaders>
<přidat jméno="X-Frame-Options" hodnota="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
Pouhým přidáním hlavičky SAMEORIGIN bude pro vaše návštěvníky větší bezpečnost.
Co je X-XSS-Protection?
Použití informací hlavičky X-XSS-Protection může chránit uživatele před útoky XSS. Za prvé, musíte odstranit zranitelnosti XSS na straně aplikace. Po poskytnutí zabezpečení na základě kódu jsou vyžadována další opatření, tedy hlavičky X-XSS-Protection proti zranitelnostem XSS v prohlížečích.
Jak používat X-XSS-Protection
Moderní prohlížeče dokážou detekovat potenciální zatížení XSS filtrováním obsahu generovaného aplikacemi. Tuto funkci je možné aktivovat pomocí informací hlavičky X-XSS-Protection.
Chcete-li povolit záhlaví X-XSS-Protection v Nginx:
add_header X-Frame-X-XSS-Protection 1;
Chcete-li povolit záhlaví X-XSS-Protection v Apache:
Záhlaví vždy připojuje X-XSS-Protection 1
Chcete-li povolit záhlaví X-XSS-Protection ve službě IIS:
<httpProtokol>
<customHeaders>
<přidat jméno="X-XSS-ochrana" hodnota="1" />
</customHeaders>
</httpProtocol>
Chcete-li zabránit spuštění bloku kódu s útokem XSS ve výchozím nastavení, můžete použít něco takového:
X-XSS-Protection: 1; režim=blok
Tuto drobnou změnu je třeba provést, pokud dojde k potenciálně nebezpečné situaci a chcete zabránit vykreslení veškerého obsahu.
Co je X-Content-Type-Options?
Prohlížeče provádějí analýzu nazvanou MIME Type Sniffing na obsahu, který jim webová aplikace poskytuje. Pokud například existuje požadavek na přístup k souboru PDF nebo PNG, prohlížeče, které provádějí analýzu odpovědi HTTP, odvodí typ souboru.
Představte si soubor s příponou jpeg, který však ve skutečnosti obsahuje textový/HTML obsah. Po použití rozšíření a předání ochran v modulu pro nahrávání je soubor úspěšně nahrán. Nahraný soubor je volán přes URL a MIME Type sniffing vrací Text/HTML jako výsledek. Vykreslí obsah jako HTML. Tehdy se objeví zranitelnost XSS.
Musíte tedy zabránit prohlížečům v rozhodování o obsahu pomocí čichání typu MIME. K tomu můžete použít nosniff.
Záhlaví X-Content-Type-Options pro Nginx:
add_header X-Content-Type-Options nosniff;
Záhlaví X-Content-Type-Options pro Apache:
Hlavička vždy X-Content-Type-Options nosniff
Záhlaví X-Content-Type-Options pro IIS:
<httpProtokol>
<customHeaders>
<přidat jméno="X-Content-Type-Options" hodnota="nosniff" />
</customHeaders>
</httpProtocol>
Co je příznak souboru cookie HttpOnly?
Webové aplikace sledují relace uživatelů prostřednictvím ID relace. Prohlížeče toto uloží a automaticky přidají ke každému požadavku HTTP v rámci rozsahu souboru cookie.
To je možné používat soubory cookie pro účely kromě přenosu klíče relace. Hackeři by mohli zjistit uživatelská data pomocí výše zmíněné zranitelnosti XSS nebo pomocí útoku Cross-Site Request Forgery (CSRF). Které soubory cookie jsou tedy z hlediska bezpečnosti nejdůležitější?
Jako příklad můžete považovat informace obsažené v posledním obrázku, na který jste klikli v galerii obrázků. Tímto způsobem je provoz HTTP menší a část zátěže může být vyřešena internetovým prohlížečem uživatele se skriptováním na straně klienta.
To je tam kde Pouze HTTP přichází v. Níže je uveden příklad toho, jak by mělo být přiřazení souborů cookie:
Soubor- Cookie: uživatel=t=cdabe8a1c2153d726; cesta=/; Pouze HTTP
Všimněte si hodnoty HttpOnly odeslané v Set-Cookie úkon. Prohlížeč to uvidí a nebude zpracovávat hodnoty s příznakem HttpOnly, když se k cookie přistupuje přes document.cookie variabilní. Dalším příznakem používaným v procesu Set-Cookie je příznak Secure. To znamená, že hodnota cookie bude přidána do hlavičky pouze pro požadavky HTTPS. Weby elektronického obchodu jej obvykle využívají, protože chtějí snížit provoz v síti a zvýšit výkon.
Pomocí této metody můžete skrýt důležitá data uživatelů, jako jsou uživatelská jména, hesla a informace o kreditních kartách. Ale je tu problém. Uživatelům, kteří dokončí proces přihlášení, je přiřazena hodnota cookie bez příznaku Secure. Uživatel může mít klíč relace, když zadává požadavek HTTP na odkazy jiné než HTTPS. Přidání zabezpečeného příznaku je snadné:
Soubor- Cookie: uživatel=t=cdabe8a1c2153d726; cesta=/; Zajistit
Kdy byste neměli používat HttpOnly? Pokud se spoléháte na Javascript, měli byste být opatrní, protože to může váš web místo toho snížit.
Malé kroky přispívají k širšímu zabezpečení webu
Ke zvýšení bezpečnosti webových aplikací nepotřebujete pokročilé znalosti softwaru a serverů. Změnou pouze několika řádků můžete předejít některým vážným útokům. To samozřejmě nestačí. Je to však malý, ale účinný krok pro zabezpečení webových stránek. Znalosti jsou nejlepší prevencí, takže je také užitečné znát jemné nuance toho, jak HTTPS chrání data během přenosu.