devopscodepro
Язык
Работает полностью в браузере — данные не покидают страницу.

TLS-конфиг

Сгенерируйте протоколы и шифры TLS по профилю — Mozilla modern/intermediate, PCI DSS, BSI — для Nginx, Caddy, OpenSSL и Go, или проверьте конфиг, который уже крутится.

Базовая линия Mozilla intermediate: TLS 1.2+1.3, только AEAD-сюиты с forward secrecy. Правильный дефолт почти для любого публичного сервиса.
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305;
ssl_prefer_server_ciphers off;
ssl_ecdh_curve X25519:prime256v1:secp384r1;

# session settings
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;

Настройки TLS, которые можно защитить на аудите

Выберите профиль — modern или intermediate от Mozilla, PCI DSS для карточных сред, BSI TR-02102-2 для немецких федеральных требований — и получите конфигурацию протоколов и шифров для Nginx, Caddy, OpenSSL или Go tls.Config. Сюиты берутся из опубликованных baseline'ов, а не из фольклора.

Режим проверки читает то, что у вас уже крутится: вставьте строки ssl_protocols и ssl_ciphers (или голую OpenSSL cipher string) — каждый токен классифицируется: AEAD с forward secrecy, остатки CBC, сломанные алгоритмы, классы шифров с непредсказуемым разворачиванием. Старые версии протокола помечаются с причиной, а не просто вердиктом.

Почему для TLS 1.3 нет списка шифров?

TLS 1.3 решил проблему структурно: существует всего пять AEAD-сюитов, все безопасны, и большинство серверов не даёт их сужать. Ни один legacy-алгоритм из тех, что ловит валидатор, под 1.3 в принципе не может быть согласован — поэтому включить 1.3 важнее, чем полировать список для 1.2.

Какой профиль выбрать?

Intermediate, если ничто не заставляет иначе. Modern отсекает клиентов старше примерно 2018 года; PCI — когда через систему идут карточные данные; BSI — когда немецкое федеральное требование ссылается на TR-02102. Сомневаетесь — intermediate не зря дефолт Mozilla.

Безопасно ли отключить TLS 1.0/1.1 для моих пользователей?

Почти наверняка. Каждый браузер с 2014 года и каждая живая библиотека умеют 1.2. Исключения — embedded-устройства и очень старые корпоративные парки; прежде чем волноваться, посмотрите реальное распределение протоколов в своих access-логах.

Почему ssl_prefer_server_ciphers off?

Когда в списке только хорошие сюиты, выбор клиента означает, что каждое устройство берёт самый быстрый для себя вариант — телефоны без AES-железа выбирают ChaCha20. Принудительный порядок сервера имел смысл, когда в списках были слабые сюиты, которые надо было задвигать; чистому списку он не нужен.

Смежные инструменты: Аудит SSL / TLS, Декодер сертификатов и Security-заголовки.