Uloga sigurnosnih zaglavlja
HTTP sigurnosna zaglavlja pružaju standardizirani mehanizam za web aplikacije za instruiranje preglednika da provode određena sigurnosna pravila tijekom sesije [S1] [S2]. Ova zaglavlja djeluju kao kritični sloj dubinske obrane, umanjujući rizike koji se možda neće u potpunosti riješiti samo logikom aplikacije.
Politika sigurnosti sadržaja (CSP)
Politika sigurnosti sadržaja (CSP) je sigurnosni sloj koji pomaže u otkrivanju i ublažavanju određenih vrsta napada, uključujući Cross-Site Scripting (XSS) i napade ubacivanjem podataka [S1]. Definiranjem pravila koja određuju koji se dinamički resursi smiju učitavati, CSP sprječava preglednik u izvršavanju zlonamjernih skripti koje je ubacio napadač [S1]. Ovo učinkovito ograničava izvršavanje neovlaštenog koda čak i ako u aplikaciji postoji ranjivost ubrizgavanja.
HTTP Strict Transport Security (HSTS)
HTTP Strict Transport Security (HSTS) mehanizam je koji omogućuje web stranici da informira preglednike da joj se treba pristupati samo putem HTTPS-a, a ne HTTP [S2]. Ovo štiti od napada na stariju verziju protokola i otmice kolačića osiguravajući da je sva komunikacija između klijenta i poslužitelja šifrirana [S2]. Nakon što preglednik primi ovo zaglavlje, automatski će pretvoriti sve naredne pokušaje pristupa stranici putem HTTP-a u HTTPS zahtjeve.
Sigurnosne implikacije nedostajućih zaglavlja
Aplikacije koje ne implementiraju ova zaglavlja izložene su značajno većem riziku od kompromitacije na strani klijenta. Nepostojanje Politike sigurnosti sadržaja dopušta izvršavanje neovlaštenih skripti, što može dovesti do otmice sesije, neovlaštene eksfiltracije podataka ili oštećenja [S1]. Slično tome, nedostatak zaglavlja HSTS ostavlja korisnike podložnima napadima čovjeka u sredini (MITM), osobito tijekom početne faze povezivanja, gdje napadač može presresti promet i preusmjeriti korisnika na zlonamjernu ili nekriptiranu verziju stranice [S2].
Kako FixVibe to testira
FixVibe ovo već uključuje kao provjeru pasivnog skeniranja. headers.security-headers provjerava javne metapodatke HTTP odgovora radi prisutnosti i snage Content-Security-Policy, Strict-Transport-Security, X-Frame-Options ili frame-ancestors, X-Content-Type-Options, Referrer-Policy i Permissions-Policy. Izvještava o nedostajućim ili slabim vrijednostima bez ispitivanja iskorištavanja, a njegov upit za popravak daje primjere zaglavlja spremnih za implementaciju za uobičajene postavke aplikacija i CDN-a.
Smjernice za sanaciju
Za poboljšanje sigurnosnog položaja, web poslužitelji moraju biti konfigurirani za vraćanje ovih zaglavlja na svim proizvodnim rutama. Robusni CSP trebao bi biti prilagođen specifičnim zahtjevima aplikacije za resurse, korištenjem direktiva kao što su script-src i object-src za ograničavanje okruženja izvršavanja skripte [S1]. Za sigurnost prijenosa, zaglavlje Strict-Transport-Security treba biti omogućeno odgovarajućom direktivom max-age kako bi se osigurala stalna zaštita u svim korisničkim sesijama [S2].
