Как создать SSL-сертификат LetsEncrypt с помощью CloudFlare DNS-01 Challenge и использовать его на Synology NAS

Kak Sozdat Ssl Sertifikat Letsencrypt S Pomos U Cloudflare Dns 01 Challenge I Ispol Zovat Ego Na Synology Nas



Disk Station Manager v7 (DSM 7) — это операционная система устройств Synology NAS. Сертификаты Let’s Encrypt SSL для Synology NAS можно настроить через веб-интерфейс DSM 7. По умолчанию Synology DSM 7 использует запрос HTTP-01 для проверки владения доменом (который вы хотите использовать для Synology NAS) и выдачи SSL-сертификата для домена. Но вызов HTTP-01 не сработает, если у вас нет общедоступного IP-адреса и ваш компьютер доступен из Интернета. Итак, если вы хотите использовать SSL-сертификаты Let’s Encrypt для своей домашней или частной сети, вам придется вместо этого использовать вызов DNS-01. При использовании запроса DNS-01 Let’s Encrypt проверяет право собственности на домен, используя DNS-сервер домена. Таким образом, это работает и для частных сетей. К сожалению, веб-интерфейс Synology DSM 7 не предоставляет никакого способа получения SSL-сертификатов Let’s Encrypt с помощью запроса DNS-01.

К счастью, программу «acme.sh» можно установить на Synology NAS, и она используется для создания и обновления SSL-сертификатов Let’s Encrypt с использованием запроса DNS-01.







В этой статье мы покажем вам следующее:



  • Как установить «sh» на Synology NAS
  • Как использовать «acme.sh» для создания SSL-сертификата Let’s Encrypt (с помощью запроса DNS-01) для доменного имени, которое вы используете на Synology NAS
  • Как установить SSL-сертификат Let’s Encrypt, созданный «acme.sh», на Synology NAS
  • Как настроить операционную систему DSM 7 вашего Synology NAS для использования сгенерированного SSL-сертификата Let’s Encrypt.
  • Как настроить Synology NAS для автоматического продления созданных SSL-сертификатов Let’s Encrypt с помощью «acme.sh»

В этой статье мы будем использовать DNS-сервер CloudFlare для демонстрации. Вы можете использовать другие Службы DNS, поддерживаемые acme.sh также. Все, что вам нужно сделать, это внести необходимые коррективы.



Тема содержания:

  1. Создание пользователя Certadmin на Synology NAS
  2. Настройка DNS-сервера CloudFlare для задачи LetsEncrypt DNS-01
  3. Настройка других служб DNS для задачи LetsEncrypt DNS-01
  4. Доступ к терминалу Synology NAS через SSH
  5. Загрузка Acme.sh на Synology NAS
  6. Установка Acme.sh на Synology NAS
  7. Создание SSL-сертификата Let’s Encrypt с помощью Acme.sh для Synology NAS
  8. Установка SSL-сертификата Let’s Encrypt на Synology NAS с помощью Acme.sh
  9. Установка SSL-сертификата Let’s Encrypt в качестве сертификата по умолчанию на Synology NAS
  10. Настройка Synology NAS для автоматического продления SSL-сертификата Let’s Encrypt с помощью Acme.sh
  11. Заключение
  12. Рекомендации

Создание пользователя Certadmin на Synology NAS

Сначала вам следует создать нового пользователя-администратора на Synology NAS для создания и обновления SSL-сертификатов Let’s Encrypt.





Чтобы создать нового пользователя-администратора на Synology NAS, нажмите Панель управления [1] > Группа пользователей [2] из веб-интерфейса DSM 7.



Нажмите «Создать» на вкладке «Пользователь».

Введите «certadmin» в качестве имени пользователя. [1] , необязательное краткое описание пользователя [2] , пароль для входа пользователя [3] и нажмите «Далее» [4] .

Чтобы создать пользователя-администратора, отметьте в списке группу «Администраторы». [1] и нажмите «Далее» [2] .

Нажмите «Далее».

Нажмите «Далее».

Нажмите «Далее».

Нажмите «Далее».

Нажмите «Готово».

сертификатадмин Теперь пользователь должен быть создан на Synology NAS.

Настройка DNS-сервера CloudFlare для задачи Let’s Encrypt DNS-01

