Poveikis
Jei nėra saugos antraščių, užpuolikai gali užgrobti spustelėjimus, pavogti seanso slapukus arba vykdyti kelių svetainių scenarijus (XSS) [S1]. Be šių instrukcijų naršyklės negali užtikrinti saugumo ribų, dėl kurių gali būti išfiltruojami duomenys ir galimi neleistini vartotojo veiksmai [S2].
Pagrindinė priežastis
Problema kyla dėl to, kad nepavyko sukonfigūruoti žiniatinklio serverių ar programų sistemų, kad būtų įtrauktos standartinės HTTP saugos antraštės. Nors kuriant dažnai pirmenybė teikiama funkciniam HTML ir CSS [S1], saugos konfigūracijos dažnai praleidžiamos. Audito įrankiai, tokie kaip MDN observatorija, yra skirti aptikti šiuos trūkstamus gynybinius sluoksnius ir užtikrinti, kad naršyklės ir serverio sąveika būtų saugi [S2].
Techninė informacija
Saugos antraštės pateikia naršyklei konkrečias saugos direktyvas, skirtas sumažinti bendrus pažeidžiamumus: – Turinio saugos politika (CSP): kontroliuoja, kokius išteklius galima įkelti, užkertant kelią neteisėtam scenarijaus vykdymui ir duomenų įterpimui. [S1]. – Griežtas transportavimo saugumas (HSTS): užtikrina, kad naršyklė palaiko ryšį tik saugiais HTTPS ryšiais [S2]. – X-Frame-Options: neleidžia programai pateikti „iframe“, kuri yra pagrindinė apsauga nuo spustelėjimų [S1]. – X-Content-Type-Options: neleidžia naršyklei interpretuoti failų kaip kitokio MIME tipo, nei nurodyta, ir sustabdo MIME užuostus atakas [S2].
Kaip FixVibe tai tikrina
FixVibe galėtų tai aptikti analizuodama žiniatinklio programos HTTP atsako antraštes. Palyginus rezultatus su MDN observatorijos standartais [S2], FixVibe, galima pažymėti trūkstamas arba netinkamai sukonfigūruotas antraštes, pvz., CSP, ZXCVFIXVIBETOKEN4X-Ftionsme ir-
Pataisyti
Atnaujinkite žiniatinklio serverį (pvz., „Nginx“, „Apache“) arba tarpinę programinę įrangą, kad į visus atsakymus būtų įtrauktos šios antraštės kaip standartinės saugos pozicijos [S1] dalis:
- Turinio saugumo politika: apribokite išteklių šaltinius iki patikimų domenų.
- Griežtas transportavimo saugumas: įgalinkite HTTPS naudodami ilgą
max-age. - X-Content-Type-Options: nustatykite į
nosniff[S2]. - X-Frame-Options: nustatykite į
DENYarbaSAMEORIGIN, kad išvengtumėte spragtelėjimo [S1].
