[Из песочницы] Установка своих SSL-сертификатов на файловое хранилище D-Link DNS-320L
Пробросил порт 443 через роутер на файловое хранилище, создал новую шару, поставил крижыки WebDAV. Пытаюсь подключится — с помощью плагинов FAR все ок, а вот через Widnows подключение как сетевой диск не проходит — на сертификаты ругается. Никак не хочет, а ставить сторонние приблуды — нет желания.
Решено: получаем бесплатный SSL сертификат (по-моему на StartSSL я его и получил для своего домена). Скачал файлики, приватный ключ, с довольным лицом полез в админку, чтоб сертификаты то залить — ан нет! Нет там такой возможности! Решено начать ковырять.
Шаги такие:
1) Заливаем прошивку с официального сайта с поддержкой Addons (на сегодня это 1.08b08)
2) Устанавливаем Addons с сайта : OpenSSH, MC, vtCron
3) Находим где там сертификаты и заменяем их.
Подключившись по SSH и выполнив «ps ax» я увидел, что за веб тут отвечает lighttpd, нарыл его конфиг, а в нем и указано, что сертификаты (и публичный и приватный ключ) лежат в одном файле /etc/certificate_https_all.pem. Удалил старый файл, сохранил новый (порядок таков: первым идет публичный ключ, вторым — приватный), перезапустил lighttpd. Все отлично — сертификаты подцепились, но после перезагрузки все исчезло — в /etc все сохраняется только до перезагрузки. Потом все заново. В связи с этим решено было сохранить файл с сертификатами на жестком диске (в моем случае на /mnt/HD_a4/script/cert.pem) и написать скрипт который выполняет подмену файла с сертификатом и перезапускает вебсервер.
#!/bin/sh
if [ ! -e /etc/sslupdate ]; then
touch /etc/sslupdate
cp /mnt/HD_a4/script/cert.pem /etc/certificate_https_all.pem
ps ax | grep lightt | grep -v grep | awk '{ system ("kill " $1) }'
/usr/sbin/lighttpd-angel -D -m /usr/lighty_lib -f /etc/lighttpd/lighttpd.conf &
fi
В качестве семафора выполнялся ли уже скрипт в эту перезагрузку или нет было решено использовать файл /etc/sslupdate. При запуске скрипт проверяет, существует ли семафор? Если он существует — скрипт заканчивает свою работу. Если же семафора нет, то скрипт выполняет действия:
- Создает семафор о том что он выполнился;
- Копирует сертификат с жесткого диска в папку /etc;
- Убивает процессы которые связаны с lighttpd;
- Запускает lighttpd.
Для того чтобы скрипт запускался, заходим через веб-морду в управление vtCron и прописываем запуск скрипта там один раз в пять минут (*/5 * * * *)
Перезагружаем хранилище, все работает.
Комментарии (2)
16 сентября 2016 в 20:24 (комментарий был изменён)
0↑
↓
1. вебдав в винде не нормальный, это совершенно точно:
— кривой клиент: http://netlab.dhis.org/wiki/ru: software: nginx: webdav
— лимит на размер файла 4 гб, и то нужно в реестре включать, по дефолту меньше 100 мб
— файл целиком скачивает в системный темп и только потом отдаёт приложению что весьма неудобно. А ещё он эти темпы частенько забывает грохнуть.
— только TLS 1.0
…2. Достаточно было поставить сертификат через вендовую оснастку к системным/компьютеру, а не к текущему юзеру.
Я себе сгенерировал сертификат, поставил на клиентах и на этом всё.
Единственно что венда периодически при обновлениях сбрасывает в реестре мои усиленные настройки шифрования и приходится возвращать их обратно рег файлом.17 сентября 2016 в 03:56
0↑
↓
Зачем это здесь?
С каких пор такие мануалы, темы для хабра?