bg-blog-articles

Что такое протокол ACME? Руководство по автоматизированному управлению сертификатами

Сертификаты SSL/TLS обеспечивают безопасность Вашего сайта и сервисов, но управлять ими вручную утомительно и рискованно. Именно здесь на помощь приходит протокол ACME.

Сокращенно от Automated Certificate Management Environment, ACME автоматизирует выдачу, продление и отзыв сертификатов, устраняя ручную работу и снижая вероятность того, что просроченные сертификаты выведут Ваш сайт в оффлайн.

Что такое протокол ACME

Первоначально разработанный Internet Security Research Group (ISRG) для Let’s Encrypt, ACME превратился в промышленный стандарт, который работает с несколькими центрами сертификации и теперь используется организациями по всему миру.

Это изменение становится все более важным, поскольку срок действия сертификатов продолжает сокращаться. С марта 2026 года максимальный срок действия сертификата увеличился до 200 дней, с марта 2027 года снизился до 100 дней, а с 15 марта 2029 года составит всего 47 дней. В этот момент ручное управление сертификатами станет нецелесообразным в любом масштабе.


Оглавление

  1. Что такое ACME?
  2. Как работает протокол ACME
  3. Типы сертификатов, поддерживаемые ACME
  4. Преимущества использования ACME
  5. Настройка клиента ACME
  6. ACME по сравнению с другими протоколами регистрации

Сэкономьте 10% на SSL-сертификатах, сделав заказ в SSL Dragon сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузерам, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Детальное изображение дракона в полете

Что такое протокол ACME?

Протокол ACME, или Automated Certificate Management Environment, автоматизирует полный жизненный цикл сертификатов SSL/TLS. Он устраняет ручные действия, используя стандартизированную связь между клиентами ACME и центрами сертификации для управления выпуском, проверкой, установкой, обновлением и отзывом.

Протокол использует клиент-серверную архитектуру, в которой клиент ACME (установленный на Вашем сервере) взаимодействует с сервером ACME (управляемым центром сертификации) для запроса, проверки и управления сертификатами без вмешательства человека. Такая автоматизация предотвращает просроченные сертификаты, снижает риски безопасности и освобождает ИТ-команды от повторяющихся ручных задач.

Эволюция протокола ACME

Группа Internet Security Research Group создала ACME специально для Let’s Encrypt, бесплатного публичного центра сертификации, который был запущен в 2015 году. Первая версия, ACME v1, вышла в 2016 году и доказала, что концепция работает в масштабе.

В 2018 году вышла версия ACME v2 с важными улучшениями. В ней добавлена поддержка сертификатов «подстановочных знаков (которые охватывают все поддомены в домене) и ввела проверку DNS TXT для усиления безопасности. ACME v2 стал официальным стандартом, когда IETF опубликовал RFC 8555, а ACME v1 был снят с производства в 2021 году.

Поскольку ACME имеет открытый исходный код, он был принят публичными центрами сертификации и поставщиками PKI во всей отрасли. Вы не привязаны к одному ЦС — Вы можете выбирать из нескольких поставщиков или переключаться между ними по мере изменения Ваших потребностей. Такая гибкость — одна из причин, по которой ACME стал основным протоколом для автоматизированного управления сертификатами.


Как работает протокол ACME

ACME использует модель клиент-сервер. Клиент ACME запускается на Вашем сервере или устройстве и взаимодействует с сервером ACME, управляемым центром сертификации. Весь обмен использует JSON-сообщения, передаваемые по HTTPS, поэтому он безопасен и стандартизирован.

Вот основная схема работы:

  1. Выберите своего агента и домен. Вы устанавливаете клиент ACME (например, Certbot или Caddy) на свой сервер и сообщаете ему, какой домен Вы хотите защитить.
  2. Выберите центр сертификации. Направьте Вашего клиента в центр сертификации, совместимый с ACME — DigiCert, Sectigo или любой другой центр сертификации, поддерживающий этот протокол.
  3. Сгенерируйте пару ключей и CSR. Клиент создает закрытый ключ и запрос на подписание сертификата (CSR) с информацией о Вашем домене.
  4. Докажите контроль домена. ЦС требует от Вас доказать, что Вы контролируете домен. Вы можете ответить вызовом HTTP-01 (размещение файла на Вашем веб-сервере) или вызовом DNS-01 (добавление TXT-записи в Ваш DNS).
  5. Подпишите нонче. Клиент подписывает уникальный nonce (одноразовое случайное значение) Вашим закрытым ключом, чтобы подтвердить подлинность.
  6. Получите свой сертификат. ЦС проверяет все и выдает Ваш сертификат X.509. Сертификат доставляется клиенту ACME и устанавливается автоматически.

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