Чтобы использовать DNS-сервер CloudFlare для задачи Let’s Encrypt DNS-01, вам необходимо сгенерировать DNS-токен CloudFlare. Вы можете сгенерировать токен DNS-сервера CloudFlare на панели управления CloudFlare. Для дополнительной информации, прочитайте эту статью .

Настройка других служб DNS для задачи Let’s Encrypt DNS-01

«Acme.sh» поддерживает другие службы DNS. Если вы не хотите использовать CloudFlare DNS, вы можете использовать любую из DNS-служб, поддерживаемых «acme.sh». Конфигурация немного отличается для разных служб DNS. Для дополнительной информации, ознакомьтесь с руководством по API DNS «acme.sh» .

Доступ к терминалу Synology NAS через SSH

Чтобы установить «acme.sh», а также сгенерировать и установить SSL-сертификат Let’s Encrypt на Synology NAS, вам потребуется доступ к терминалу Synology NAS. Для получения дополнительной информации о включении доступа SSH на Synology NAS и доступе к терминалу Synology NAS см. прочитайте эту статью .

После включения доступа SSH на Synology NAS откройте приложение терминала на своем компьютере и выполните следующую команду:

$ ssh certadmin@

Вам будет предложено ввести пароль для входа в систему. сертификатадмин пользователь. Введите пароль для входа в сертификатадмин пользователя вашего Synology NAS и нажмите <Ввод> . Вы должны войти в Synology NAS как сертификатадмин пользователь.

Загрузка Acme.sh на Synology NAS

Чтобы загрузить последнюю версию клиента «acme.sh», выполните следующую команду:

$ wget -O /tmp/acme.sh.zip https://github.com/acmesh-official/acme.sh/archive/master.zip

Последнюю версию клиентского архива «acme.sh» «acme.sh.zip» следует загрузить в каталог «/tmp» вашего Synology NAS.

Установка Acme.sh на Synology NAS

Чтобы извлечь архив «/tmp/acme.sh.zip» в каталог «/usr/local/share» вашего Synology NAS, выполните следующую команду, введите пароль для входа пользователя certadmin и нажмите <Ввод> когда будет предложено ввести пароль. Архив «/tmp/acme.sh.zip» следует распаковать в каталог «/usr/local/share/acme.sh-master».

$ sudo 7z x -o /usr/local/share /tmp/acme.sh.zip

Для простоты переименуйте каталог «acme.sh-master» в «acme.sh» с помощью следующей команды:

$ sudo mv -v /usr/local/share/acme.sh-master /usr/local/share/acme.sh

Чтобы сделать сертификатадмин пользователь-владелец каталога «/usr/local/share/acme.sh» и его содержимого выполните следующую команду:

$ sudo chown -Rfv certadmin /usr/local/share/acme.sh

Создание SSL-сертификата Let’s Encrypt с помощью Acme.sh для Synology NAS

Чтобы создать SSL-сертификат Let’s Encrypt для доменного имени, которое вы используете на Synology NAS, перейдите в каталог «/usr/local/share/acme.sh» следующим образом:

$ cd /usr/local/share/acme.sh

Теперь вам нужно экспортировать необходимые переменные среды токена DNS API. Мы используем CloudFlare DNS для управления доменным именем, которое мы используем на нашем Synology NAS. Итак, все, что нам нужно сделать, — это экспортировать переменную среды CF_Token со значением токена CloudFlare DNS API. Если вы используете какой-либо другой сервис DNS, проверьте документацию DNS API «acme.sh» на наличие переменных, которые вам необходимо экспортировать. чтобы «acme.sh» работал с вашей службой DNS.

$export CF_Token='<Токен API CloudFlare DNS API>'

Кроме того, экспортируйте необходимые переменные среды Synology, чтобы «acme.sh» мог установить сгенерированные сертификаты SSL на Synology NAS.

$ экспорт SYNO_User
$ экспорт SYNO_Password='Ваш_certadmin_login_Password'
$export SYNO_Certificate='Давайте зашифруем'
$ экспорт SYNO_Create=1

Чтобы сгенерировать SSL-сертификат Let’s Encrypt для доменного имени «*.nodekite.com» (подстановочный знак) с помощью DNS-плагина CloudFlare ( –dns dns_cf ), выполните следующую команду:

$ ./acme.sh --server letsencrypt --issue --dns dns_cf --home $PWD -d '*.nodekite.com'

