Analizator varnostnih glav
Prilepite surove glave odgovora HTTP iz curl -I ali zavihka Network v orodjih za razvijalce in pridobite ocenjeni varnostni pregled – pravi razčlenjevalnik slovnice pravilnika Content-Security-Policy ter HSTS, X-Frame-Options, zastavice piškotkov in še več, v celoti brez povezave.
🔒 V celoti obdelano v vašem brskalniku – nič, kar tukaj vnesete, ni nikoli naloženo.
Rezultat
Glave odgovora nosijo večino dejanske varnostne politike spletnega mesta, ki jo izvaja brskalnik, vendar se je pri ročnem branju zlahka zmotiti: pravilnik Content-Security-Policy je lahko na prvi pogled videti strog, medtem ko tiho dovoljuje skripte 'unsafe-inline', glava Strict-Transport-Security pa je lahko prisotna z max-age tako kratkim, da skoraj nič ne naredi. To orodje vzame surovi blok glav, ki ga prilepite – kopirate neposredno iz curl -I, Postmana ali zahteve na zavihku Network v orodjih za razvijalce – in ga požene skozi isto kategorijo preizkusov, kot jih uporabljajo znani spletni ocenjevalci glav, v celoti v vašem brskalniku. Nič se ne pridobiva: analizira se samo tisto, kar prilepite, kar pomeni, da deluje enako za javno produkcijsko spletno mesto, notranji testni strežnik ali končno točko za požarnim zidom, ki je noben zunanji pregledovalnik ne bi mogel nikoli doseči.
Osrednji del je pravi razčlenjevalnik slovnice pravilnika Content-Security-Policy, ne kontrolni seznam. Vrednost glave se razdeli po podpičjih v direktive, seznam virov vsake direktive pa se razdeli in pregleda pod lastnimi pogoji: direktive, povezane s skriptami in slogi, se označijo, če dovoljujejo 'unsafe-inline' ali 'unsafe-eval', vsaka direktiva se označi za goli nadomestni znak '*' (z dodatno resnostjo, kadar ta nadomestni znak sedi na script-src, object-src, base-uri ali default-src), široki viri shem, kot je 'https:', na direktivi za skripte, se izpostavijo kot skoraj tako dovoljujoči kot nadomestni znak, celoten pravilnik pa se preveri glede manjkajočega privzetega vira default-src ter glede opuščenih direktiv (block-all-mixed-content, plugin-types, referrer, reflected-xss), ki jih sodobni brskalniki preprosto ignorirajo. CSP, poslan le kot Content-Security-Policy-Report-Only, se prepozna in označi, da se dejansko še ne izvaja, kar se razlikuje od popolnoma manjkajočega pravilnika.
Poleg CSP orodje preveri Strict-Transport-Security tako, da razčleni njegovo lastno direktivo max-age in označi vrednosti pod približno šestimi meseci kot prekratke, da bi bile smiselno učinkovite, ter ali sta nastavljeni includeSubDomains in preload. X-Content-Type-Options mora biti natančen niz 'nosniff', sicer se označi, da ga brskalniki ignorirajo. X-Frame-Options se preveri za DENY ali SAMEORIGIN, vendar se orodje zaveda tudi, da je direktiva CSP frame-ancestors sodobna zamenjava za zaščito pred klik-vabo – če je ta prisotna, se X-Frame-Options obravnava kot pokrita, tudi kadar same zapuščinske glave ni. Referrer-Policy se preveri glede na dejanski seznam veljavnih ključnih besed in označi, če je nastavljena na vrednost 'unsafe-url', ki razkriva URL, Permissions-Policy se preveri glede prisotnosti, vsaka najdena vrstica Set-Cookie pa se razčleni glede lastnih atributov Secure, HttpOnly in SameSite, vključno s posebnim pravilom, da piškotke SameSite=None brez Secure brskalniki tiho zavržejo.
Vsak preizkus ustvari enega od treh iskrenih stanj – dobro, potrebuje pozornost ali manjka – s preprosto razlago, zakaj je ta glava pomembna za resnične napade (XSS, klik-vaba, kraja piškotkov, znižanje protokola), skupna ocena od A do F pa je pregledna vsota točk po glavah in ne črno-škatlasti rezultat. Celotno poročilo je mogoče kopirati kot navadno besedilo z enim klikom in prilepiti v zahtevo za poteg, zahtevek ali varnostni pregled, in ker razčlenjevanje v celoti poteka iz prilepljenega besedila, je orodje enako uporabno za pregledovanje glav lastnega spletnega mesta, pregled odziva prodajalca pred integracijo ali dvojno preverjanje spremembe konfiguracije, preden se objavi.