Типы сертификатов, поддерживаемые ACME

ACME в основном выпускает сертификаты Domain Validated (DV), которые подтверждают только то, что Вы контролируете домен. Они выпускаются быстрее всего и хорошо подходят для большинства веб-сайтов и сервисов.

Сертификаты Organization-Validated (OV) и Extended Validation (EV) требуют дополнительных доказательств — например, деловой документации — для подтверждения личности Вашей организации. ACME может поддерживать сертификаты OV и EV, но Вам придется выполнять дополнительные шаги по проверке вручную, поскольку сам протокол не справляется с проверкой бизнеса. Некоторые центры сертификации предлагают гибридные рабочие процессы, которые сочетают автоматизацию ACME с проверкой человеком для получения сертификатов повышенной надежности.

Сертификаты с подстановочными знаками заслуживают особого упоминания. В ACME v2 добавлена встроенная поддержка подстановочных знаков, которые защищают все поддомены в домене (например, *.example.com). Чтобы выпустить сертификат wildcard, необходимо выполнить вызов DNS-01 — добавление TXT-записи в зону DNS — поскольку HTTP-запросы не могут подтвердить контроль над всеми возможными поддоменами. Такая проверка DNS добавляет уровень безопасности и делает сертификаты wildcard более надежными.


Сэкономьте 10% на SSL-сертификатах, сделав заказ в SSL Dragon сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузерам, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Детальное изображение дракона в полете

Преимущества использования ACME

  • Автоматизация устраняет ручную работу. Управление сертификатами вручную — это медленно и чревато ошибками. ACME автоматизирует каждый шаг — выпуск, установку, продление и отзыв — поэтому Вам не придется генерировать CSR, вставлять сертификаты ACME или устанавливать напоминания в календаре. Такая автоматизация снижает количество человеческих ошибок и позволяет Вашей команде сосредоточиться на более важной работе.
  • Улучшенная безопасность благодаря автообновлению. Просроченные сертификаты приводят к сбоям в работе и предупреждениям системы безопасности. ACME обеспечивает повышенную безопасность, автоматически продлевая сертификаты до истечения срока их действия, так что Вам не придется беспокоиться о том, что Вы забыли о сроке продления. Благодаря этому Ваши сервисы будут работать в режиме онлайн, а Ваши пользователи — в безопасности.
  • Экономия средств и лучшая видимость. Многие совместимые с ACME центры сертификации, например, Let’s Encrypt, предлагают бесплатные DV-сертификаты. Даже если Вы используете коммерческий ЦС, автоматизация снижает трудозатраты на управление сертификатами ACME. Кроме того, интегрировав ACME с платформой управления сертификатами, Вы получите централизованное представление обо всех Ваших сертификатах — сроках действия, статусе выдачи и событиях жизненного цикла — так что ничто не останется незамеченным.
  • CA Agility. Открытый стандарт ACME означает, что Вы не привязаны к одному поставщику. Если у Вашего CA произошел сбой или Вы хотите сменить провайдера, Вы можете направить клиента ACME на другой CA, не переписывая свою автоматизацию. Такой подход , не зависящий от CA, обеспечивает гибкость и помогает Вам избежать привязки к поставщику.
  • Открытый исходный код и доступность. ACME — это открытый протокол, не требующий лицензионных отчислений. Любой может реализовать клиент или сервер ACME, и существует процветающая экосистема инструментов. Такая открытость поощряет инновации и делает автоматизированное управление сертификатами доступным для организаций любого размера.

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


Настройка клиента ACME

Приступить к работе с ACME очень просто. Вот пошаговое руководство:

1. Выберите совместимый клиент ACME и укажите свой домен.
Выберите клиент ACME, который подходит для Вашей среды. Популярные варианты включают:

  • Certbot — самый распространенный клиент, поддерживаемый Фондом электронных рубежей
  • Caddy — веб-сервер со встроенной поддержкой ACME
  • ACMESharp — модуль PowerShell для сред Windows
  • GetSSL — простой bash-скрипт для Unix-подобных систем
  • Posh-ACME — еще один вариант PowerShell с расширенными возможностями

Сообщите клиенту, какой домен (или домены) Вы хотите защитить.

2. Выберите ЦС, совместимый с Вашим клиентом.
Направьте Вашего клиента на сервер ACME. Let’s Encrypt — самый распространенный выбор, но Sectigo, Keyfactor и другие коммерческие УЦ также предлагают конечные точки ACME. Убедитесь, что Вы используете сервер, совместимый с ACME v2 — ACME v1 устарел.

3. Сгенерируйте пару ключей авторизации.
Клиент создает закрытый ключ и использует его для генерации запроса на подписание сертификата. Этот процесс создания пары ключей автоматически выполняется клиентом ACME. Храните свой закрытый ключ в безопасности — этооснова надежности Вашего сертификата.

4. Решите задачу, чтобы подтвердить контроль над доменом.
В зависимости от Вашей конфигурации, Вы выполните задачу HTTP-01 (размещение файла на Вашем веб-сервере) или DNS-01 (добавление TXT-записи в Ваш DNS). Для сертификатов wildcard требуется DNS-01. Обычно клиент справляется с этим автоматически, если у него есть API-доступ к Вашему DNS-провайдеру.

5. Подпишите nonce Вашим закрытым ключом.
УЦ отправляет уникальный nonce, а клиент подписывает его Вашим закрытым ключом. Это доказывает, что Вы контролируете пару ключей, и предотвращает атаки повторного воспроизведения.

6. Начните автоматически выдавать, продлевать и отзывать сертификаты.
После того, как ЦС проверит Ваши ответы, он выпустит Ваш сертификат ACME. Клиент устанавливает его и настраивает автоматическое обновление. С этого момента сертификаты обновляются в фоновом режиме без ручного вмешательства.

Совет: Придерживайтесь ACME v2. Это текущий стандарт, который предлагает лучшую безопасность и возможности. ACME v1 больше не поддерживается большинством ЦС.


ACME по сравнению с другими протоколами регистрации

ACME — не единственный протокол для автоматизации регистрации сертификатов. Существуют также два старых протокола — SCEP (Simple Certificate Enrollment Protocol) и EST (Enrollment over Secure Transport), но у каждого из них есть свои ограничения.

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

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

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


Лучшие практики и соображения

  • Используйте ACME v2 и следите за актуальностью RFC 8555. ACME v1 устарел. Убедитесь, что Ваши клиенты и серверы поддерживают ACME v2, и постоянно обновляйте свои инструменты, чтобы воспользоваться улучшениями безопасности и новыми функциями.
  • Предпочитайте вызовы DNS-01 для сертификатов wildcard. Если Вам нужно защитить все поддомены в домене, используйте сертификат с подстановочным знаком с проверкой DNS-01. Вызовы HTTP-01 не могут подтвердить контроль над всеми возможными поддоменами, поэтому DNS — единственный вариант. Автоматизируйте этот процесс, предоставив API-клиенту ACME доступ к Вашему DNS-провайдеру.
  • Поддерживайте резервный ЦС для обеспечения устойчивости. Гибкость CA — одна из сильных сторон ACME. Настройте свою автоматизацию на отказ вторичного ЦС, если Ваш основной ЦС вышел из строя. Это обеспечит непрерывный выпуск сертификатов, даже если у одного провайдера возникнут проблемы.
  • Интегрируйте ACME с платформой управления сертификатами. Для более крупных развертываний подключите автоматизацию ACME к такой платформе, как Keyfactor, AppViewX или CyberArk. Эти инструменты обеспечивают видимость всех Ваших сертификатов, помогают Вам применять политики и облегчают аудит Вашей инфраструктуры.
  • Защитите свои закрытые ключи. Даже при автоматизации безопасность имеет значение. Храните закрытые ключи в аппаратных модулях безопасности (HSM) или используйте методы сертификации устройств (например, Secure Enclave от Apple) для сред с высокой степенью надежности. Такие инструменты, как SecureW2’s Dynamic PKI with Cloud RADIUS, помогут интегрировать идентификацию устройств в Ваши рабочие процессы по выдаче сертификатов.
  • Отслеживайте даты истечения срока действия сертификата. Автоматизация — это надежно, но не безошибочно. Настройте оповещения, которые будут уведомлять Вас, если срок действия сертификата истекает, а он не продлен. Это позволит Вам подстраховаться на случай, если что-то пойдет не так с Вашей автоматизацией.

Готовы ли Вы автоматизировать жизненный цикл сертификата?

Хватит беспокоиться о просроченных сертификатах и ручном продлении. SSL Dragon предлагает совместимые с ACME SSL-сертификаты от таких надежных авторитетов, как Sectigo и DigiCert — начинаявсего с$25 в год. Получите автоматический выпуск, продление и управление с неограниченным количеством повторных выпусков, гарантийное покрытие на сумму $500,000+ и круглосуточную техническую поддержку.

Независимо от того, нужны ли Вам сертификаты с подтверждением домена (DV), с подтверждением организации (OV) или с расширенным подтверждением (EV), наши решения ACME легко интегрируются с такими популярными клиентами, как Certbot, acme.sh и др.

Изучите SSL-сертификаты ACME

Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Детальное изображение дракона в полете
Написано

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