Если вы используете другие службы DNS, вам необходимо соответствующим образом изменить плагин DNS (–dns <имя-dns-плагина>) в предыдущей команде. Для дополнительной информации, проверьте документацию DNS API «acme.sh» .

Создается SSL-сертификат Let’s Encrypt. Это займет некоторое время.

На этом этапе должен быть сгенерирован SSL-сертификат Let’s Encrypt.

Установка SSL-сертификата Let’s Encrypt на Synology NAS с помощью Acme.sh

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

$ ./acme.sh -d '*.nodekite.com' --deploy --deploy-hook synology_dsm --home $PWD

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

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

Нажимать <Ввод> .

Сгенерированный SSL-сертификат Let’s Encrypt должен быть установлен на Synology NAS.

После установки SSL-сертификата Let’s Encrypt на Synology NAS он отобразится на Панель управления > Безопасность > Сертификат раздел веб-интерфейса DSM 7 вашего Synology NAS.

Установка SSL-сертификата Let’s Encrypt в качестве сертификата по умолчанию на Synology NAS

Чтобы управлять сертификатами SSL вашего Synology NAS, перейдите к Панель управления > Безопасность > Сертификат раздел веб-интерфейса DSM 7 вашего Synology NAS.

Чтобы установить только что установленный сертификат Let’s Encrypt SSL в качестве сертификата по умолчанию, чтобы вновь установленные веб-службы на Synology NAS использовали его по умолчанию, выберите сертификат Let’s Encrypt SSL и нажмите Действие > Редактировать .

Ставим галочку «Установить как сертификат по умолчанию» [1] и нажмите «ОК» [2] .

Сертификат Let’s Encrypt SSL должен быть установлен в качестве сертификата по умолчанию для Synology NAS.

Чтобы настроить существующие веб-службы Synology NAS на использование SSL-сертификата Let’s Encrypt, нажмите «Настройки».

Как видите, все веб-службы используют самозаверяющий SSL-сертификат Synology.

Чтобы изменить сертификат SSL для веб-службы, щелкните соответствующее раскрывающееся меню справа.

Затем выберите в раскрывающемся меню сертификат Let’s Encrypt SSL, который вы хотите использовать для веб-сервиса.

Таким же образом выберите сертификат Let’s Encrypt SSL для всех установленных веб-служб вашего Synology NAS и нажмите «ОК».

Нажмите «Да».

Изменения применяются. Это займет несколько секунд.

После того как сертификат Let’s Encrypt SSL будет применен ко всем веб-службам вашего Synology NAS, обновите веб-страницу, и ваш веб-интерфейс DSM 7 должен использовать сертификат Let’s Encrypt SSL.

Настройка Synology NAS для автоматического продления SSL-сертификата Let’s Encrypt с помощью Acme.sh

Чтобы настроить Synology NAS на автоматическое продление SSL-сертификата Let’s Encrypt, перейдите к Панель управления > Диспетчер задач из веб-интерфейса DSM 7.

В планировщике задач нажмите на Создавать > Запланированная задача > Пользовательский сценарий .

На вкладке «Общие» введите «Обновить сертификаты SSL» в разделе «Задача». [1] и выберите «certadmin» в раскрывающемся меню «Пользователь». [2] .

На вкладке «Расписание» выберите «Запустить на следующую дату». [1] и выберите «Повторять ежемесячно» в раскрывающемся меню «Повторять». [2] .

Перейдите на вкладку «Настройки задачи», введите следующую команду в разделе «Пользовательский скрипт». [1] и нажмите «ОК» [2] .

/usr/local/share/acme.sh/acme.sh –renew –server letsencrypt -d «*.nodekite.com» –home /usr/local/share/acme.sh

Должна быть создана новая задача. Задача «Обновить сертификаты SSL» будет запускаться каждый месяц и обеспечивать обновление сертификата Let’s Encrypt SSL до истечения его срока действия.

Заключение

В этой статье мы показали вам, как установить и использовать клиент ACME «acme.sh» для создания SSL-сертификата Let’s Encrypt с помощью запроса DNS-01 на Synology NAS. Мы также показали, как установить созданный SSL-сертификат Let’s Encrypt на Synology NAS и настроить веб-службы Synology NAS для его использования. Наконец, мы показали вам, как настроить запланированное задание на Synology NAS для автоматического продления SSL-сертификата Let’s Encrypt до истечения его срока действия.

Использованная литература: