Sari la conținut

Verificare antete de securitate

Scrie o adresă. Ies cele șase antete care contează, fiecare cu ce obține valoarea lui cu adevărat — iar cele care stau acolo fără să facă nimic sunt spuse.

De ce „a fi pus” nu e o notă

Toate celelalte verificatoare dau notă pe prezență: antetul e acolo, verde. Dar un antet poate să fie acolo și să nu facă absolut nimic — max-age=0 e modalitatea documentată de a opri HSTS, o politică în modul Report-Only raportează și nu blochează, iar frame-ancestors face ca browserul să îți ignore complet X-Frame-Options. Toate trei se citesc ca făcute. Iar asta e mai rău decât dacă ar lipsi, fiindcă un antet care se vede e un antet pe care încetezi să-l verifici.

Ce nu îți spune asta

Dacă site-ul tău e sigur. Aceste antete limitează ce poate face un atac odată ce ceva a mers prost; împotriva defectului care l-a lăsat să intre nu fac nimic. Un șase perfect aici stă foarte bine peste un CMS niciodată actualizat.

O fotografie sau filmul întreg

Așa arată site-ul chiar acum. Supravegherea se uită la el — certificatul, DNS-ul, disponibilitatea — și te anunță în ziua în care ceva se schimbă, de obicei ziua în care cineva a pus în funcțiune o configurație pe care nu a citit-o.

Vezi supravegherea →

Întrebări frecvente

Spune că antetul meu nu face nimic. Dar îl văd în răspuns.
Îl vedem și noi — tocmai asta e ideea. Trei dintre acestea stau tot timpul puse și inerte: HSTS cu max-age=0 (asta e porunca de a-l uita), o Content-Security-Policy trimisă doar ca Report-Only (raportează, nu blochează) și un X-Frame-Options pe un site a cărui politică poartă și frame-ancestors, de care browserul ascultă. Valoarea e în raport; compar-o cu ce credeai că ai pus.
Am nevoie de toate șase?
Cinci sunt câte o linie de configurare fiecare și nu există motiv să le lași deoparte. Content-Security-Policy e cea care cere muncă adevărată, fiindcă una strictă îți rupe scripturile din pagină până le repari — și e totodată singura care limitează paguba unui XSS în loc să spere că îl împiedică. Pe aceea o pui întâi în Report-Only, citești raportările și apoi o aprinzi.
De ce e unsafe-inline o problemă dacă restul e închis?
Pentru că e exact ceea ce o CSP există ca să împiedice. Cu unsafe-inline în script-src, o etichetă script injectată rulează — iar asta e atacul întreg. Tot restul pe care politica îl restrânge cântărește mai puțin decât gaura aceea. Ieșirea sunt nonce-urile sau amprentele, iar strict-dynamic te lasă să păstrezi unsafe-inline ca plasă pentru browserele vechi fără să conteze împotriva ta.