Nasadili jste aplikaci. Stránky se načítají, formuláře fungují a nic nevypadá rozbité. Poté spustíte skenování a vrátí se se seznamem zjištění o hlavičky - a nic z toho není zřejmé.
To je normální první reakce. Záhlaví se na obrazovce nezobrazují, takže je těžké říct, zda na nich záleží, nebo zda je skener jen nervózní. Tato příručka vás provede hlavičkami, které uvidíte nejčastěji, co každá z nich ve srozumitelném jazyce skutečně dělá a jak bez dohadů zkontrolovat ta vaše.
Proč na záhlaví záleží, i když váš web vypadá dobře
Bezpečnostní hlavičky jsou pokyny, které váš server odešle do prohlížeče vedle stránky. Prohlížeč je přečte a upraví, jak nakládá s vaším obsahem: které skripty se mohou spouštět, zda se stránka může načíst přes prostý HTTP, zda ji jiný web může vložit do rámce.
Na stránce se nic nemění. To je přesně důvod, proč tato zjištění působí abstraktně - stránka může vypadat a chovat se perfektně, a přitom postrádat sadu ochran, na kterých by záleželo v den, kdy se něco pokazí.
Poctivé rámování je toto: hlavičky snižují specifickou třídu rizika. Nezabezpečují web samy o sobě a kontrola čistého záhlaví neprokazuje, že web je plně bezpečný. Představte si je jako jednu vrstvu mezi několika a jednu z nejlevnějších vrstev.
Co je vlastně hlavička zabezpečení
Když prohlížeč požaduje stránku, váš server odpoví stránkou a blok metadat nazývaný hlavičky odpovědí. Můžete je vidět sami: otevřete vývojářské nástroje prohlížeče, přejděte na kartu Síť, znovu načtěte stránku a klikněte na horní požadavek. Záhlaví jsou přímo tam.
Bezpečnostní hlavičky jsou jednoduše ty, které říkají prohlížeči, aby vynutil pravidlo. Některé jsou přísné, některé jsou poradní a všechny jsou nastaveny v konfiguraci serveru, ve vašem frameworku nebo vaší hostitelské platformě - nikoli ve vašem HTML.
Content-Security-Policy (CSP)
CSP sděluje prohlížeči, které zdroje obsahu se mohou na vaši stránku načítat. Je to zde nejmocnější hlavička a ta, kterou lidé nejvíce zastrašují.
V praxi CSP uvádí věci jako: skripty mohou pocházet pouze z vaší vlastní domény a jednoho důvěryhodného CDN; obrázky mohou pocházet odkudkoli přes HTTPS; stránka nesmí být orámována jiným webem. Pokud se něco pokusí načíst ze zdroje, který jste nepovolili, prohlížeč to zablokuje a pokus zaznamená do konzole.
CSP je další obrana proti vkládání skriptů spolu s bezpečným kódováním výstupu a dezinfekcí. Je to také hlavička, která s největší pravděpodobností něco rozbije, pokud ji nastavíte příliš agresivně. Praktickou cestou pro začátečníka je začít v režimu pouze pro zprávy, sledovat, co by bylo zablokováno, opravit skutečné problémy a pak to vynutit.
Strict-Transport-Security (HSTS)
HSTS říká prohlížeči, aby s vaším webem mluvil pouze přes HTTPS po definovanou dobu. Jakmile prohlížeč uvidí tuto hlavičku, odmítne vytvořit nezabezpečené připojení HTTP k vaší doméně - i když uživatel zadá http:// nebo následuje starý odkaz.
Jakmile prohlížeč zná zásady HSTS, upgraduje požadavky HTTP před jejich odesláním. První návštěva může stále používat HTTP, pokud doména již není pokryta položkou předběžného načtení HSTS.
Jediná věc, kterou je zde třeba respektovat, je závazek. Prohlížeč si HSTS pamatuje tak dlouho, jak určíte, takže začněte s krátkou dobou trvání, zatímco potvrdíte, že každá subdoména funguje přes HTTPS, a jakmile si budete jisti, prodlužte ji.
X-Frame-Options
X-Frame-Options řídí, zda jiný web může načíst vaše stránky do rámce - an <iframe> na stránce někoho jiného.
Proč se starat? Protože rámování je mechanismus za clickjackingem, kdy útočník překryje vaši skutečnou stránku neviditelnými nebo skrytými prvky, takže uživatel klikne na něco, co neměl v úmyslu. Pokud má vaše aplikace nějakou akci při přihlášení - tlačítko smazat, platbu nebo změnu nastavení - její umístění jinam je riziko, které nechcete.
Běžné nastavení je SAMEORIGIN, který umožňuje, aby se vaše vlastní stránky vzájemně rámovaly, ale všechny ostatní blokuje. Pokud nikdy nechcete být zarámováni, je to obvykle správné výchozí nastavení.
Referrer-Policy
Referrer-Policy rozhoduje, jak velká část vaší adresy URL je sdílena s jinými weby, když uživatel klikne na odkaz mimo vaši stránku. Moderní prohlížeče běžně používají strict-origin-when-cross-origin: úplná adresa URL může být odeslána na požadavky stejného původu, zatímco požadavky HTTPS s křížovým původem obdrží pouze původ. Explicitní slabší politika může prozradit více.
To je důležité, protože úplné adresy URL někdy obsahují citlivé hodnoty v řetězcích dotazů - tokeny, ID, e-mailové adresy, hledané výrazy. Jejich únik třetí straně je tichý a snadno přehlédnutelný.
Rozumný základ je posílat pouze původ, nebo vůbec nic, na požadavky mezi weby. Nestojí vás to téměř nic a odstraní náhodný únik dat.
Zbytek praktické sady
Několik dalších záhlaví se objevuje dostatečně často, abyste je mohli znát podle jména:
X-Content-Type-Options: nosniffzabrání prohlížeči uhodnout typ souboru, což může jinak nahraný soubor změnit na spustitelný skript.Permissions-Policyvypne funkce prohlížeče, které nepoužíváte, jako je kamera, mikrofon nebo geolokace.Cross-Origin-Opener-Policya související cross-origin hlavičky izolují vaši stránku od ostatních, což pomáhá zabránit určitým útokům.
První den je nepotřebujete všechny. Vědět, co dělají, vám pomůže přečíst zprávu o skenování bez paniky.
Jak zkontrolovat hlavičky za pár minut
Máte dva způsoby, jak se dívat.
Nejprve ruční trasa: nástroje pro vývojáře, karta Síť, klikněte na požadavek na stránku a přečtěte si záhlaví odpovědí. To je užitečné pro potvrzení, že je přítomna jediná hlavička, a nastavení podle očekávání.
Za druhé, praktická cesta pro více než jednu stránku: spusťte skenování. Skener načte váš web tak, jak by to udělal prohlížeč, a nahlásí, která bezpečnostní záhlaví jsou přítomna, která chybí a co jednotlivé mezery odhalují. To vám dává prioritní seznam namísto stěny surového textu - a kontroluje stránky, které by vás nenapadlo otevírat ručně.
Univerzální nástroj, jako je bezplatný odlehčený bezpečnostní sken VICE, označí nálezy záhlaví spolu s dalšími problémy, s důkazy za každým z nich, takže můžete vidět, proč byly vzneseny.
Opravte je a poté ověřte znovu naskenováním
Záhlaví žijí v konfiguraci, takže většina oprav je malá: přidejte řádek do konfigurace serveru, nastavení ve vašem frameworku nebo volbu na řídicím panelu vašeho hostitele. Změňte jedno záhlaví po druhém a potvrďte, že web stále funguje.
Poté znovu naskenujte. Tento krok lidé přeskakují. Úprava konfigurace neznamená, že záhlaví je nyní na každé stránce správné a označení něčeho jako opraveného na řídicím panelu není totéž jako potvrzení. Pouze nové skenování ve stejném rozsahu vám řekne, že se změna skutečně projevila.
Začněte s bezplatným skenováním, podívejte se, co vaše hlavičky skutečně dělají, a opravte hlavní nálezy jeden po druhém. To je rozumný první průchod - a mnohem lepší pozice, než doufat, že výchozí hodnoty byly v pořádku.



