🔐 TLS (Transport Layer Security): Шпаргалка админа



🚦 Версии протоколов: Что оставить?

❌ SSL v2, SSL v3: Мертвы. Дырявые. Отключать везде.
⚠️ TLS 1.0, 1.1: Устарели (Deprecation в 2020/2021). Отключать, если не поддерживаете клиентов времен IE 8/Android 4.
✅ TLS 1.2: Золотой стандарт. Должен быть включен везде. (Обязательно используйте шифры AEAD/GCM).
🚀 TLS 1.3: Самый быстрый и безопасный. Убрали лишние шаги в рукопожатии (1-RTT). Включаем в приоритет.



📂 Форматы файлов

Часто файлы имеют разные расширения, но внутри одно и то же.

- PEM (.pem, .crt, .cer, .key): Текстовый формат (ASCII), начинается с -----BEGIN.... Самый частый в Linux/Nginx/Apache.
- DER (.der, .cer): Бинарный формат. Часто встречается в Java и Windows.
- PFX/P12 (.pfx, .p12): Контейнер-сейф. Хранит и сертификат, и приватный ключ, и цепочку. Часто используется в Windows и для импорта/экспорта.



🛠 OpenSSL: Команды на каждый день

Самая полезная часть. Копируй и вставляй.

1. Проверка удаленного сервера

Посмотреть, какой сертификат отдает сайт, и проверить цепочку:

openssl s_client -connect domain.com:443 -showcerts

Лайфхак: Добавь -servername domain.com, если на IP висит несколько сайтов (SNI).

Посмотреть только дату истечения сертификата на сайте:

echo | openssl s_client -servername domain.com -connect domain.com:443 2>/dev/null | openssl x509 -noout -dates

2. Работа с локальными файлами

Прочитать содержимое сертификата (кто выдал, кому, когда истекает):

openssl x509 -in cert.pem -text -noout

Проверить, соответствует ли приватный ключ сертификату (хеши должны совпасть):

openssl x509 -noout -modulus -in cert.pem | openssl md5
openssl rsa -noout -modulus -in privkey.pem | openssl md5


3. Генерация CSR (Запрос на сертификат)

Создать ключ и запрос (CSR) одной командой:

openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr

4. Конвертация форматов

PEM -> PFX (для IIS/Windows):

openssl pkcs12 -export -out domain.pfx -inkey domain.key -in domain.crt -certfile root-ca.crt

PFX -> PEM (достать ключ и серт):

# Только ключ (без пароля)
openssl pkcs12 -in domain.pfx -nocerts -nodes -out domain.key
# Только сертификат
openssl pkcs12 -in domain.pfx -nokeys -out domain.crt


🧠 Анатомия Cipher Suite

Что значит строка: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384?

1. TLS: Протокол.
2. ECDHE: Key Exchange (Как договорились о ключах). Эллиптические кривые, Ephemeral (генерируется каждый раз — это PFS).
3. RSA: Authentication (Проверка подлинности). Сертификат RSA.
4. AES_256_GCM: Bulk Encryption (Чем шифруем данные). Алгоритм AES, 256 бит, режим GCM (быстро и безопасно).
5. SHA384: MAC/PRF (Целостность). Хеширование для проверки пакетов.

Совет: Старайтесь использовать GCM или ChaCha20-Poly1305. Избегайте режимов CBC в старых протоколах.


🛡 Чек-лист

1. HSTS (HTTP Strict Transport Security): Заголовок, заставляющий браузер ходить только по HTTPS.
- Strict-Transport-Security: max-age=31536000; includeSubDomains
2. Forward Secrecy (PFS): Если украдут ключ сервера, прошлый трафик не расшифруют. Требует шифров ECDHE или DHE.
3. OCSP Stapling: Сервер сам шлет статус валидности сертификата, ускоряя загрузку страницы для клиента.
4. CAA Record: DNS-запись, указывающая, каким CA разрешено выдавать сертификаты для вашего домена.

👉 @i_odmin
Просмотры: 1 781
Открыть в MAX Сообщить о неточности

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти