Перевірка версії TLS
Технічні деталі
Як працює перевірка TLS
Що робить інструмент
Перевірка TLS аналізує TLS-конфігурацію хоста, намагаючись встановити з’єднання для кожної версії протоколу (TLS 1.0, 1.1, 1.2 і 1.3), і повідомляє, які версії підтримуються. Також вона отримує відомості про X.509 сертифікат сервера, зокрема суб’єкт, видавця, дати чинності, SAN-и та розмір ключа. Перевірка виконується через серверний API, щоб обійти обмеження безпеки браузера щодо прямого доступу до TLS-сокетів.
Поширені сценарії використання для розробників
DevOps-інженери використовують перевірки TLS, щоб підтвердити, що застарілі протоколи (TLS 1.0/1.1) вимкнено після змін конфігурації, забезпечуючи відповідність PCI-DSS. Розробники налагоджують проблеми з ланцюжком сертифікатів, перевіряють дати закінчення дії перед продовженням і підтверджують, що wildcard- або SAN-сертифікати охоплюють усі потрібні піддомени. Аудитори безпеки сканують кінцеві точки, щоб виявити слабку підтримку протоколів, яка може наражати сервіси на атаки пониження рівня, як-от POODLE або BEAST.
Формати даних, типи або варіанти
Версії TLS варіюються від 1.0 (1999, застаріла) через 1.1 (2006, застаріла) до 1.2 (2008, широко підтримується) і 1.3 (2018, найшвидша та найбезпечніша). Інформація про сертифікат включає Common Name суб’єкта та Subject Alternative Names (SAN-и), ланцюжок видавців, тип і розмір ключа RSA/ECDSA, алгоритм підпису та часові мітки чинності not-before/not-after. Результати показують, чи вдалося рукостискання для кожної версії протоколу, чи сервер його відхилив.
Поширені помилки та крайові випадки
CDN і балансувальники навантаження можуть показувати інші сертифікати або TLS-конфігурації, ніж origin-сервер, тож завжди тестуйте фактичну кінцеву точку, до якої підключаються ваші користувачі. Для хостів, що обслуговують кілька сертифікатів на одній IP-адресі, потрібен SNI (Server Name Indication) — тестування лише за IP-адресою може повернути неправильний сертифікат. Деякі сервери використовують проксі для TLS-термінації, де проксі підтримує TLS 1.3, але бекенд спілкується лише 1.2, що створює хибне враження про рівень безпеки всього ланцюжка.
Коли використовувати цей інструмент, а коли — код
Використовуйте цей браузерний інструмент для швидких разових перевірок окремих кінцевих точок під час реагування на інциденти, верифікації продовження сертифіката або точкових перевірок відповідності. Для безперервного моніторингу TLS-конфігурацій на багатьох кінцевих точках використовуйте спеціалізовані інструменти на кшталт testssl.sh, sslyze або хмарні сервіси моніторингу сертифікатів, які надають сповіщення, історичне відстеження та автоматизовані розклади сканування.