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

Kak Da Generirate Letsencrypt Ssl Sertifikat S Pomosta Na Cloudflare Dns 01 Challenge I Da Go Izpolzvate Na Synology Nas



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

За щастие, програмата „acme.sh“ може да бъде инсталирана на вашия Synology NAS и се използва за генериране и подновяване на Let’s Encrypt SSL сертификати с помощта на предизвикателството DNS-01.







В тази статия ще ви покажем следното:



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

В тази статия ще използваме CloudFlare DNS сървъра за демонстрация. Можете да използвате други DNS услуги, които се поддържат от acme.sh както добре. Всичко, което трябва да направите, е да направите необходимите корекции.



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

  1. Създаване на потребител Certadmin на Synology NAS
  2. Конфигуриране на CloudFlare DNS сървър за LetsEncrypt DNS-01 Challenge
  3. Конфигуриране на други DNS услуги за LetsEncrypt DNS-01 Challenge
  4. Достъп до NAS терминала на Synology чрез SSH
  5. Изтегляне на Acme.sh на вашия Synology NAS
  6. Инсталиране на Acme.sh на вашия Synology NAS
  7. Генериране на Let’s Encrypt SSL сертификат с помощта на Acme.sh за вашия Synology NAS
  8. Инсталиране на Let’s Encrypt SSL сертификат на вашия Synology NAS чрез Acme.sh
  9. Задаване на Let’s Encrypt SSL сертификата по подразбиране на вашия Synology NAS
  10. Конфигурирайте Synology NAS за автоматично подновяване на Let’s Encrypt SSL сертификат с помощта на 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] .

Кликнете върху „Напред“.

Кликнете върху „Напред“.

Кликнете върху „Напред“.

Кликнете върху „Напред“.

Кликнете върху „Готово“.

The certadmin потребител сега трябва да бъде създаден на вашия Synology NAS.

Конфигуриране на CloudFlare DNS сървър за Let’s Encrypt DNS-01 Challenge

За да използвате CloudFlare DNS сървъра за предизвикателството Let’s Encrypt DNS-01, трябва да генерирате CloudFlare DNS токен. Можете да генерирате токен за DNS сървър на CloudFlare от таблото за управление на CloudFlare. За повече информация, прочетете тази статия .

Конфигуриране на други DNS услуги за Let’s Encrypt DNS-01 Challenge

“Acme.sh” поддържа други DNS услуги. Ако не искате да използвате CloudFlare DNS, можете да използвате някоя от поддържаните от „acme.sh“ DNS услуги. Конфигурацията е малко по-различна за различните DNS услуги. За повече информация, проверете ръководството за API на DNS “acme.sh”. .

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

За да инсталирате „acme.sh“ и да генерирате и инсталирате Let’s Encrypt SSL сертификат на вашия Synology NAS, трябва да получите достъп до терминала на вашия Synology NAS. За повече информация относно активирането на SSH достъп на вашия Synology NAS и достъп до терминала на вашия Synology NAS, прочетете тази статия .

След като активирате SSH достъпа на вашия Synology NAS, отворете терминално приложение на вашия компютър и изпълнете следната команда:

$ ssh certadmin@

Ще бъдете помолени да въведете паролата за вход на certadmin потребител. Въведете паролата за вход на certadmin потребител на вашия Synology NAS и натиснете нататък . Трябва да сте влезли във вашия Synology NAS като certadmin потребител.

Изтегляне на 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

За да направите certadmin потребител собственик на директорията “/usr/local/share/acme.sh” и нейното съдържание, изпълнете следната команда:

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

Генериране на Let’s Encrypt SSL сертификат с помощта на Acme.sh за вашия Synology NAS

За да генерирате Let’s Encrypt SSL сертификат за името на домейна, което използвате на вашия 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 услуга, проверете документацията за API на DNS „acme.sh“ за променливите, които трябва да експортирате за „acme.sh“ да работи с вашата DNS услуга.

$ export CF_Token=''

Също така експортирайте необходимите променливи на средата на Synology, така че „acme.sh“ да може да инсталира генерираните SSL сертификати на вашия Synology NAS.

$ експорт SYNO_User
$ export SYNO_Password='Вашата_парола_за_влизане_на_сертифициран администратор'
$ export SYNO_Certificate='Да шифроваме'
$ експортиране SYNO_Create=1

