Это документация по устаревшему продукту. Перейти в актуальную документацию

Документация ISPmanager 5 Lite

Интеграция с Let’s Encrypt

 

 

Введение

Let’s Encrypt — некоммерческий удостоверяющий центр, который предоставляет бесплатные X.509 сертификаты для TLS шифрования с помощью автоматизированного процесса, направленного на замену текущего сложного процесса ручного создания, проверки, подписи, установки и обновления сертификатов для защищённых веб-сайтов.

Официальный сайт Let’s Encrypt .

Страница модуля интеграции Let’s Encrypt на сайте ISPmanager .

Обращаем ваше внимание, Let’s Encrypt имеет следующие ограничения:

  • Можно заказать только 50 сертификатов в неделю (TLD, включая его поддомены);
  • Срок действия Let’s Encrypt сертификата 3 месяца (каждые 3 месяца ISPmanager выполняет перевыпуск Let’s Encrypt сертификатов);
  • Все альтернативные имена должны быть поддоменами домена сертификата.

Кроме того существуют и другие ограничения. Подробнее в документации об ограничениях .

Данный функционал доступен с версии ISPmanager 5.131.

Для установки плагина из-под учетной записи root пройдите Интеграция → Модули.

После установки плагина Let’s Encrypt в ISPmanager Вы сможете получить действующий самообновляющийся SSL-сертификат для своего домена.

Для этого Вам понадобится пользователь, имеющий право пользоваться SSL, и действующее доменное имя, доступное для мировых ДНС.

После установки плагина в разделе WWW → SSL-сертификаты появится дополнительная функциональность: кнопки Let's Encrypt и Let’s Encrypt Журнал, при нажатии на первую вы приступите к процессу получения сертификата.

Вторая активируется, если у Вас в списке сертификатов уже имеется Let's Encrypt сертификат и перенаправляет Вас к журналу событий, где отображается все, что происходит с ним.

Перед созданием сертификата убедитесь, что выпуск сертификатов Let's Encrypt разрешён:

  1. В разделе "Доступ к функциям": НастройкиДоступ к функциям → выбрать группу пользователей → ПраваSSL-сертификатыФункции Let's EncryptВкл.
  2. В настройках прав пользователя: Учётные записиПользователи → выбрать пользователя → ПраваSSL-сертификаты → Функции Let's EncryptВкл.

Создание сертификата

Есть два способа получения Let's Encrypt сертификата:

  • из раздела WWWSSL-сертификаты: нажмите кнопку Let's Encrypt и в появившемся окне заполните данные для генерации сертификата.
  • вместе с новым www-доменом: при создании нового домена, если выбран пункт Защищенное соединение (SSL), появится дополнительная опция для выбора сертификата – Let's Encrypt сертификат. После заполнения всей необходимой информации для создания домена произойдет перенаправление на форму создания нового Let's Encrypt сертификата.

Обновление сертификата

Проверка необходимости обновления Ваших сертификатов, выданных сервисом Let’s Encrypt, будет проходить каждый день в 1:30 ночи по серверному времени.

И запускаться оно (обновление) будет если срок действия сертификата прекращается через семь или менее дней.

Так же можно запустить обновление сертификата вручную. Для этого имеется функция letsencrypt.check.update. В случае, если Вы хотите запустить преждевременно обновление необходимо вызвать эту функцию через утилиту mgrctl:

/usr/local/mgr5/sbin/mgrctl -m ispmgr letsencrypt.check.update force_update=yes cert_name=%cert name% user_name=%user name%


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

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

Технология получения сертификата

В начале создается самоподписанный сертификат с указанными параметрами, затем, раз в минуту, предпринимается попытка получения сертификата. Вы можете задать максимальное количество запросов на сертификаты, которые панель управления будет отправлять одновременно. Для этого измените параметр LetsencryptProcessCount в конфигурационном файле ISPmanager. По умолчанию значение этого параметра равно 1.

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

Можно запустить вручную letsencrypt.periodic через утилиту mgrctl.

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

В случае успешного получения самоподписанный сертификат меняется на Let's Encrypt сертификат. Пользователь и администратор получают уведомления об успешном завершении получения.

Порядок запросов

  • Создание учетной записи;
  • Авторизация;
  • Запрос на проверку владения доменом (для проверки владением доменом на сервер пользователя добавляется токен – файл содержащий данные, полученные при аутентификации. На сервере существует глобальный алиас .well-known/acme-challenge/, ведущий в директорию /usr/local/mgr5/www/letsencrypt. Все токены проверки будут создаваться по этому пути;
  • Ожидание подтверждения успешного завершения проверки;
  • Получение сертификата.

DNS проверка

Мы добавляем возможность проверки владения доменом через TXT записи в доменной зоне. Для получения сертификата с DNS проверкой, при заказе сертификата просто поставьте галочку "Проверка через DNS".

Необходимые TXT-записи будут автоматически добавлены в Домены → Доменные имена → Записи

Обратите внимание!
Если вы используете внешний DNS-сервер, то процесс выдачи будет заморожен на 30 минут, а в интерфейсе в левом углу около глобального поиска и в разделе Состояние системыУведомления будет показано уведомление с информацией, какие записи необходимо прописать на внешнем сервере для получения сертификатов.Проверка на наличие записей в глобальной сети выполняется на протяжении суток каждые 30 минут после получения первого уведомления.  Как только необходимые записи станут доступны, сертификаты будут успешно получены. 

Если в течение суток после заказа сертификата проверка владения доменом не увенчается успехом то, попытки выпустить сертификат будут прекращены.

Почтовые домены

Для получения сертификата на почтовый домен необходимо при создании\редактировании почтового домена выбрать Новый Let's Encrypt сертификат. Далее необходимо ввести псевдонимы, которые использует выбранный домен для работы почты (pop.your_domain.com, mail.your_domain.com, smtp.your_domain.com или др). Если в панели отсутствует одноименный веб-домен, то процедура проверки будет принудительно проводиться через DNS

Поддержка wildcard

Начиная с версии 5.147.0 в панелях Lite и Business реализована поддержка wildcard-сертификатов. Для получения такого сертификата, на форме заказа нужно включить чекбокс Wildcard.

Обратите внимание!
Проверка владения доменом при выпуске wildcard-сертификата осуществляется исключительно по DNS.Псевдоним вида *.доменное.имя, указанный вручную, будет проигнорирован при заказе во избежание возможных конфликтов при проверках.

Нестандартные ситуации

Может возникнуть нестандартная ситуация, когда веб-домен "резолвится" на более чем один узел кластера. В случае, если у какого-либо из этих узлов отсутствует веб-роль, он не сможет участвовать в процедуре проверки по HTTP. Пути решения проблемы:

  1. Использовать DNS проверку
  2. Просто подождать. После нескольких провалов сервер ACME, путем перебора, успешно найдет подходящие адреса для HTTP проверки.

Логирование

Лог взаимодействия ISPmanager с Let's Encrypt записывается в файл /usr/local/mgr5/var/letsencrypt.log

По умолчанию установлен недостаточный уровень логирования и информация в файл не записывается. Чтобы система писала лог:

  1. Перейдите в Настройки → Настройка логирования
  2. Зажмите Ctrl и выделите модули  ssl, rpc, core_modules.
  3. Нажмите кнопку Максимальный