Arabezar Posted July 21, 2020 Share #26 Posted July 21, 2020 Привет всем! Сделал хук на проверку домена (DNS API) для ACME-клиента acme.sh Если у Вас есть желание потестировать - вэлкам. Процедуру описал на англоязычном форуме. Жду комментариев. Quote Link to comment Share on other sites More sharing options...
0 -iliya- Posted August 14, 2021 Share #27 Posted August 14, 2021 (edited) все элементарно - нужен хотя бы 80 открыть или 443, остальные не работают DSM по умолчанию если нет web сервера 80 переводит на свой 5000 а 443 на 5001. Ну и соответственно не обязательно открывать порт на порт например у меня на роутере открыт 21 порт ведущий на 24 DSM и тд Edited August 14, 2021 by -iliya- Quote Link to comment Share on other sites More sharing options...
0 sotaka Posted August 15, 2021 Share #28 Posted August 15, 2021 (edited) Попытался. Получил вот такое, очень информативное сообщение. По прежнему жду проверку решения с acme.sh. Edited August 15, 2021 by sotaka Quote Link to comment Share on other sites More sharing options...
0 -iliya- Posted August 16, 2021 Share #29 Posted August 16, 2021 (edited) В 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 August 16, 2021 by -iliya- Quote Link to comment Share on other sites More sharing options...
0 Arabezar Posted September 10, 2021 Author Share #30 Posted September 10, 2021 (edited) 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 September 10, 2021 by Arabezar Quote Link to comment Share on other sites More sharing options...
0 sotaka Posted September 10, 2021 Share #31 Posted September 10, 2021 12 часа назад, Arabezar сказал: Как и говорил, всё нормально обновилось, но предварительно пришлось обновить скрипт из-за 2FA (двухфакторной авторизации). В точку! Именно ради wildcard! Иначе бы не заморачивался. Хм... У меня 6 виртуальных хостов на WebStation (и это не предел)… и все некоммерческие… и это не считая опубликованных стандартных приложений. Пруф будет? Я не разобрался что ему нужно в скрипте. У меня даже новые получить на получилось. На работающем официальном девайсе скрипт вроде отрабатывает, по логам. но почему-то не производит замену сертификата: его дата не меняется во вкладке "Безопасность". В логе ошибок нет вообще, как ни странно. Ну с этим думаю подождать, а вот со своим домашним - затык, пришлось делать вручную. Quote Link to comment Share on other sites More sharing options...
0 Arabezar Posted November 4, 2021 Author Share #32 Posted November 4, 2021 On 9/10/2021 at 3:56 PM, sotaka said: Пруф будет? Я не разобрался что ему нужно в скрипте. У меня даже новые получить на получилось. На работающем официальном девайсе скрипт вроде отрабатывает, по логам. но почему-то не производит замену сертификата: его дата не меняется во вкладке "Безопасность". В логе ошибок нет вообще, как ни странно. Ну с этим думаю подождать, а вот со своим домашним - затык, пришлось делать вручную. Ок, давайте разбираться. Пункт инструкции «3. Updating cert» работает? Я бы проверял работу этого пункта в терминале, там сразу видно, что пошло не так. 1 Quote Link to comment Share on other sites More sharing options...
0 sotaka Posted November 5, 2021 Share #33 Posted November 5, 2021 (edited) 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 November 5, 2021 by sotaka Quote Link to comment Share on other sites More sharing options...
0 sotaka Posted November 5, 2021 Share #34 Posted November 5, 2021 (edited) Наткнулся на ещё один мануал по acme, отпишусь что вышло. UPD. Нашёл ошибки в своём скрипте, обновил и конкретизировал для себя неточности мануала. В ручном режиме всё заработало. Посмотрю как сработает скрипт в автоматическом режиме, отпишусь на днях. Edited November 5, 2021 by sotaka Quote Link to comment Share on other sites More sharing options...
0 Arabezar Posted November 5, 2021 Author Share #35 Posted November 5, 2021 (edited) 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 November 5, 2021 by Arabezar Quote Link to comment Share on other sites More sharing options...
0 sotaka Posted November 5, 2021 Share #36 Posted November 5, 2021 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 по расписанию. А пока проверяю эти свои шаги на другой железке. Quote Link to comment Share on other sites More sharing options...
0 Arabezar Posted November 5, 2021 Author Share #37 Posted November 5, 2021 1 hour ago, sotaka said: Помеченное красным надо убрать Также надо убрать --dns 47 minutes ago, sotaka said: Вроде бы ключ остаётся постоянным и при обновлении сертификата его менять не нужно, так что... на моей железке обновление сертификата сработало вручную и я жду отработки скрипта --renew по расписанию. Мне кажется, текстовый ключ меняется. Ждать придётся 2 месяца по умолчанию (60 дней, если точнее))) Для мгновенного перевыпуска требуется ключ --force Quote Link to comment Share on other sites More sharing options...
0 sotaka Posted November 6, 2021 Share #38 Posted November 6, 2021 В общем скрипт авто-продления отработал ок, я проверил на заводском NAS и по этой же методике получил сертификат ещё на одной ХРени. На счёт того что ключ может меняться - будем посмотреть. Прилагаю инструкцию, может надо кому. Просьба маякнуть если ошибку там увидите или неточность. Обновление_сертификатов_SSL_06112021.pdf Quote Link to comment Share on other sites More sharing options...
0 sotaka Posted November 7, 2021 Share #39 Posted November 7, 2021 Обновление_сертификатов_SSL_07112021.pdf Quote Link to comment Share on other sites More sharing options...
0 vovel2 Posted December 17, 2021 Share #40 Posted December 17, 2021 Обновились сертификаты по 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 появилось Quote Link to comment Share on other sites More sharing options...
0 sotaka Posted January 23, 2022 Share #41 Posted January 23, 2022 Привет всем. Столкнулся с тем что скрипт не может обновить запись сертификата автоматически. Вдобавок, мой провайдер DNS не имеет API или не рассказывает о нём. Выкладываю переделанную инструкцию для ручного обновления записи сертификата. Обновление_сертификатов_SSL_вручную_23012022.pdf 1 Quote Link to comment Share on other sites More sharing options...
0 Kolesnikov Posted March 4, 2022 Share #42 Posted March 4, 2022 (edited) В 23.01.2022 в 21:23, sotaka сказал: Привет всем. Столкнулся с тем что скрипт не может обновить запись сертификата автоматически. Вдобавок, мой провайдер DNS не имеет API или не рассказывает о нём. Выкладываю переделанную инструкцию для ручного обновления записи сертификата. Обновление_сертификатов_SSL_вручную_23012022.pdf 1 \u041c\u0431 · 16 downloads Здравствуйте, хочу повторить Ваш метод, но уже на первом этапе, с центром пакетов, выводит ошибку. Подскажите, пожалуйста, как ее можно решить )) DSM 6.2.3-25426 Update 3 Edited March 4, 2022 by Kolesnikov Quote Link to comment Share on other sites More sharing options...
0 XPEH Posted March 4, 2022 Share #43 Posted March 4, 2022 # 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 Quote Link to comment Share on other sites More sharing options...
0 Kolesnikov Posted March 4, 2022 Share #44 Posted March 4, 2022 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 Подскажите, пожалуйста, что делать ? Quote Link to comment Share on other sites More sharing options...
0 XPEH Posted March 4, 2022 Share #45 Posted March 4, 2022 Очевидно это не первая попытка, при первой переименование .crt в .bak уже произошло. Пробуйте вторую команду для скачивания нового сертификата. посмотреть список файлов можно командой ls ls /etc/ssl/certs/ длинный список или ls /etc/ssl/certs/ca-* Quote Link to comment Share on other sites More sharing options...
0 Kolesnikov Posted March 4, 2022 Share #46 Posted March 4, 2022 5 минут назад, XPEH сказал: Очевидно это не первая попытка, при первой переименование .crt в .bak уже произошло. Пробуйте вторую команду для скачивания нового сертификата. посмотреть список файлов можно командой ls ls /etc/ssl/certs/ длинный список или ls /etc/ssl/certs/ca-* Супер, ввел команды наоборот - все приняло. Потом перезагрузился и начал добавлять источники пакетов. Спасибо Вам большое за ответ! Quote Link to comment Share on other sites More sharing options...
0 XPEH Posted March 4, 2022 Share #47 Posted March 4, 2022 Пожалуйста. Одним из первых пакетов скачайте mc (Midnight Commander) или SynoClI File Tools, в который он включен. Из ssh команда mc вызовет оболочку по мотивам norton commander, будет легче ориентироваться в файловой системе, более наглядно и встроенный редактор файлов тоже пригодится. Еще пара полезных источников 1 Quote Link to comment Share on other sites More sharing options...
0 Kolesnikov Posted March 4, 2022 Share #48 Posted March 4, 2022 6 минут назад, XPEH сказал: Пожалуйста. Одним из первых пакетов скачайте mc (Midnight Commander) или CLI File Tools, в который он включен. Из ssh команда mc вызовет оболочку по мотивам norton commander, будет легче ориентироваться в файловой системе, более наглядно и встроенный редактор файлов тоже пригодится. Спасибо за совет, начал по списку ) Quote Link to comment Share on other sites More sharing options...
0 Kolesnikov Posted March 4, 2022 Share #49 Posted March 4, 2022 В 23.01.2022 в 21:23, sotaka сказал: Привет всем. Столкнулся с тем что скрипт не может обновить запись сертификата автоматически. Вдобавок, мой провайдер DNS не имеет API или не рассказывает о нём. Выкладываю переделанную инструкцию для ручного обновления записи сертификата. Обновление_сертификатов_SSL_вручную_23012022.pdf 1 \u041c\u0431 · 16 downloads Спасибо Вам за инструкцию! На последнем этапе вышла ошибка. Не подскажите как решить ее ? Создалось несколько файлов, но они не рабочие. Quote Link to comment Share on other sites More sharing options...
0 Kolesnikov Posted March 4, 2022 Share #50 Posted March 4, 2022 Не ужели проблема в этом ? https://help.zerossl.com/hc/en-us/articles/360060119833-Restricted-Countries Quote Link to comment Share on other sites More sharing options...
0 sotaka Posted March 5, 2022 Share #51 Posted March 5, 2022 (edited) 17 часов назад, Kolesnikov сказал: Не ужели проблема в этом ? https://help.zerossl.com/hc/en-us/articles/360060119833-Restricted-Countries По вполне понятным причинам мне не хочется, на своей работающей железке, проверять в этом ли дело. Инструкция была написана на основании моих личных экспериментов. Если скрипт выдаёт какую-то ошибку и не даёт ожидаемого результата, значит либо нарушена описанная в инструкции последовательность, либо не соблюдена рекомендация, либо "с той стороны" сунули очередную палку в колесо и надо читать логи, искать решение. Хуже, если для РФ обрубили сервис. Тогда возможно следовало бы давно задуматься о подобном отечественном сервисе. Edited March 5, 2022 by sotaka Quote Link to comment Share on other sites More sharing options...
Question
Arabezar
Привет всем!
Сделал хук на проверку домена (DNS API) для ACME-клиента acme.sh
Если у Вас есть желание потестировать - вэлкам.
Процедуру описал на англоязычном форуме.
Жду комментариев.
Link to comment
Share on other sites
55 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.