Блог
Security · разборБезопасность 10 мин чтения

SSL/TLS-сертификаты: Let's Encrypt, wildcard, EV — что выбрать

Разбираем, чем DV отличается от OV/EV, когда нужен wildcard, как выбрать между Let's Encrypt, ZeroSSL и коммерческими CA, и что даёт mTLS в 2026.

«У нас SSL включён» звучит одинаково — но за этим стоит десяток разных сертификатов, у каждого свои особенности. Одному нужен wildcard, другому — mTLS на внутренние API, третьему хватит бесплатного Let's Encrypt.

Разберёмся, какие типы TLS-сертификатов существуют в 2026-м, чем они реально отличаются и как выбрать нужный, не переплатив за фичи, которые вам не нужны.

DV, OV, EV — уровни валидации

DV (Domain Validated). CA проверяет только, что вы контролируете домен (через HTTP-01, DNS-01, TLS-ALPN). Выдаётся за 1-5 минут. Это большинство сертификатов интернета, включая Let's Encrypt и ZeroSSL. Достаточно для 99% случаев.

OV (Organization Validated). CA проверяет юрлицо (регистрационные документы, звонок). Выдаётся 1-5 дней, стоит $50-200/год. В браузере — никакой визуальной разницы с DV, всё то же «Secure».

EV (Extended Validation). Углублённая проверка организации. Раньше показывал зелёную полоску в браузере — теперь браузеры это отменили (Chrome 77+, Firefox 70+). По сути EV мёртв: платить $200-500/год не за что.

На заметку

Вывод: OV/EV имеют смысл только если это регуляторное требование (банки, госсектор). Для коммерции и SaaS — DV достаточен.

Wildcard vs SAN vs Single-domain

Single-domain (`example.com`). Одно имя. Дешевле всего. Let's Encrypt выдаёт за 30 сек.

SAN / multi-domain (`example.com`, `shop.example.com`, `api.example.com`). Один сертификат на список имён. Ограничение — обычно до 100-250 SAN. Удобно, если поддоменов немного и они известны заранее.

**Wildcard (*.example.com).** Покрывает любое количество поддоменов первого уровня. Требует DNS-01 challenge (HTTP-01 не поддерживается для wildcard в Let's Encrypt). Полезно, если поддомены создаются динамически (мульти-тенантный SaaS).

Let's Encrypt vs ZeroSSL vs коммерческие

Let's Encrypt. Бесплатно, автоматизация через ACME (certbot, acme.sh, caddy). Срок: 90 дней (сейчас идёт эксперимент по 6-дневным сертификатам для расширенного набора клиентов). Лимиты: 50 сертификатов на домен в неделю. Стандарт де-факто.

ZeroSSL. Тоже бесплатный DV через ACME. Плюсы: 90-дневный wildcard бесплатно, панель управления. Минусы: rate-limit ниже.

Google Trust Services / Amazon Trust Services. Их ACME — если ваша инфраструктура в GCP/AWS. Zero-effort в связке с их managed-сервисами.

Коммерческие (Sectigo, DigiCert, GlobalSign). OV, EV, code signing, S/MIME. Актуальны для узких кейсов. Обычному сайту не нужны.

Wildcard через Let's Encrypt (DNS-01)

Получить *.example.com можно бесплатно через certbot + плагин DNS-провайдера. Пример для Cloudflare:

sudo apt install certbot python3-certbot-dns-cloudflare

cat > /root/.cf.ini <<EOF
dns_cloudflare_api_token = <your_token>
EOF
chmod 600 /root/.cf.ini

certbot certonly \
  --dns-cloudflare \
  --dns-cloudflare-credentials /root/.cf.ini \
  -d '*.example.com' -d example.com

# Автообновление — уже в /etc/cron.d/certbot

TLS-версии, шифры, HSTS

Отключите TLS 1.0/1.1. Уязвимости POODLE/BEAST. В 2026-м оставляем TLS 1.2 и TLS 1.3.

Cipher suite. Ориентируйтесь на «Modern» из Mozilla SSL Config Generator. Только AEAD-шифры (AES-GCM, ChaCha20-Poly1305).

HSTS. Заголовок Strict-Transport-Security: max-age=63072000; includeSubDomains; preload. Заставляет браузер ходить только по HTTPS. Если домен в HSTS-preload-list — даже первый запрос будет через HTTPS.

OCSP stapling. ssl_stapling on; в nginx — ускоряет TLS-handshake на 100-200 мс.

mTLS — когда нужно

Mutual TLS. Обе стороны предъявляют сертификат. Клиент должен доказать серверу, что он «свой». Используется для zero-trust между микросервисами, service mesh (Istio, Linkerd), доступа к внутренним админкам.

Не путайте с обычным HTTPS-клиентом: там аутентифицируется только сервер. mTLS = двухсторонняя аутентификация на уровне транспорта — до всякого HTTP-логина.

Проверить свой TLS

Внешние тесты: ssllabs.com/ssltest (глубокий, A+ — цель), hstspreload.org, securityheaders.com.

CLI: openssl s_client -connect example.com:443 -servername example.com — покажет цепочку, версию TLS, шифр.

Частые вопросы

Let's Encrypt vs платный — есть ли разница по безопасности?
Нет. Криптография одинаковая. Разница только в валидации организации (OV/EV) и уровне поддержки при инцидентах.
Что если Let's Encrypt отзовёт сертификат массово?
Такое было в 2020 и 2022. Certbot автоматически перевыпустит. На критичных проектах — держите резервного CA (ZeroSSL).
Wildcard безопасен?
Приватный ключ один на все поддомены. Компрометация одного сервера = компрометация всех. Для критичных сервисов лучше отдельные сертификаты.
Нужен ли CA cross-signing?
Для web — уже не критично, все актуальные браузеры доверяют ISRG Root X1. Для legacy embedded/IoT — иногда да.