Ролята на заглавките за сигурност
HTTP заглавките за сигурност предоставят стандартизиран механизъм за уеб приложенията, за да инструктират браузърите да прилагат специфични политики за сигурност по време на сесия [S1] [S2]. Тези заглавки действат като критичен слой на защита в дълбочина, смекчавайки рисковете, които може да не бъдат напълно адресирани само от логиката на приложението.
Правила за сигурност на съдържанието (CSP)
Политиката за сигурност на съдържанието (CSP) е защитен слой, който помага за откриването и смекчаването на определени видове атаки, включително междусайтови скриптове (XSS) и атаки за инжектиране на данни [S1]. Чрез дефиниране на политика, която указва кои динамични ресурси могат да се зареждат, CSP предотвратява изпълнението на злонамерени скриптове от браузъра, инжектирани от атакуващ [S1]. Това ефективно ограничава изпълнението на неоторизиран код, дори ако в приложението съществува уязвимост при инжектиране.
HTTP Strict Transport Security (HSTS)
HTTP Strict Transport Security (HSTS) е механизъм, който позволява на уебсайт да информира браузърите, че трябва да бъде достъпен само чрез HTTPS, а не HTTP [S2]. Това предпазва от атаки за понижаване на протокола и отвличане на бисквитки, като гарантира, че цялата комуникация между клиента и сървъра е криптирана [S2]. След като браузърът получи тази заглавка, той автоматично ще конвертира всички последващи опити за достъп до сайта чрез HTTP в HTTPS заявки.
Последици за сигурността на липсващите заглавки
Приложенията, които не успяват да внедрят тези заглавки, са изложени на значително по-висок риск от компрометиране от страна на клиента. Липсата на Политика за сигурност на съдържанието позволява изпълнението на неоторизирани скриптове, което може да доведе до отвличане на сесия, неоторизирано извличане на данни или обезобразяване на [S1]. По подобен начин липсата на заглавка HSTS оставя потребителите податливи на атаки тип човек по средата (MITM), особено по време на първоначалната фаза на свързване, където нападателят може да прихване трафика и да пренасочи потребителя към злонамерена или некриптирана версия на сайта [S2].
Как FixVibe го тества
FixVibe вече включва това като проверка на пасивно сканиране. headers.security-headers проверява публичните метаданни за HTTP отговор за наличието и силата на Content-Security-Policy, Strict-Transport-Security, X-Frame-Options или frame-ancestors, X-Content-Type-Options, Referrer-Policy и Permissions-Policy. Той отчита липсващи или слаби стойности без проби за експлойт, а подканата му за коригиране дава примери за заглавки, готови за внедряване, за често срещани настройки на приложения и CDN.
Ръководство за отстраняване
За да се подобри положението на сигурността, уеб сървърите трябва да бъдат конфигурирани да връщат тези заглавки по всички производствени маршрути. Стабилният CSP трябва да бъде съобразен със специфичните изисквания за ресурси на приложението, като се използват директиви като script-src и object-src за ограничаване на средите за изпълнение на скриптове [S1]. За сигурност на транспорта, заглавката Strict-Transport-Security трябва да бъде активирана с подходяща директива max-age, за да се осигури постоянна защита в потребителските сесии [S2].
