Skip to content

Методология SSL/TLS Grade — v1.0

Кратко. Рейтинг SSL/TLS A–F складывается из 6 взвешенных категорий: валидность сертификата (10 баллов), целостность цепочки доверия (8 баллов), запас до истечения (6 баллов), hostname match (5 баллов), версия протокола с бонусом за TLS 1.3 / 1.2 (8 баллов) и сила шифров + perfect-forward-secrecy (8 баллов). Source of truth — src/ssl.php. Один fail в валидности или цепочке ограничивает оценку до C даже при идеале остального — broken chain это реальный user-facing failure, его арифметика не должна замазывать.

1. Валидность сертификата — 10 баллов

  • 10 pts — сертификат валиден (выдан доверенным CA, не истёк, не отозван через OCSP/CRL)
  • 6 pts — истекает в течение 14 дней, в остальном валиден (warning)
  • 0 pts — истёк, отозван или self-signed в production

Жёсткий cap: 0 баллов здесь означает оценку не выше D независимо от других категорий.

2. Целостность цепочки доверия — 8 баллов

  • 8 pts — полная цепочка: leaf → intermediate(s) → trusted root, всё отдаётся сервером
  • 4 pts — требуется AIA fetching для полной цепочки (legacy клиенты без AIA fail)
  • 0 pts — broken chain или отсутствуют intermediates

3. Запас до истечения — 6 баллов

  • 6 pts — осталось > 30 дней
  • 4 pts — 14–30 дней
  • 2 pts — 7–14 дней (срочно обновлять)
  • 0 pts — < 7 дней

Пороги совпадают с дефолтами SSL warning в мониторах (ssl_warning_days=14, ssl_critical_days=3) — рейтинг согласован с тем, на что срабатывают алерты.

4. Hostname match — 5 баллов

  • 5 pts — запрашиваемый hostname присутствует в CN или SAN list
  • 0 pts — mismatch (браузеры дают NET::ERR_CERT_COMMON_NAME_INVALID)

5. Версия протокола — 8 баллов

  • 8 pts — установлен TLS 1.3 (современный, обязательный PFS, нет downgrade-уязвимых шифров)
  • 5 pts — установлен TLS 1.2 (приемлем по Mozilla Modern profile)
  • 2 pts — TLS 1.1 (deprecated, браузеры warn)
  • 0 pts — TLS 1.0 / SSL v3 / SSL v2 (запрещены по RFC 8996)

6. Сила шифров + PFS — 8 баллов

  • 4 pts — AEAD-шифр (AES-GCM, ChaCha20-Poly1305) — без CBC, без RC4
  • 4 pts — perfect forward secrecy через ECDHE или DHE key exchange

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

БаллыОценкаПримечания
40–45A+TLS 1.3 + PFS + валиден + хороший запас
35–39ATLS 1.2+ ok, все категории pass
28–34Bминор (скоро истекает или несовершенная цепочка)
20–27Ccap здесь если fail в §1 или §2
10–19Dмного деградаций
0–9Fнет HTTPS или опасная конфигурация

Источники

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

v1.0 — опубликовано 2026-05-05. Зеркалит src/ssl.php на HEAD 2026-05-05. Веса категорий — оценочные, основаны на browser-error blast radius (валидность + цепочка максимально, потому что их fail даёт hard browser error; сила шифров рядом с протоколом, потому что оба могут быть тихо слабыми без warning). Будущие изменения весов поднимут версию.

Запустить SSL/TLS check →