Запасной вариант для Let's Encrypt — бесплатные автоматические УЦ

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Для многих Let's Encrypt стал неотъемлемой частью веб-разработки, а автоматическое обновление сертификата каждые 90 дней — рутинной процедурой. Фактически, сейчас это самый популярный удостоверяющий центр в интернете. Это великолепно, но и опасно.

Возникает вопрос: а что, если серверы Let's Encrypt временно перестанут работать? Не хочется думать о возможных причинах сбоя. Но желательно предусмотреть запасной вариант. То есть такой же удобный автоматизированный центр бесплатной сертификации.

К счастью, запасные варианты есть. Как минимум два. Такие же бесплатные автоматизированные УЦ, созданные по образцу Let's Encrypt.

Протокол ACME


Все коммуникации с Let's Encrypt происходят про протоколу ACME (Automated Certificate Management Environment). Это открытый протокол для автоматизации взаимодействия с УЦ. В нём нет ничего специфичного для Let's Encrypt, его поддерживает несколько других УЦ.

Сейчас как раз тот момент, когда всё больше УЦ начинают работать через ACME. Это означает, что практически все наши инструменты, скрипты и процессы для получения сертификатов из Let's Encrypt будут отлично работать и с другими центрами, которые поддерживают ACME.

Чтобы перестроиться на другой УЦ, достаточно просто изменить адрес API в настроенных скриптах с https://acme-v02.api.letsencrypt.org/directory (Let's Encrypt) на https://api.buypass.com/acme/directory (BuyPass, о нём см. ниже) или какой-нибудь другой.

BuyPass


Нам нужен УЦ, который соответствует двум критериям:

  1. поддерживает ACME;
  2. выдаёт бесплатные сертификаты.

Этим критериям соответствует норвежский УЦ под названием BuyPass.

Бесплатная услуга называется BuyPass Go SSL: это автоматическая выдача и продление сертификатов + поддержка ACME. То, что и нужно.

Техническая документация объясняет, как настроить получение и обновление сертификата с помощью Certbot — официального клиента от Фонда электронных рубежей для работы с Let's Encrypt или любым другим УЦ, который поддерживает протокол ACME.

Регистрация в УЦ и получение сертификата в BuyPass элементарны, как и в случае Let's Encrypt, здесь никакой разницы.

Регистрация с указанием своего адреса электронной почты для уведомлений ('YOUR_EMAIL') и согласием на условия пользования (--agree-tos):

root@acme:~# certbot register -m 'YOUR_EMAIL' --agree-tos --server 'https://api.buypass.com/acme/directory'

Получение сертификата:

root@acme:~# certbot certonly --webroot -w /var/www/example.com/public_html/ -d example.com -d www.example.com --server 'https://api.buypass.com/acme/directory'

Впоследствии при необходимости используются другие команды Certbot для отзыва сертификата (revoke), продления истёкших сертификатов (renew) и удаления сертификата (delete).

Команду продления рекомендуется поместить в cron и выполнять автоматически, чтобы на всякий случай проверять истёкшие сертификаты. Например, так:

#Cron-job scheduled under root to run every 12th hour at a specified minute (eg. 23, change this to your preference)
23 */12 * * * /opt/certbot/certbot-auto renew -n -q >> /var/log/certbot-auto-renewal.log

У BuyPass есть некоторые лимиты на ACME. Основной лимит — количество сертификатов на зарегистрированный домен (20 в неделю). Здесь имеется в виду та часть домена, которая куплена у регистратора доменных имён. То есть это лимит на все поддомены в общей сложности. Другой лимит — 5 дубликатов в неделю. Это лимит сертификатов на каждый конкретный поддомен. Есть лимиты на ошибки валидации — по 5 штук на аккаунт, на хост и в час.

Лимит запросов к конечным точкам new-reg, new-authz и new-cert: 20 в секунду. Лимит запросов к /directory: 40 в секунду.

Максимальное количество авторизаций в процессе (Pending Authorisations): 300 штук.

Вместо Certbot можно использовать другой клиент acme.sh, который тоже изначально настроен на Let's Encrypt, но легко направляется на другой УЦ с поддержкой ACME.

./acme.sh --issue --dns dns_cf -d example.com --server "https://api.buypass.com/acme/directory"

ZeroSSL


Ещё один УЦ, который выдаёт бесплатные 90-дневные сертификаты по протоколу ACME — это австрийский ZeroSSL.

В вышеупомянутой программе acme.sh есть поддержка ZeroSSL, так что зарегистрироваться очень просто:

acme.sh --register-account -m foo@bar.com --server zerossl

Далее одна команда для генерации сертификата:

acme.sh --issue --dns dns_cf -d example.com --server zerossl

Лимитов на обращение к API не существует. Есть и другие преимущества: этот УЦ даёт бесплатные сертификаты не только на 90 дней, но и на 1 год, есть панель веб-мониторинга и техподдержка.

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

Другие серверы ACME


Вот список всех известных серверов ACME. Их пока немного, но число растёт.



Let's Encrypt — выдающаяся организация, которая делает отличное дело. Но опасно класть все яйца в одну корзину. Чем больше УЦ работает по протоколу ACME и раздаёт бесплатные сертификаты в автоматическом режиме, тем более разнообразна и надёжна экосистема в целом.

У Let's Encrypt может случиться даунтайм или он может временно приостановить деятельность — и тогда на подстраховку придут Buypass и ZeroSSL. Наличие этих запасных вариантов в конечном итоге повышает доверие к самому Let's Encrypt, потому что это теперь не единая точка отказа. А сменить УЦ по ACME — дело нескольких секунд.



Специальное предложение удостоверяющего центра GlobalSign


Источник: https://habr.com/ru/company/globalsign/blog/529698/


Интересные статьи

Интересные статьи

Без бэкендеров не сможет нормально функционировать ни один сайт или приложение. Они проектируют алгоритмы взаимодействия сайта с пользователем и другими интернет-сервисами. Другим...
Сегодня мы делимся подборкой курсов по администрированию из раздела Образование на Хабр Карьере. Бесплатных в этой сфере, прямо скажем, маловато, но мы все же отыскали 14 штук. Эт...
Радиоизотопы в середине XX века казались почти бесконечным источником дешёвого электричества — вот-вот реакторы придут в самолёты, автомобили и даже дома, думали тогда. Но это случилось тольк...
Несмотря на то, что “в коробке” с Битриксом уже идут модули как для SOAP (модуль “Веб сервисы” в редакции “Бизнес” и старше), так и для REST (модуль “Rest API” во всех редакциях, начиная с...
Некоторое время назад мне довелось пройти больше десятка собеседований на позицию php-программиста (битрикс). К удивлению, требования в различных организациях отличаются совсем незначительно и...