Skip to content

Методология Security Grade — v1.0

Кратко. Рейтинг Security Grade A–F — это сумма пяти взвешенных категорий: HTTPS enforcement (10 баллов), конфигурация HSTS включая preload list (10 баллов), security HTTP-заголовки (~20 баллов суммарно), флаги cookie (10 баллов) и information disclosure / fingerprinting (5 баллов). Source of truth — src/security.php. Частичный кредит при fail в одной категории — сайт не падает в F из-за одного отсутствующего заголовка.

1. HTTPS Enforcement — 10 баллов

  • 5 pts — итоговый URL отдаётся по HTTPS
  • 5 pts — HTTP → HTTPS 301-редирект (нет mixed-protocol bounce)

2. Конфигурация HSTS — 10 баллов

  • 3 pts — присутствует заголовок Strict-Transport-Security
  • 3 pts — max-age ≥ 31536000 (один год)
  • 2 pts — установлена директива includeSubDomains
  • 2 pts — preload + домен в списке hstspreload.org

3. Security-заголовки — ~20 баллов суммарно

Веса как в Health Score security headers — см. /methodology/health-score. Здесь критичны: CSP (6) и HSTS (уже посчитан в §2) — закрывают самые крупные классы XSS + downgrade-атак.

4. Флаги Cookie — 10 баллов

  • 4 pts — все cookies имеют Secure (только HTTPS)
  • 3 pts — все cookies имеют HttpOnly (не читаются из JS)
  • 3 pts — все cookies имеют SameSite (mitigation CSRF)

Частичный pass (1 из N cookie без флага) даёт 1 балл вместо нуля — это поощряет постепенное hardening вместо наказания legacy-систем за один misconfigured cookie.

5. Information Disclosure — 5 баллов

  • 2 pts — нет утечки Server: (или generic значение nginx без версии)
  • 2 pts — нет X-Powered-By: (отпечаток PHP / Express и т.д.)
  • 1 pt — нет открытых .git / .env / debug путей

Буквенная оценка

БаллыОценка
50–55A+
45–49A
38–44B
30–37C
20–29D
0–19F

Источники

Версионирование

v1.0 — опубликовано 2026-05-05. Зеркалит src/security.php на HEAD 2026-05-05. Веса категорий — оценочные, основаны на blast radius класса атак (HTTPS + HSTS максимально — их отсутствие открывает MitM + downgrade; information disclosure минимально — это только recon). Будущие изменения весов поднимут версию.

Запустить security scan →