Сервис Certificate Manager
Кратко:
- TLS-сертификаты необходимы для передачи данных в интернете с использованием протокола HTTPS.
- TLS-сертификат содержит информацию о домене, владельце, цифровой подписи центра сертификации и другие данные.
- Для передачи данных по HTTPS на сервере должен быть установлен доверенный сертификат.
- Существуют разные типы TLS-сертификатов, наиболее надежными являются EV и OV сертификаты.
- В Yandex Cloud для управления сертификатами используется сервис Certificate Manager.
- В сервисе Certificate Manager можно управлять пользовательскими и сертификатами Let's Encrypt.
- TLS-сертификаты Let's Encrypt имеют статус Domain Validation и срок действия 90 дней.
- Сертификаты от Let's Encrypt могут находиться в статусах Validating, Issued, Invalid, Renewing и Renewal_failed.
Сервис Certificate Manager
TLS-сертификаты
Делая что-либо в интернете, мы заинтересованы в том, чтобы передаваемые данные были защищены. Для этого используется протокол HTTPS (HyperText Transfer Protocol Secure) — по сути, комбинация из протокола передачи данных прикладного уровня HTTP и криптографического протокола транспортного уровня SSL (Secure Socket Layer). Современная версия SSL-протокола называется TLS (Transport Layer Security), однако сама аббревиатура SSL стала настолько привычной, что её часто употребляют до сих пор.
Когда вы используете TLS-протокол, информация передаётся внутри зашифрованной сессии. Работает это так:
- Ваш браузер обращается к защищённому сайту (серверу) и запрашивает у него идентификационную информацию.
- Сервер отправляет в ответ копию своего TLS-сертификата.
- Браузер проверяет сертификат по списку доверенных центров сертификации. Если всё в порядке, то браузер создает, шифрует и отправляет серверу ключ симметричного шифрования для предстоящей сессии передачи данных.
- Сервер расшифровывает ключ и направляет браузеру подтверждение, после чего все передаваемые между ними данные шифруются этим ключом.
То есть, чтобы использовать протокол HTTPS, на вашем сайте (сервере) должен быть установлен TLS-сертификат. Он представляет собой небольшой файл, в котором обычно содержится следующая информация:
- доменное имя, для которого выпущен сертификат;
- лицо (юридическое или физическое), либо устройство, для которого он выпущен;
- серийный номер сертификата выдающего центра сертификации;
- цифровая подпись центра сертификации;
- дата выдачи и срок действия сертификата;
- публичный ключ (приватный ключ находится на сервере и никуда не передаётся; эта пара ключей нужна для шифрования симметричного ключа, который используется в сессии передачи данных).
Чтобы передавать данные по HTTPS, по крайней мере на стороне сервера должен находиться доверенный сертификат, который выдан на соответствующее имя домена. При подключении к серверу клиентское приложение (например, браузер) проверяет этот сертификат, в том числе:
- доменное имя сайта на совпадение с именем в сертификате;
- политику применения сертификата;
- информацию об издателе;
- срок действия сертификата и не отозван ли он.
TLS-сертификаты выдают центры сертификации (Certification Authority), которые подписывают запросы на сертификат и могут проверять информацию о владельце сайта. В зависимости от глубины такой проверки выпускаемые сертификаты бывают нескольких типов.
Самые надёжные — сертификаты с расширенной проверкой (EV, Extended Validation) и с проверкой организации (OV, Organization Validation). При выпуске таких сертификатов проверяется юридическое и физическое существование запрашивающей организации и её право на домен, а для EV-сертификатов — ещё и соответствие её деятельности представленным документам.
Для сертификатов с проверкой домена (DV, Domain Validation) всё проще — проверяется только право собственности на домен. Зато этот тип сертификата могут получить не только юридические, но и физические лица.
Управление сертификатами в Yandex Cloud
Жизненным циклом сертификатов необходимо управлять: отслеживать окончание срока их действия, вовремя запрашивать и устанавливать новые. В Yandex Cloud для этого есть сервис Certificate Manager.
Для корректной работы в этом сервисе сертификаты должны удовлетворять ряду требований:
- соответствовать стандарту X.509 v3;
- содержать публичный ключ, доменное имя сайта и информацию об издателе;
- быть актуальными на момент импорта (импортировать сертификат до начала и после окончания срока его действия нельзя);
- приватный ключ сертификата не должен быть зашифрован, то есть импортировать защищённый паролем приватный ключ нельзя;
- сертификат, цепочка промежуточных сертификатов и приватный ключ должны импортироваться в формате PEM-Encoded.
Сервис поддерживает два типа сертификатов:
- Пользовательские, которые импортирует сам пользователь. За обновлением таких сертификатов нужно следить самостоятельно.
- Сертификаты, которые выпускаются с помощью сервиса Let's Encrypt. Такие сертификаты управляются непосредственно сервисом Certificate Manager. Обновление сертификата запускается автоматически, однако в определенных случаях необходимо участие пользователя.
Чтобы добавить пользовательский сертификат, необходимо перейти к сервису Certificate Manager, выбрать на панели слева раздел Сертификаты, нажать кнопку Добавить сертификат и выбрать Добавить пользовательский сертификат.

Далее вам потребуется присвоить добавляемому сертификату имя, загрузить сам сертификат (или цепочку сертификатов), а также секретный ключ.
Достоинством сервиса Certificate Manager является возможность автоматизировать выпуск TLS-сертификатов Let's Encrypt. Для этого необходимо запросить сертификат в сервисе Let's Encrypt и пройти процедуру проверки прав на домены. После этого Certificate Manager будет управлять этими сертификатами, взаимодействуя с Let's Encrypt самостоятельно.
Let's Encrypt предоставляет TLS-сертификаты со статусом Domain Validation и сроком действия 90 дней. Если нужны сертификаты с большим сроком действия или другим статусом (OV или EV), воспользуйтесь сторонним центром сертификации и используйте пользовательский тип сертификата.
После загрузки или получения сертификата Certificate Manager отображает текущий статус сертификата исходя из его жизненного цикла. Жизненный цикл и набор статусов сертификата зависит от его типа.
Импортированные пользовательские сертификаты всегда находятся в статусе
Issued
. Это значит, что сертификат получен и может быть использован в сервисах, интегрированных с Certificate Manager.Сертификаты от Let's Encrypt могут находиться в следующих статусах:
Validating
— запрос на сертификат был создан, сертификат запрошен у Let's Encrypt и ожидает проверки прав на домен.Issued
— сертификат выпущен и получен.Invalid
— сертификат не прошёл проверку. Такое сообщение может возникнуть, если процедура проверки прав на домен со стороны Let’s Encrypt не прошла в течение одной недели или завершилась с ошибкой.Renewing
— сертификат в процессе обновления.Renewal_failed
— не удалось обновить сертификат.
Сертификаты, которые загружены или выпущены с помощью Certificate Manager, можно использовать для организации защищённого доступа к статическим веб-сайтам, файлы которых размещены в объектном хранилище.
💡 Напомним: чтобы привязать внешний домен к статическому сайту в объектном хранилище и использовать сертификат, нужно, чтобы имя домена совпадало с именем бакета, в котором хранятся файлы. Например, для сайта aibolit.ru имя бакета должно быть
aibolit.ru
. После того, как сертификат появился в Certificate Manager, достаточно перейти в раздел HTTPS настроек бакета и выбрать нужный сертификат в пункте Certificate Manager.
На следующем уроке вы потренируетесь в этом на практике.