Zyxel Network-Attached Storage [NAS] - Как импортировать или регенерировать сертификат на хранилище Zyxel NAS

Еще есть вопросы? Отправить запрос

Важное уведомление:
Уважаемый покупатель, пожалуйста, обратите внимание, что мы используем машинный перевод для предоставления статей на вашем местном языке. Не весь текст может быть переведен точно. Если есть вопросы или несоответствия в отношении точности информации в переведенной версии, пожалуйста, ознакомьтесь с оригинальной статьей здесь:Original Version

В этой статье представлено краткое руководство по созданию новых самоподписных сертификатов на NAS для устранения ошибок, связанных с SSL, а также руководство по созданию и импорту глобально доверенных сертификатов Let's Encrypt в Arch Linux, чтобы избежать ошибок "Connection not secure", обеспечивая беспрепятственный и безопасный доступ к WebGUI.
Уведомление об окончании срока службы продукта: Мы с сожалением сообщаем, что срок службы продукта "Устройства Zyxel NAS" истек. В связи с этим техническая поддержка данного устройства может быть ограничена. Пожалуйста, помните, что любые манипуляции или использование устройства, срок службы которого уже истек, осуществляются исключительно на ваш страх и риск. Список устаревших устройств, включая даты их выхода из эксплуатации и прекращения поддержки, можно найти по ссылке ниже. На этой странице также представлена последняя обновленная версия для вашего устройства: End of Life

Генерация оригинальных самоподписных сертификатов на Zyxel NAS

Откройте командную строку. Для подключения используйте следующую команду с адресом вашего NAS и подтвердите подключение, если появится запрос.

$ ssh root@192.168.1.33

Выполните следующие команды, чтобы восстановить хранилище сертификатов по умолчанию (опустите первую строку, чтобы просто сгенерировать новые сертификаты). Вам будет предложено ввести информацию о сертификате. Умолчания вполне достаточно, поэтому просто нажимайте enter до тех пор, пока снова не попадете в командную строку.

# find /etc/zyxel/cert -type f -delete
# openssl req -newkey rsa:2048 -nodes -keyout /etc/zyxel/cert/key/default_key.cer -x509 -days 3650 -out /etc/zyxel/cert/default.cer

Вот и все! Не стесняйтесь выйти из командной строки. Для того чтобы изменения вступили в силу, может потребоваться перезагрузка NAS.

# exit

Создание сертификатов Let's Encrypt для Zyxel NAS

Примечание: Пожалуйста, имейте в виду, что это обходной путь, и поэтому у него есть один небольшой побочный эффект: когда вы переходите на вкладку SSL в панели управления, WebUI блокируется с ошибкой 500. В этом случае вы можете обновить страницу и продолжить работу. Поскольку эта вкладка не предлагает никаких функций, необходимых при использовании данного руководства, это довольно незначительный недостаток по сравнению с преимуществами использования сертификата Let's Encrypt.

Имейте в виду: Запуск Arch Linux или другой среды ОС на базе Linux (команды могут немного отличаться, если вам удобнее работать с Ubuntu, например, вы можете получить подсказку в этой статье, где описан аналогичный подход для USG, поскольку и Ubuntu, и Raspbian основаны на Debian). Установка среды Linux не входит в рамки этой статьи, обратитесь к руководству по установке дистрибутива по вашему выбору. Однако в случае с Arch вам будет достаточно просто загрузить Live CD и начать работу прямо с ramdisk.

Убедитесь, что ваш Arch работает в актуальном режиме:

$ sudo pacman -Syu
  • Установите certbot, клиент ACME, который автоматизирует процесс создания сертификатов:
$ sudo pacman -S certbot
  • Убедитесь, что ваш Arch может слушать порт 80, если необходимо, пробросьте порт 80 на вашу машину. Создайте сертификат с помощью следующей команды:
dyn_repppppppp_5

Примечание: если вы столкнулись с ошибкой "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-клиент на основе оболочки. Однако существует широкий набор инструментов для достижения этой цели, если вы предпочитаете более наглядный подход, смотрите раздел Устранение неполадок, где описаны другие варианты работы с 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 -delete
# openssl req -newkey rsa:2048 -nodes -keyout /etc/zyxel/cert/key/default_key.cer -x509 -days 3650 -out /etc/zyxel/cert/default.cer
0

После перезагрузки вы можете войти в систему и проверить результаты. Убедитесь, что SSL включен в Панели управления > Сеть > TCP/IP > Веб-конфигуратор. При желании на этой вкладке можно принудительно включить использование HTTPS.
secure_NAS.png

Обновление сертификатов 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 не может быть достигнут сервером ЦС для проверки подлинности. Пожалуйста, проверьте, перенаправлен ли порт 80 на вашу машину Arch и не запущена ли какая-либо служба на порту 80 (apache?).
  • Я импортировал сертификаты, но теперь мой NAS не отвечает ни на http, ни на https!
    Это указывает на то, что веб-сервер NAS столкнулся с проблемой во время запуска, скорее всего, вы что-то перепутали при загрузке сертификатов в NAS. Однако не стоит паниковать, SSH/SFTP должен работать. Если вам не удается добиться рабочих условий, обратитесь к этой статье.
  • Мне не очень хочется использовать Терминал для работы с файлами, есть другие предложения?
    Если вам так удобнее, вы можете использовать файловый проводник Nautilus из Gnome для запуска SFTP-сессии с NAS для копирования файлов.
    nautilus.png
    Если у вас не установлен Gnome (возможно, вы находитесь на Live CD Arch), есть Terminal orthodox commander с поддержкой SFTP под названием Midnight Commander, который должен работать даже на довольно пустой установке Arch, чтобы установить и запустить от имени root, введите:
    # find /etc/zyxel/cert -type f -delete
    # openssl req -newkey rsa:2048 -nodes -keyout /etc/zyxel/cert/key/default_key.cer -x509 -days 3650 -out /etc/zyxel/cert/default.cer
    1

Просто предупреждение: Устройства Zyxel NAS достигли конца периода поддержки. Мы понимаем, что это может быть неудобно, поэтому, чтобы помочь вам, пожалуйста, посетите наш форум или изучите раздел NAS в нашей базе знаний, чтобы узнать все подробности. Список устаревших устройств и сроки их поддержки вы также можете найти по ссылке ниже.

Большое спасибо за ваше понимание и терпение!

Статьи в этом разделе

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 1 из 5
Поделиться

Комментарии

0 комментариев

Войдите в службу, чтобы оставить комментарий.