Let’s Encrypt (ACME client)

Данный плагин представляет собой клиент по автоматическому выпуску/перевыпуску SSL сертификатов с помощью центра сертификации Let’s Encrypt с использованием протокола acme (Automated Certificate Management Environment).

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

Установка плагина.

Перейдите в раздел Система -> Прошивка -> Плагины.

На вкладке Плагины нажмите на кнопку + напротив плагина os-acme-client для его установки.

Настройка плагина.

Блок основных настроек.

Перейдите в основной пункт Настройка

../../_images/main_settings.png

Настройте следующие параметры:

Включить плагин: Включить плагин Let’s Encrypt

Автообновление: Создает задачу в планировщике для регулярного перевыпуска сертификата. При включении данного пункта появляется дополнительная закладка Обновление расписания, в которой можно задать периодичность выполнения плагином задачи проверки/перевыпуска сертификатов.

Окружение Let’s Encrypt: Имеет два значения - Промежуточное окружение (для проверки правильности настроек - данные сертификаты являются недействительными и требуют дальнейшего перевыпуска) и Промышленное окружение - означающее выпуск действительного сертификата.

Интеграция HAProxy: Позволяет плагину, при наличии настроенного HAProxy плагина, автоматически вносить изменения в настройки плагина HAProxy. Настройки будут выполняться на основании выбора фронтенда на следующих этапах настройки плагина os-acme-client (Внимание! плагин os-acme-client работает в режиме интеграции с HAProxy только на фронтендах HAProxy, запущенных в режиме http)

Создание учетной записи Let’s Encrypt.

Для этого перейдите в в пункт настроек Аккаунты и нажмите на + (добавить аккаунт).

../../_images/create_acc2.png

В открывшемся окне заполните необходимые поля:

  • Имя: Имя для идентификации аккаунта.

  • E-Mail адрес: адрес электронной почты, который будет использоваться для регистрации, восстановления и важных уведомлений.

  • Включен: использовать эту учетную запись при выдаче сертификата.

Настройка метода валидации.

Данный плагин поддерживает два метода валидации права собственности доменом, на который выдается сертификат.

HTTP-01 и DNS-01.

HTTP-01 - Данный метод заключается в том, что при проверке права собственности доменом, скриптом создается файл ключа в корневом каталоге, после чего центр сертификации выполняет вызов acme ( http - запрос для считывания содержимого данного файла-ключа) и если данная процедура проходит успешно (право владения доменом подтверждается), то центром сертификации выдается/продлевается домен на 90 дней. Использование данного метода возможно только с использованием плагина HAProxy либо web-интерфейсом TING.

DNS-01 - Данный метод заключается в том, что плагином создается временная запись TXT в DNS зоне домена в момент проверки права собственности доменом и если данная процедура проходит успешно (право владения доменом подтверждается), то центром сертификации выдается/продлевается домен на 90 дней.

Плагин поддерживает API многих провайдеров DNS хостинга, а также обновление DNS nsupdate согласно RFC-2136

Данный тип проверки не требует внесения изменений в правила фаервола и не вызывает прерываний работы сервиса HAProxy либо web-интерфейса TING.

Для настройки метода валидации перейдите в соответствующий пункт настроек Методы валидации

  • Для настройки валидации с использованием DNS-01 заполните следующие поля:

    ../../_images/dns01-valid.png

    Имя: Уникальное имя для данного типа проверки.

    Тип вызова: DNS-01

    Сервера DNS: В выпадающем списке выберите службу, которая предоставляет вам услугу DNS хостинга.

    Время сна: Время, которое данный плагин «ждет» появления записи TXT в зоне домена после ее добавления плагином.

    Дальнейшие поля зависят от того, API какого из поставщиков услуги DNS хостинга вы используете. К примеру, в случае использования API хостинга FreeDNS необходимо указать данные учетной записи (логин и пароль), которой принадлежит данный домен.

  • Для настройки валидации с использованием HTTP-01 «web-интерфейса TING» заполните следующие поля:

    ../../_images/http01-valid.png

    Имя: Уникальное имя для данного типа проверки.

    Тип вызова: HTTP-01

    Служба HTTP: web-служба TING

    Интерфейс: Выберите интерфейс, на котором в данный момент сконфигурирован IP на который указывает FQDN домена, для которого будет выполняться проверка.

    Автообнаружение IP: Выберите этот параметр, чтобы разрешить TING автоматически обнаруживать IP-адреса согласно FQDN, прописанному в сертификате.

    IP адреса: FQDN, используемое в сертификате, должно указывать на один или несколько официальных IP-адресов. Введите все эти IP-адреса здесь.

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

  • Для настройки валидации с использованием HTTP-01 «HAProxy HTTP frontend integration» заполните следующие поля:

    Включить автонастройку: Автоматически внедрить конфиг в локальный экземпляр HAProxy чтобы обслуживать вызовы acme без прерывания сервиса.

    Фронтенды HAProxy: Выберите фронтенды HAProxy. Они могут быть автоматически настроены на перенаправление вызовов acme к внутреннему acme-клиенту.

    Примечание: Использование данного метода подразумевает, что плагин HAProxy установлен и настроен

Создание задачи, выполняемой при операции выпуска/перевыпуска сертификата.

Данная настройка вам может понадобиться, если вы используете метод валидации HTTP-01 и вам необходимо в случае обновления сертификата, перегрузить web-интерфейс TING, чтобы внесенные изменения вступили в силу, либо выполнить какую-либо системную задачу, связанную с процедурой перевыпуска сертификата.

../../_images/restart_rule.png

Для этого заполните следующие поля:

Включен: Предлагать ли данное действие при настройке сертификата.

Имя: Уникальное имя задачи.

Команда рестарта: Задача из выпадающего списка, выполнить которую необходимо в случае выпуска/перевыпуска сертификата.

Конфигурирование сертификата.

Перейдите в пункт меню Сертификаты. По нажатию + вызывается форма создания сертификата.

../../_images/create_cert.png

Где необходимо настроить:

Включен: Включить этот сертификат в обработку плагином

Стандартное имя: Имя домена (CN), на которое выписывается сертификат.

Дополнительные имена: Дополнительные доменные имена (SAN), которые также должны защищаться данным сертификатом. (имена разделяются табуляцией)

Аккаунт LE: Аккаунт Let’s Encrypt из выпадающего списка, сконфигурированный на предыдущем этапе.

Метод валидации: Метод валидации права собственности доменом из выпадающего списка, сконфигурированный на предыдущем этапе.

Действие рестарта: Действие, выполняемое при выпуске/перевыпуске данного сертификата из выпадающего списка, сконфигурированное на предыдущем этапе либо пусто.

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

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

Успешно выпущенный сертификат выглядит следующим образом:

../../_images/created_cert.png

Блоком кнопок справа от сертификата вы можете выполнять следующие действия (слева направо):

../../_images/buttons.png

Редактировать сертификат, копировать сертификат в новый, удалить сертификат, перевыпустить сертификат, отозвать сертификат.

Таким образом с помощью данного плагина возможно автоматизировать процедуру выпуска/перевыпуска сертификатов, как для web-интерфейса TING, так и для плагина HAProxy с целью SSL разгрузки сервисов, сконфигурированных в нем.