Важно известие: |
Създаване на Let's Encrypt сертификати за Zyxel NAS
Забележка: Моля, имайте предвид, че това е заобиколно решение и като такова то има един незначителен страничен ефект: когато щракнете върху раздела SSL в контролния панел, WebUI се блокира с грешка 500 .Ако това се случи, можете да опресните страницата и да продължите работата си. Тъй като този раздел не предлага функционалност, която е необходима при използването на това ръководство, това е съвсем незначителен недостатък в сравнение с предимствата на използването на сертификата Let's Encrypt.
Имайте предвид: Работете с Arch Linux или друга среда на операционна система, базирана на Linux (командите може да се различават леко, ако например се чувствате по-удобно с Ubuntu, може да получите подсказка в тази статия, която описва подобен подход за USG, тъй като и Ubuntu, и Raspbian са базирани на Debian). Инсталирането на среда на Linux е извън обхвата на тази статия, моля, обърнете се към ръководството за инсталиране на дистрибуция по ваш избор. При Arch обаче би трябвало да се справите само със зареждането на Live CD и стартирането на системата от рамдиска.
Уверете се, че Arch е актуален:
$ sudo pacman -Syu
- Инсталирайте certbot, клиент на ACME, който ще автоматизира процеса на създаване на сертификати:
$ sudo pacman -S certbot
- Уверете се, че вашият Arch може да слуша на порт 80, ако е необходимо, препратете порт 80 към вашата машина. Създайте сертификат, като използвате следната команда:
$ sudo certbot certonly --standalone --preferred-challenges http -d [yournasaddress.zyxel.me]
Забележка: ако срещате грешка "challenge failed for domain", сървърите на Let's Encrypt не могат да достигнат до вашата машина. Моля, проверете два пъти дали е разрешено пренасочването на портовете и се уверете, че в момента не се изпълнява нито една услуга на порт 80 на вашия Arch. Можете да спрете временно въпросната услуга, като използвате командата:
$ sudo systemctl stop httpd
- След тази стъпка не се колебайте да я активирате отново
$ sudo systemctl start httpd
- Сега можете да пренасочите порт 80 към вашия NAS, а също и порт 443, ако не сте го задали вече.
Качване на сертификати Let's Encrypt за Zyxel NAS
Вашият сертификат е готов да бъде качен на вашето NAS, като в този пример ще използваме SFTP клиент, базиран на шел. Въпреки това има широк набор от инструменти за постигане на това, ако предпочитате по-визуален подход, вижте раздела Troubleshooting (Отстраняване на проблеми), където са описани други възможности за работа със SFTP в Arch. Моля, имайте предвид, че ако решите да преместите сертификатите от защитеното им хранилище, уверете се, че те са изтрити или защитени след това! Никога не споделяйте частния си ключ!
Свържете се към NAS с root права, тук ще използваме sudo, в противен случай няма да можем да прочетем сертификатите от защитеното хранилище:
$ sudo sftp root@[yournasaddress.zyxel.me]
Изпълнете следните команди, за да копирате сертификатите на съответната им позиция. По време на процеса ще правим резервни копия, за да можете да възстановите оригиналните сертификати, в случай че нещо се обърка. Моля, бъдете внимателни, работим под root права и всяка команда ще бъде изпълнена, без да питаме. Проверете два пъти правописните грешки. Можете също така да завършвате имената на файловете и директориите, като натискате Tab след първите няколко букви, това също ще ви помогне да предотвратите печатни грешки. Също така имайте предвид, че имената са чувствителни към малките и големите букви както в NAS, така и в Arch, или във всеки друг Linux!
sftp> rename /etc/zyxel/cert/default.cer /etc/zyxel/cert/default.cer.bak
sftp> put /etc/letsencrypt/live/[yournasaddress.zyxel.me]/cert.pem /etc/zyxel/cert/default.cer
sftp> rename /etc/zyxel/cert/key/default_key.cer /etc/zyxel/cert/key/default_key.cer.bak
sftp> put /etc/letsencrypt/live/[yournasaddress.zyxel.me]/privkey.pem /etc/zyxel/cert/key/default_key.cer
Това е всичко! Можете да излезете от SFTP с помощта на командата exit и да рестартирате NAS!
# find /etc/zyxel/cert -type f -delete0
# openssl req -newkey rsa:2048 -nodes -keyout /etc/zyxel/cert/key/default_key.cer -x509 -days 3650 -out /etc/zyxel/cert/default.cer
След рестартирането можете да влезете в системата и да проверите резултатите. Уверете се, че SSL е разрешен в Control Panel (Контролен панел) > Network (Мрежа) > TCP/IP (TCP/IP) > Web Configurator (Уеб конфигуратор). Можете също така да наложите използването на HTTPS в този раздел, ако желаете.
Подновяване на сертификатите Let's Encrypt за Zyxel NAS
По замисъл сертификатите Let's Encrypt са с доста кратък срок на валидност. Сертификатите са валидни за 90 дни от деня на издаването им. За да подновите сертификата си, трябва отново да пренасочите портовете на вашия Arch Linux, да стартирате отново командата certbot и да я качите отново на вашето NAS.
Отстраняване на неизправности
- Често срещани проблеми и решения: Някои потребители се сблъскаха с проблеми, при които NAS показваше "500 Internal Server Error" след опит за импортиране на сертификат. Решенията включваха проверка на формата на сертификата и гарантиране, че всички необходими файлове са правилно поставени в директорията на NAS. Други предложиха проверка на конфигурацията на Apache и ръчно рестартиране на уеб сървъра за решаване на тези проблеми (Zyxel Community) (Zyxel Community).
- Автоматизиране на подновяването на сертификата: Автоматизирането на подновяването на сертификатите Let's Encrypt беше друга често обсъждана тема. Потребителите споделиха скриптове, които автоматично копират подновените сертификати в NAS и рестартират уеб услугите. Това включва настройване на енергонезависима памет за главната директория и конфигуриране на SSH ключове за неинтерактивно влизане (Zyxel Community).
- Самоподписани сертификати: За тези, които разчитат на самоподписани сертификати, някои срещнаха проблеми с достъпа до уеб интерфейса на NAS след активиране на HTTPS. Често се препоръчва временно да забраните HTTPS чрез SSH команди, ако не можете да получите достъп до уеб интерфейса, както е описано подробно в дискусията за промяна на конфигурационните файлове на Apache (Zyxel Community).
-
Инсталиране и управление на сертификати: Много потребители се сблъскаха с проблеми при инсталирането на SSL сертификати на Zyxel NAS устройства. Често срещан проблем е, че след рестартиране NAS устройството се връща към своя самоподписан сертификат. За да се реши този проблем, потребителите предложиха да се изтрие файлът
CA.cer
в директорията/etc/zyxel/cert
, което принуждава NAS да използва вместо него файлаdefault.cer
. Това помогна на потребителите успешно да внедрят сертификати от органи като Let's Encrypt (Общност на Zyxel) (Общност на Zyxel) -
Получавам "challenge failed" (предизвикателството се провали) за домейн [mydomain]!
Тази грешка обикновено означава, че вашият Arch не може да бъде достигнат от сървъра на CA, за да провери автентичността. Моля, проверете дали порт 80 е пренасочен към машината ви с Arch и дали никоя услуга вече не работи на порт 80 (apache?). -
Импортирах сертификати, а сега моят NAS не отговаря нито на http, нито на https!
Това означава, че уеб сървърът на NAS е срещнал проблем по време на стартирането, най-вероятно сте объркали нещата при качването на сертификатите на вашия NAS. Въпреки това няма нужда да изпадате в паника, SSH/SFTP все още трябва да работи. В случай че не можете да постигнете условия за работа, вижте тази статия. -
Не ми се иска да използвам Terminal за работа с файлове, има ли други предложения?
Ако ви е по-удобно, можете да използвате файловия изследовател Nautilus на Gnome, за да стартирате SFTP сесия с NAS за копиране на файлове.
Ако нямате инсталиран Gnome (може би сте на Live CD на Arch), има ортодоксален терминален командир с поддръжка на SFTP, наречен Midnight Commander, който би трябвало да работи дори на доста гола инсталация на Arch, за да инсталирате и стартирате като root, въведете:
# find /etc/zyxel/cert -type f -delete
1
# openssl req -newkey rsa:2048 -nodes -keyout /etc/zyxel/cert/key/default_key.cer -x509 -days 3650 -out /etc/zyxel/cert/default.cer
Само едно предупреждение: Устройствата Zyxel NAS достигнаха края на периода на поддръжка. Разбираме, че това може да е неудобно, затова, за да ви помогнем, моля, посетете нашия форум или разгледайте раздела за NAS в нашата база знания за всички подробности. Можете също така да намерите списък на устройствата с изтекъл срок на поддръжка и сроковете им на връзката по-долу.
- Край на експлоатационния срок (EOL/EoL) / край на поддръжката (EOS/EoS)
- Форум на общността Лично съхранение в облак
Много благодарим за разбирането и търпението ви!