Вплив
Відсутність заголовків безпеки дозволяє зловмисникам здійснювати клікджекінг, викрадати файли cookie сеансу або виконувати міжсайтовий сценарій (XSS) [S1]. Без цих інструкцій браузери не можуть забезпечити обмеження безпеки, що може призвести до потенційного викрадання даних і несанкціонованих дій користувача [S2].
Основна причина
Проблема пов’язана з невдале налаштування веб-серверів або фреймворків програм для включення стандартних заголовків безпеки HTTP. Хоча розробка часто надає пріоритет функціональним HTML і CSS [S1], конфігурації безпеки часто пропускаються. Інструменти аудиту, такі як MDN Observatory, призначені для виявлення цих відсутніх захисних рівнів і забезпечення безпеки взаємодії між браузером і сервером [S2].
Технічні деталі
Заголовки безпеки надають браузеру спеціальні директиви безпеки для пом’якшення поширених уразливостей:
- Політика безпеки вмісту (CSP): контролює, які ресурси можна завантажувати, запобігаючи несанкціонованому виконанню сценарію та ін’єкції даних [S1].
- Strict-Transport-Security (HSTS): гарантує, що браузер обмінюється даними лише через захищені з’єднання HTTPS [S2].
- X-Frame-Options: запобігає відображенню програми в iframe, що є основним захистом від клікджекінга [S1].
- X-Content-Type-Options: забороняє браузеру інтерпретувати файли як тип MIME, відмінний від указаного, зупиняючи атаки з перехопленням MIME [S2].
Як FixVibe перевіряє це
FixVibe може виявити це, проаналізувавши заголовки відповіді HTTP веб-додатку. Порівнюючи результати зі стандартами MDN Observatory [S2], FixVibe може позначати відсутні або неправильно налаштовані заголовки, такі як CSP, HSTS і X-Frame-Options.
Виправити
Оновіть веб-сервер (наприклад, Nginx, Apache) або проміжне програмне забезпечення програми, щоб включити такі заголовки в усі відповіді як частину стандартної безпеки [S1]:
- Content-Security-Policy: обмежити джерела ресурсів довіреними доменами.
- Strict-Transport-Security: застосуйте HTTPS за допомогою довгого
max-age. - X-Content-Type-Options: установіть значення
nosniff[S2]. - X-Frame-Options: установіть значення
DENYабоSAMEORIGIN, щоб запобігти клікджекінгу [S1].