За да генерирате Let’s Encrypt SSL сертификат за името на домейна „*.nodekite.com“ (заместващ знак) с помощта на приставката CloudFlare DNS ( –dns dns_cf ), изпълнете следната команда:

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

Ако използвате други DNS услуги, трябва съответно да промените приставката за DNS (–dns ) в предишната команда. За повече информация, проверете документацията за API на DNS „acme.sh“. .

Генерира се Let’s Encrypt SSL сертификат. Отнема известно време, за да завършите.

В този момент SSL сертификатът Let’s Encrypt трябва да бъде генериран.

Инсталиране на Let’s Encrypt SSL сертификат на вашия Synology NAS чрез Acme.sh

След като Let’s Encrypt SSL сертификатът бъде генериран за името на домейна (*.nodekite.com в този случай) на вашия Synology NAS, можете да го инсталирате на вашия Synology NAS със следната команда:

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

Ако сте активирали двуфакторно удостоверяване за certadmin потребител, ще получите OTP код. Трябва да въведете OTP кода и да натиснете .

Ако не сте активирали двуфакторното удостоверяване за certadmin потребител, оставете го празно и натиснете .

Натиснете .

Генерираният Let’s Encrypt SSL сертификат трябва да бъде инсталиран на вашия Synology NAS.

След като сертификатът Let’s Encrypt SSL бъде инсталиран на вашия Synology NAS, той ще се покаже на Контролен панел > Сигурност > Сертификат раздел на уеб интерфейса DSM 7 на вашия Synology NAS.

Задаване на Let’s Encrypt SSL сертификата по подразбиране на вашия Synology NAS

За да управлявате SSL сертификатите на вашия Synology NAS, отидете до Контролен панел > Сигурност > Сертификат раздел от уеб интерфейса DSM 7 на вашия Synology NAS.

За да зададете новоинсталирания Let’s Encrypt SSL сертификат като стандартен, така че новоинсталираните уеб услуги на вашия Synology NAS да го използват по подразбиране, изберете Let’s Encrypt SSL сертификата и щракнете върху Действие > редактиране .

Поставете отметка върху „Задаване като сертификат по подразбиране“ [1] и кликнете върху „OK“ [2] .

SSL сертификатът Let’s Encrypt трябва да бъде зададен като сертификат по подразбиране за вашия Synology NAS.

За да конфигурирате съществуващите уеб услуги на вашия Synology NAS да използват SSL сертификата Let’s Encrypt, щракнете върху „Настройки“.

Както можете да видите, всички уеб услуги използват самоподписания SSL сертификат на Synology.

За да промените SSL сертификата за уеб услуга, щракнете върху съответното падащо меню отдясно.

След това изберете Let’s Encrypt SSL сертификата, който искате да използвате за уеб услугата, от падащото меню.

По същия начин изберете Let’s Encrypt SSL сертификат за всички инсталирани уеб услуги на вашия Synology NAS и щракнете върху „OK“.

Кликнете върху „Да“.

Промените се прилагат. Завършването отнема няколко секунди.

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

Конфигуриране на Synology NAS за автоматично подновяване на SSL сертификата Let’s Encrypt с помощта на Acme.sh

За да конфигурирате вашия Synology NAS за автоматично подновяване на Let’s Encrypt SSL сертификата, отворете Контролен панел > Планировчик на задачи от уеб интерфейса на DSM 7.

От Task Scheduler щракнете върху Създавайте > Планирана задача > Дефиниран от потребителя скрипт .

От раздела „Общи“ въведете „Подновяване на SSL сертификати“ в секцията „Задача“. [1] и изберете „certadmin“ от падащото меню „Потребител“. [2] .

От раздела „График“ изберете „Изпълни на следващата дата“ [1] и изберете „Повтаряне ежемесечно“ от падащото меню „Повтаряне“. [2] .

Отидете до раздела „Настройки на задачите“, въведете следната команда в секцията „Дефиниран от потребителя скрипт“ [1] и щракнете върху „OK“ [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“ за генериране на Let’s Encrypt SSL сертификат чрез предизвикателството DNS-01 на вашия Synology NAS. Също така ви показахме как да инсталирате генерирания Let’s Encrypt SSL сертификат на вашия Synology NAS и да конфигурирате уеб услугите на вашия Synology NAS, за да го използвате. Накрая ви показахме как да конфигурирате планирана задача на вашия Synology NAS за автоматично подновяване на Let’s Encrypt SSL сертификата, преди да изтече.

Препратки: