Jump to content
XPEnology Community
  • 0

(Пере)выпуск wildcard сертификатов Let's Encrypt для своего домена


Arabezar

Question

Recommended Posts

  • 0

все элементарно - нужен хотя бы 80 открыть или 443, остальные не работают

DSM по умолчанию если нет web сервера 80 переводит на свой 5000

а 443 на 5001.

Ну и соответственно не обязательно открывать порт на порт

например у меня на роутере открыт 21 порт ведущий на 24 DSM и тд

 

Edited by -iliya-
Link to comment
Share on other sites

  • 0
В 15.08.2021 в 10:13, sotaka сказал:

Попытался. Получил вот такое, очень информативное сообщение.

Ip белый и выделенный?

на роутере проброшен хотя бы 80 порт на 80 или на 5000 порт хрени?

в DNS регистратора есть запись  A твоего домена на твой IP?

В DSM не больше 2х поддоменов указываешь? Например test.ru, www.test.ru, ftp.test.ru

Если все да то будет работать, в противном случае будут проблемы с обновлением или созданием.

 

А и еще с какого то момента в старых версиях DSM перестал работать let's encrypt - они выпускали обновление, возможно как раз обновили алгоритм запроса сертов.

Вот VPN сервер хочет обновиться иначе перестанет выпускать серты с сентября.

Edited by -iliya-
Link to comment
Share on other sites

  • 0
On 8/6/2021 at 11:18 PM, Arabezar said:

Где-нить в сентябре придётся опять перевыпускать сертификат - отпишусь.

У меня основная проблема была не с перевыпуском сертификата, здесь всё работало нормально, а с запуском второго скрипта, копирующего новый сертификат во все приложения системы, из-за 2FA (двухфакторной авторизации), ибо header при обновлении сертификата тоже меняется, соответственно, скрипт надо каждый раз корректировать, что не удобно. Решением был бы вызов копирования сертификата средствами командной строки, а не не через WebAPI.

Как и говорил, всё нормально обновилось, но предварительно пришлось обновить скрипт из-за 2FA (двухфакторной авторизации).

 

On 8/13/2021 at 9:34 AM, -iliya- said:

а к чему все это - DSM и так сама умеет получать lets encrypt серты и регулярно из обновлять

Если только дело в Wildcard - то у меня dsm для 3х поддоменов сама и запрашивает.

А если надо больше так не проще купить годовой - явно же что больше 2-3 поддоменов это коммерческое использование.

В точку! Именно ради wildcard! Иначе бы не заморачивался.

Хм... У меня 6 виртуальных хостов на WebStation (и это не предел)… и все некоммерческие… и это не считая опубликованных стандартных приложений.

Edited by Arabezar
Link to comment
Share on other sites

  • 0
12 часа назад, Arabezar сказал:

Как и говорил, всё нормально обновилось, но предварительно пришлось обновить скрипт из-за 2FA (двухфакторной авторизации).

 

В точку! Именно ради wildcard! Иначе бы не заморачивался.

Хм... У меня 6 виртуальных хостов на WebStation (и это не предел)… и все некоммерческие… и это не считая опубликованных стандартных приложений.

Пруф будет? Я не разобрался что ему нужно в скрипте. У меня даже новые получить на получилось. На работающем официальном девайсе скрипт вроде отрабатывает, по логам. но почему-то не производит замену сертификата: его дата не меняется во вкладке "Безопасность". В логе ошибок нет вообще, как ни странно. Ну с этим думаю подождать, а вот со своим домашним - затык, пришлось делать вручную.

Link to comment
Share on other sites

  • 0
On 9/10/2021 at 3:56 PM, sotaka said:

Пруф будет? Я не разобрался что ему нужно в скрипте. У меня даже новые получить на получилось. На работающем официальном девайсе скрипт вроде отрабатывает, по логам. но почему-то не производит замену сертификата: его дата не меняется во вкладке "Безопасность". В логе ошибок нет вообще, как ни странно. Ну с этим думаю подождать, а вот со своим домашним - затык, пришлось делать вручную.

Ок, давайте разбираться.

Пункт инструкции «3. Updating cert» работает?
Я бы проверял работу этого пункта в терминале, там сразу видно, что пошло не так.

  • Like 1
Link to comment
Share on other sites

  • 0
10 часов назад, Arabezar сказал:

Ок, давайте разбираться.

Пункт инструкции «3. Updating cert» работает?
Я бы проверял работу этого пункта в терминале, там сразу видно, что пошло не так.

Всё убрал и начал сначала.

В ответ на скрипт:

 

./acme.sh  --issue --debug 2 -d *.mydomen.ru --dns dns_cf --yes-I-know-dns-manual-mode-enough-go-ahead-please

получаю в логах:

You didn't specify a Cloudflare api key and email yet.
You can get yours from here https://dash.cloudflare.com/profile.

Я зарегился на https://dash.cloudflare.com, но откровенно не понял зачем мне это.

Видимо скрипт пытается автоматически добавить запись в поле txt, но поскольку у него априори нет таких прав, он выводит это.

Пробовал сам вписывать txt-поле, взяв его из лога, но скрипт на следующий запрос "--renew" - генерирует новую комбинацию и всё так же ругается:

ash-4.3# ./acme.sh -d *.mydomen.ru --renew --yes-I-know-dns-manual-mode-enough-go-ahead-please
[Fri Nov  5 10:01:16 +04 2021] Renew: '*.mydomen.ru'
[Fri Nov  5 10:01:18 +04 2021] Using CA: https://acme.zerossl.com/v2/DV90
[Fri Nov  5 10:01:18 +04 2021] Single domain='*.mydomen.ru'
[Fri Nov  5 10:01:18 +04 2021] Getting domain auth token for each domain
[Fri Nov  5 10:01:21 +04 2021] Getting webroot for domain='*.mydomen.ru'
[Fri Nov  5 10:01:22 +04 2021] Adding txt value: nHzsST-zr1f4r2PoMu4daaW25nBMGDWHIUYgJSc_l_Gy-Q for domain:  _acme-challenge.mydomen.ru
[Fri Nov  5 10:01:22 +04 2021] You didn't specify a Cloudflare api key and email yet.
[Fri Nov  5 10:01:22 +04 2021] You can get yours from here https://dash.cloudflare.com/profile.
[Fri Nov  5 10:01:22 +04 2021] Error add txt for domain:_acme-challenge.mydomen.ru
[Fri Nov  5 10:01:22 +04 2021] Please check log file for more details: /var/log/acme.sh.log

Нашёл мануал: https://github.com/acmesh-official/acme.sh/wiki/dnsapi

Но мой домен на beget.ru, к которому по ссылке выше нет описания. И хотя я нашёл упоминание об API на https://beget.com/ru/kb/api/funkczii-upravleniya-dns#changerecords - мне не нравится эта идея в принципе, зачем так усложнили? Почему нельзя сделать этого самому, вручную, как ранее?

Edited by sotaka
Link to comment
Share on other sites

  • 0

Наткнулся на ещё один мануал по acme, отпишусь что вышло.

 

UPD.

Нашёл ошибки в своём скрипте, обновил и конкретизировал для себя неточности мануала. В ручном режиме всё заработало. Посмотрю как сработает скрипт в автоматическом режиме, отпишусь на днях.

Edited by sotaka
Link to comment
Share on other sites

  • 0
9 hours ago, sotaka said:

./acme.sh  --issue --debug 2 -d *.mydomen.ru --dns dns_cf --yes-I-know-dns-manual-mode-enough-go-ahead-please

Инструкция в данной ветке (конкретнее, пункт 2) предназначена для собственного Synology DNS Server. К сожалению, я уже не могу поменять название ветки и добавить туда эту информацию. Скрипт acme.sh поддерживает много провайдеров DNS, список постоянно расширяется. Для каждого требуется свой подход, Cloud Flare в нём первый, но он Вам не нужен, см. ниже…

 

9 hours ago, sotaka said:

Но мой домен на beget.ru, к которому по ссылке выше нет описания.

