0Pricing
Cryptology Academy · Урок

Как сайты получают SSL-сертификаты

Пройдите весь процесс выдачи сертификата — от CSR и проверки до развёртывания

«Как сайты получают SSL-сертификаты» — бесплатный урок Cryptology Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cryptology Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cryptology Academy содержит 4 уроков всего.

Иерархия центров сертификации

Система доверия к сертификатам имеет иерархическую структуру. Корневые CA подписаны сами собой и встроены в операционные системы и браузеры. Промежуточные CA подписываются корневыми CA и непосредственно выдают сертификаты.

Такая двухуровневая структура позволяет хранить закрытые ключи корневых CA в автономном режиме и изолировать их от сети. Если промежуточный CA будет скомпрометирован, его сертификаты можно отозвать без изменения корневых якорей доверия.

Процесс проверки домена

Чтобы получить сертификат DV, заявитель должен подтвердить контроль над доменом. Существует три стандартные проверки ACME: проверка DNS (добавить запись TXT в DNS домена), проверка HTTP (разместить определённый файл по определённому URL) и проверка TLS-ALPN (предоставить определённый сертификат во время согласования TLS).

Все три метода подтверждают, что заявитель контролирует либо DNS домена, либо веб-сервер в этом домене. Это не позволяет получить сертификат для домена, которым заявитель не управляет.

Протокол ACME

ACME (среда автоматического управления сертификатами, RFC 8555) — это протокол, используемый Let's Encrypt и поддерживаемый большинством современных CA. Он автоматизирует весь жизненный цикл сертификата: проверку, подтверждение, выдачу и продление.

ACME позволяет веб-серверам автоматически получать и продлевать сертификаты без участия человека. Certbot, acme.sh и большинство веб-серверов имеют встроенные клиенты ACME, поэтому управление сертификатами почти не требует обслуживания.

Создание CSR

Запрос на подпись сертификата (CSR) — это блок данных, содержащий открытый ключ заявителя и сведения о сущности (доменное имя, организация, страна). CSR подписывается соответствующим закрытым ключом, чтобы подтвердить владение им.

CA проверяет CSR, подтверждает контроль над доменом и выдаёт сертификат, связывающий открытый ключ из CSR с проверенным доменным именем. Закрытый ключ никогда не покидает сервер.

Поля сертификата

Сертификат X.509 содержит следующие данные: субъект (удостоверяемая личность), альтернативные имена субъекта (SAN, дополнительные доменные имена), издатель (CA, подписавший сертификат), период действия (даты «Не ранее» и «Не позднее»), открытый ключ и алгоритм, а также цифровую подпись CA.

В современных сертификатах для доменных имён используются SAN, а не устаревшее поле общего имени. В поле SAN сертификата можно указать несколько доменов, поэтому один сертификат может охватывать несколько связанных доменов.

Бесплатные сертификаты Let's Encrypt

Let's Encrypt, запущенная в 2016 году организацией «Группа по исследованию безопасности Интернета», выдаёт бесплатные сертификаты DV с помощью полностью автоматизированных проверок ACME. Она выдала более трёх миллиардов сертификатов, значительно ускорив распространение HTTPS.

Сертификаты Let's Encrypt действуют 90 дней (меньше, чем сертификаты коммерческих CA) и должны регулярно продлеваться. Короткий срок действия выбран намеренно: он ограничивает последствия компрометации сертификата и стимулирует автоматизацию.

Коммерческие CA и их преимущества

Коммерческие CA, такие как DigiCert, Sectigo и GlobalSign, взимают плату за сертификаты, но предлагают дополнительные услуги: проверку OV и EV с подтверждением личности организации, сертификаты сроком на несколько лет, гарантийное покрытие случаев ошибочной выдачи и поддержку клиентов.

Для организаций, которым нужны сертификаты OV или EV, более длительные сроки действия, коммерческие гарантии и соглашения об уровне обслуживания, коммерческие CA дают преимущества, которых нет у бесплатных поставщиков сертификатов DV.

Сертификаты с подстановочным знаком

Сертификат с подстановочным знаком охватывает домен и все его прямые поддомены. Сертификат для *.example.com охватывает mail.example.com, www.example.com и api.example.com, но не охватывает sub.mail.example.com.

Сертификаты с подстановочным знаком удобны для организаций с большим количеством поддоменов. Однако один и тот же закрытый ключ защищает все поддомены, поэтому компрометация одного сервера ставит под угрозу сертификат для всех охватываемых поддоменов.

Многодоменные сертификаты SAN

Сертификат с альтернативными именами субъекта (SAN), также называемый многодоменным сертификатом или сертификатом UCC, явно перечисляет несколько доменных имён. В отличие от сертификатов с подстановочным знаком, он охватывает конкретные указанные домены, а не шаблон.

Сертификаты SAN часто используются для связанных ресурсов: один сертификат может охватывать example.com, www.example.com, app.example.com и example.io. Для каждого домена требуется отдельная проверка, но один сертификат охватывает их все.

Закрепление сертификатов и HPKP

Закрепление сертификатов указывает клиенту принимать только определённые сертификаты или открытые ключи для данного домена, игнорируя подписанные CA сертификаты, которые ему неизвестны. Это предотвращает атаки с использованием поддельных сертификатов, выданных CA.

Закрепление открытого ключа HTTP (HPKP) было механизмом браузеров для закрепления сертификатов. К 2019 году его признали устаревшим и удалили из браузеров, поскольку ошибка в настройке могла навсегда заблокировать пользователям доступ к сайту. Теперь для обнаружения злоупотреблений сертификатами предпочтительным механизмом служит прозрачность сертификатов.

Отзыв сертификатов: OCSP и CRL

Если сертификат скомпрометирован, CA может отозвать его до истечения срока действия. Список отзыва сертификатов (CRL) — это список серийных номеров отозванных сертификатов, который клиенты могут загрузить и проверить.

OCSP (протокол проверки статуса сертификата) позволяет проверять отзыв каждого сертификата в реальном времени. Механизм прикрепления OCSP повышает конфиденциальность и производительность: сервер заранее получает подписанный ответ OCSP и включает его в рукопожатие TLS, поэтому браузеру не нужно связываться с CA.

Викторина: проверка сертификатов

Проверьте свои знания о типах проверки сертификатов.

Основные выводы: получение сертификатов SSL

Сертификаты выдаются через иерархию CA: корневые CA подписывают промежуточные CA, которые выдают сертификаты конечным субъектам. Сертификаты DV проверяют только контроль над доменом, а OV и EV — личность организации.

ACME автоматизирует выдачу и продление сертификатов. Let's Encrypt выдаёт бесплатные сертификаты DV сроком действия 90 дней. Сертификаты с подстановочным знаком охватывают все прямые поддомены. Журналы прозрачности сертификатов содержат проверяемые записи обо всех выданных сертификатах.

Часто задаваемые вопросы

Урок «Как сайты получают SSL-сертификаты» бесплатный?

Да — полный текст урока «Как сайты получают SSL-сертификаты» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cryptology Academy, подпишись на CoddyKit PRO. Курс Cryptology Academy содержит 4 уроков всего.

Чему я научусь в уроке «Как сайты получают SSL-сертификаты»?

Пройдите весь процесс выдачи сертификата — от CSR и проверки до развёртывания Ты практикуешь Cryptology Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cryptology Academy?

Предыдущий опыт не требуется. Cryptology Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Как сайты получают SSL-сертификаты»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cryptology Academy?

Да. Каждый урок Cryptology Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Значок замка: что он означает на самом деле
  2. Как сайты получают SSL-сертификаты
  3. Предупреждения о сертификатах TLS и дальнейшие действия
  4. Понижение протокола HTTP и риски смешанного содержимого
← Назад к Cryptology Academy