Заголовки безопасности — это HTTP заголовки ответа, которые улучшают безопасность веб-приложений, инструктируя браузеры как вести себя.
Основные Заголовки
1. Content-Security-Policy (CSP)
Content-Security-Policy: default-src 'self'; script-src 'self'
2. Strict-Transport-Security (HSTS)
Strict-Transport-Security: max-age=31536000; includeSubDomains
3. X-Frame-Options
X-Frame-Options: DENY
Тестирование
def test_security_headers():
response = requests.get("https://example.com")
assert 'Content-Security-Policy' (как обсуждается в [OWASP ZAP Automation: Security Scanning in CI/CD](/blog/owasp-zap-automation)) in response.headers
assert 'Strict-Transport-Security' (как обсуждается в [Penetration Testing Basics for QA Testers](/blog/penetration-testing-basics)) in response.headers
assert 'X-Frame-Options' in response.headers
Инструменты
- SecurityHeaders.com
- Mozilla Observatory
- Пользовательские скрипты
Реализация
Node.js
const helmet = require('helmet');
app.use(helmet());
Nginx
add_header Content-Security-Policy "default-src 'self'" always;
add_header Strict-Transport-Security "max-age=31536000" always;
Заключение
Security headers — критически важный защитный слой. Регулярное тестирование обеспечивает правильную реализацию и защиту от распространенных веб-уязвимостей.