HSTS & CSP - бързи победи за сигурността
Прагматични печалби за минути - базови контроли, които блокират цели класове атаки.
Публикувано:
Защо заглавките имат значение
Заглавките за сигурност са евтини и проверими контроли, които веднага повишават нивото на защита. Те не заменят валидирането и дизайна на автентикация, но затварят фронт-дор уязвимости и свиват щетите при грешки.
Пет бързи победи
- HSTS - принуждава HTTPS, предотвратява понижаване на протокола и изтичане на бисквитки.
- X-Frame-Options или frame-ancestors (в CSP) - спира clickjacking чрез забрана за вграждане.
- X-Content-Type-Options: nosniff - блокира MIME type sniffing.
- Referrer-Policy - ограничава изтичането на чувствителни URL параметри.
- Content-Security-Policy - минимална, но строга политика за скриптове, фреймове и източници.
Прагматичен старт за CSP
Content-Security-Policy:
default-src 'self';
script-src 'self' 'strict-dynamic' 'nonce-<random>';
object-src 'none';
base-uri 'self';
frame-ancestors 'none';
upgrade-insecure-requests;
Ползвай nonces за първични скриптове, избягвай wildcard-и и добавяй репортинг при внедряване.
Верификация и внедряване
- Стартирай в report-only режим за CSP в staging.
- Автоматизирай проверки в CI (заглавки + TLS профил).
- Фиксирай очакванията със smoke тестове в production.
Изводи
- Хедърите дават висок ROI срещу минимално усилие.
- Не допускайте отслабени дефолти - подсилете ги поетапно.
- Подсилете хедър частите с истински корекции в кодовете/файловете.