Да, т.к. для Вашего провайдера DNS пока никто скрипт для acme.sh не написал, в Вашем случае необходимо всё далать вручную, следуя приведённой Вами же ссылке на Beget.API

 

2 hours ago, sotaka said:

Посмотрю как сработает скрипт в автоматическом режиме, отпишусь на днях.

Вы уже написали скрипт для провайдера Beget.ru?

Edited by Arabezar
Link to comment
Share on other sites

  • 0
3 часа назад, Arabezar сказал:

Инструкция в данной ветке (конкретнее, пункт 2) предназначена для собственного Synology DNS Server. К сожалению, я уже не могу поменять название ветки и добавить туда эту информацию. Скрипт acme.sh поддерживает много провайдеров DNS, список постоянно расширяется. Для каждого требуется свой подход, Cloud Flare в нём первый, но он Вам не нужен, см. ниже…

 

Да, т.к. для Вашего провайдера DNS пока никто скрипт для acme.sh не написал, в Вашем случае необходимо всё делать вручную, следуя приведённой Вами же ссылке на Beget.API

 

Вы уже написали скрипт для провайдера Beget.ru?

Нет, я считаю лишним возиться с API. Всё банально: просто наткнулся на пример, где автор объясняет как заставить скрипт работать без API, в отличие от метода с алиасом (>_< )

Цитата

./acme.sh  --issue --debug 2 -d *.mydomen.ru --dns dns_cf --yes-I-know-dns-manual-mode-enough-go-ahead-please

Помеченное красным надо убрать, тогда скрипт выдаст ключ поля TXT для внесения в DNS-запись и далее - будет сличать его в --renew.

Вроде бы ключ остаётся постоянным и при обновлении сертификата его менять не нужно, так что... на моей железке обновление сертификата сработало вручную и я жду отработки скрипта --renew по расписанию. А пока проверяю эти свои шаги на другой железке.

Link to comment
Share on other sites

  • 0
1 hour ago, sotaka said:

Помеченное красным надо убрать

Также надо убрать --dns

 

47 minutes ago, sotaka said:

Вроде бы ключ остаётся постоянным и при обновлении сертификата его менять не нужно, так что... на моей железке обновление сертификата сработало вручную и я жду отработки скрипта --renew по расписанию.

Мне кажется, текстовый ключ меняется.

Ждать придётся 2 месяца по умолчанию (60 дней, если точнее)))

Для мгновенного перевыпуска требуется ключ --force

Link to comment
Share on other sites

  • 0

В общем скрипт авто-продления отработал ок, я проверил на заводском NAS и по этой же методике получил сертификат ещё на одной ХРени. На счёт того что ключ может меняться - будем посмотреть. Прилагаю инструкцию, может надо кому. Просьба маякнуть если ошибку там увидите или неточность.

Обновление_сертификатов_SSL_06112021.pdf

Link to comment
Share on other sites

  • 0

Обновились сертификаты по https://xpenology.com/forum/topic/49308-how-to-update-lets-encrypt-root-certificate/?tab=comments#comment-220109
ПОсле
sudo mv /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt.bak && sudo curl -Lko /etc/ssl/certs/ca-certificates.crt https: // curl .se / ca / cacert.pem
И сообщество SynoCommunity появилось

Link to comment
Share on other sites

  • 0

Привет всем.

Столкнулся с тем что скрипт не может обновить запись сертификата автоматически. Вдобавок, мой провайдер DNS не имеет API или не рассказывает о нём. Выкладываю переделанную инструкцию для ручного обновления записи сертификата.

Обновление_сертификатов_SSL_вручную_23012022.pdf

  • Thanks 1
Link to comment
Share on other sites

  • 0
В 23.01.2022 в 21:23, sotaka сказал:

Привет всем.

Столкнулся с тем что скрипт не может обновить запись сертификата автоматически. Вдобавок, мой провайдер DNS не имеет API или не рассказывает о нём. Выкладываю переделанную инструкцию для ручного обновления записи сертификата.

Обновление_сертификатов_SSL_вручную_23012022.pdf 1 \u041c\u0431 · 16 downloads

