Заголовки безопасности — это 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 — критически важный защитный слой. Регулярное тестирование обеспечивает правильную реализацию и защиту от распространенных веб-уязвимостей.