Что такое SSL/TLS сертификат и для чего он используется?

«Что такое SSL/TLS сертификат и для чего он используется?» — вопрос из категории Тестирование безопасности, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

SSL/TLS сертификат — это цифровой документ, который выполняет две ключевые функции в веб-безопасности: аутентификацию сервера и шифрование данных.

1. Аутентификация: Подтверждает, что сервер (например, example.com) является легитимным, а не поддельным. Это защищает от атак "человек посередине" (MITM).

2. Шифрование: Обеспечивает безопасный канал связи между клиентом (браузером) и сервером, шифруя весь передаваемый трафик (логины, пароли, платежные данные) с помощью алгоритмов (например, AES).

Основные компоненты сертификата:

  • Данные субъекта: Доменное имя (Common Name), организация.
  • Публичный ключ: Используется для шифрования данных и проверки подписи.
  • Цифровая подпись Удостоверяющего Центра (CA): Гарантирует подлинность сертификата.
  • Срок действия: Дата начала и окончания валидности.

Практическая проверка в командной строке и коде:

# Проверка сертификата сайта через openssl
openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates
# Проверка валидности SSL в Python (requests)
import requests

response = requests.get('https://example.com', verify=True)  # `verify=True` включает проверку сертификата
print(f"Соединение защищено: {response.url.startswith('https')}")
print(f"Используется HSTS: {'Strict-Transport-Security' in response.headers}")

Типы сертификатов (по уровню проверки):

  • DV (Domain Validation): Проверяется только право владения доменом. Быстрая выдача.
  • OV (Organization Validation): Дополнительно проверяется юридическое лицо-владелец.
  • EV (Extended Validation): Наиболее строгая проверка организации. В браузере отображается название компании в адресной строке.

Итог: Сертификат — основа протокола HTTPS, обеспечивающая конфиденциальность, целостность и аутентификацию в интернете.