Здравствуйте, хочу повторить Ваш метод, но уже на первом этапе, с центром пакетов, выводит ошибку. 
Подскажите, пожалуйста, как ее можно решить ))  

DSM 6.2.3-25426 Update 3 

2022-03-04_22-06-03.png

Edited by Kolesnikov
Link to comment
Share on other sites

  • 0
16 минут назад, XPEH сказал:

# ssh to your NAS first

sudo -i mv /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt.bak

curl -Lko /etc/ssl/certs/ca-certificates.crt https://curl.se/ca/cacert.pem

 

Спасибо за быстрый ответ! 
При вводе команды: sudo -i mv /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt.bak
Ответ: /etc/ssl/certs/ca-certificates.crt : No such file or directory
Подскажите, пожалуйста, что делать ? 

Link to comment
Share on other sites

  • 0

Очевидно это не первая попытка, при первой переименование .crt в .bak уже произошло. Пробуйте вторую команду для скачивания нового сертификата.

посмотреть список файлов можно командой ls

ls /etc/ssl/certs/  длинный список

или

ls /etc/ssl/certs/ca-*

 

Link to comment
Share on other sites

  • 0
5 минут назад, XPEH сказал:

Очевидно это не первая попытка, при первой переименование .crt в .bak уже произошло. Пробуйте вторую команду для скачивания нового сертификата.

посмотреть список файлов можно командой ls

ls /etc/ssl/certs/  длинный список

или

ls /etc/ssl/certs/ca-*

 

Супер, ввел команды наоборот - все приняло. Потом перезагрузился и начал добавлять источники пакетов. 
Спасибо Вам большое за ответ! 

Link to comment
Share on other sites

  • 0

Пожалуйста. Одним из первых пакетов скачайте mc (Midnight Commander) или SynoClI File Tools, в который он включен. Из ssh команда mc вызовет оболочку по мотивам norton commander, будет легче ориентироваться в файловой системе, более наглядно и встроенный редактор файлов тоже пригодится.

Еще пара полезных источников

image.png.5cdbc99d90b3a596f0b546716b1c9532.png

 

  • Like 1
Link to comment
Share on other sites

  • 0
6 минут назад, XPEH сказал:

Пожалуйста. Одним из первых пакетов скачайте mc (Midnight Commander) или CLI File Tools, в который он включен. Из ssh команда mc вызовет оболочку по мотивам norton commander, будет легче ориентироваться в файловой системе, более наглядно и встроенный редактор файлов тоже пригодится.

 

Спасибо за совет, начал по списку )

Link to comment
Share on other sites

  • 0
В 23.01.2022 в 21:23, sotaka сказал:

Привет всем.

Столкнулся с тем что скрипт не может обновить запись сертификата автоматически. Вдобавок, мой провайдер DNS не имеет API или не рассказывает о нём. Выкладываю переделанную инструкцию для ручного обновления записи сертификата.

Обновление_сертификатов_SSL_вручную_23012022.pdf 1 \u041c\u0431 · 16 downloads

Спасибо Вам за инструкцию! 
На последнем этапе вышла ошибка. Не подскажите как решить ее ?
Создалось несколько файлов, но они не рабочие. 

2022-03-05_00-49-08.png

2022-03-05_01-21-17.png

2022-03-05_01-25-06.png

Link to comment
Share on other sites

  • 0
17 часов назад, Kolesnikov сказал:

Не ужели проблема в этом ?
https://help.zerossl.com/hc/en-us/articles/360060119833-Restricted-Countries

 

По вполне понятным причинам мне не хочется, на своей работающей железке, проверять в этом ли дело. :)

Инструкция была написана на основании моих личных экспериментов. Если скрипт выдаёт какую-то ошибку и не даёт ожидаемого результата, значит либо нарушена описанная в инструкции последовательность, либо не соблюдена рекомендация, либо "с той стороны" сунули очередную палку в колесо и надо читать логи, искать решение. Хуже, если для РФ обрубили сервис. Тогда возможно следовало бы давно задуматься о подобном отечественном сервисе.

Edited by sotaka
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...