nginx acme бесплатный сертификат

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модератор: SLEDopit

Ответить
Аватара пользователя
bars
Сообщения: 930
ОС: BSD/LINUX
Контактная информация:

nginx acme бесплатный сертификат

Сообщение bars »

Добрый день.
Пока тестирую acme для выдачи бесплатного сертификата letsencrypt.
До этого пользовался certbot, но они жестко переходят на использования rust, мне это не нравится.

Есть два вопроса, как создать сертификат и как продлять его в системе.

Система FreeBSD.
nginx + acme (letsencrypt).

Установил из портов security/acme.sh.
Пытаюсь создать сертификат для тестового домена.

Код: Выделить всё

acme.sh --issue -d dom.ru -d www.dom.ru -w /usr/local/www/cert --server letsencrypt
Создались сертификаты с ключем.

Код: Выделить всё

-----END CERTIFICATE-----
[Wed Oct 12 16:54:54 +03 2022] Your cert is in: /var/db/acme/certs/dom.ru/dom.ru.cer
[Wed Oct 12 16:54:54 +03 2022] Your cert key is in: /var/db/acme/certs/dom.ru/dom.ru.key
[Wed Oct 12 16:54:54 +03 2022] The intermediate CA cert is in: /var/db/acme/certs/dom.ru/ca.cer
[Wed Oct 12 16:54:54 +03 2022] And the full chain certs is there: /var/db/acme/certs/dom.ru/fullchain.cer
Начинаю копировать сертификаты в nginx.

Код: Выделить всё

acme.sh --install-cert -d dom.ru --cert-file /etc/nginx/acme.sh/dom.ru/dom.ru.pem --key-file /etc/nginx/acme.sh/dom.ru/key.pem --fullchain-file /etc/nginx/acme.sh/dom.ru/fullchain.pem
[Wed Oct 12 17:03:46 +03 2022] Installing cert to: /etc/nginx/acme.sh/dom.ru/dom.ru.pem
[Wed Oct 12 17:03:46 +03 2022] Installing key to: /etc/nginx/acme.sh/dom.ru/key.pem
[Wed Oct 12 17:03:46 +03 2022] Installing full chain to: /etc/nginx/acme.sh/dom.ru/fullchain.pem
Проверяю.

Код: Выделить всё

nginx -t
nginx: [emerg] invalid number of arguments in "ssl_certificate" directive in /usr/local/etc/nginx/sites-enabled/dom.ru:24
nginx: configuration file /usr/local/etc/nginx/nginx.conf test failed
В nginx виртуал хоста dom.ru.

Код: Выделить всё

ssl_certificate /etc/nginx/acme.sh/dom.ru/dom.ru.pem
ssl_certificate_key /etc/nginx/acme.sh/dom.ru/key.pem
ssl_trusted_certificate /etc/nginx/acme.sh/dom.ru/fullchain.pem
ssl_dhparam /usr/local/etc/nginx/dhparam.pem;
Подскажите пожалуйста, что я делаю не так?
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 930
ОС: BSD/LINUX
Контактная информация:

Re: nginx acme бесплатный сертификат

Сообщение bars »

Косяк наше, в конфиге виртуал хоста параметры небыли закрыты ; )))

Код: Выделить всё

ssl_certificate /etc/nginx/acme.sh/dom.ru/dom.ru.pem;
Другой вопрос, как продлять подобный сертификат?
Добавлено (18:06):
Хмм, сейчас проверяю сертификат через сервис https://www.leaderssl.ru/tools/ssl_checker
Сервис пишет вот что.

Код: Выделить всё

Невозможно получить сертификат локального эмитента. Возможно, сертификат сайта или промежуточные сертификаты установлены некорректно.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 930
ОС: BSD/LINUX
Контактная информация:

Re: nginx acme бесплатный сертификат

Сообщение bars »

актуально.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Aliech
Сообщения: 954
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened
Контактная информация:

Re: nginx acme бесплатный сертификат

Сообщение Aliech »

В составе openbsd есть хорошая реализация acme-клиента. Если что.

В конфиге nginx'а:
ssl_certificate - тут должен быть путь до pem'а с полной цепочкой (fullchain)
ssl_certificate_key - путь до ключа
ssl_trusted_certificate - не нужен
С уважением,
Павел Алиев
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 930
ОС: BSD/LINUX
Контактная информация:

Re: nginx acme бесплатный сертификат

Сообщение bars »

Aliech писал:
13.10.2022 17:25
В конфиге nginx'а:
ssl_certificate - тут должен быть путь до pem'а с полной цепочкой (fullchain)
ssl_certificate_key - путь до ключа
ssl_trusted_certificate - не нужен
А почему не нужен ssl_trusted_certificate - не нужен ?

Код: Выделить всё

ssl_certificate - тут должен быть путь до pem'а с полной цепочкой (fullchain)
Как то не удобно в ручную все это делать, я думал скрипт acme.sh сам все сделаем, мне только в конфиг nginx внести нужные параметры.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Aliech
Сообщения: 954
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened
Контактная информация:

Re: nginx acme бесплатный сертификат

Сообщение Aliech »

bars писал:
13.10.2022 21:13

Код: Выделить всё

ssl_certificate - тут должен быть путь до pem'а с полной цепочкой (fullchain)
Как то не удобно в ручную все это делать, я думал скрипт acme.sh сам все сделаем, мне только в конфиг nginx внести нужные параметры.
А он и сделал.

Код: Выделить всё

[Wed Oct 12 17:03:46 +03 2022] Installing full chain to: /etc/nginx/acme.sh/dom.ru/fullchain.pem
Просто вы не поняли, как это применить, и некорректно настроили nginx.
bars писал:
13.10.2022 21:13
А почему не нужен ssl_trusted_certificate - не нужен ?
Это путь до CA'шки, на случай, если надо проверять сертификаты клиентов на принадлежность к этой CA'шке. Вы же, я надеюсь, не аутентификацию пользователей пытаетесь сгородить, используя услуги Let's Encrypt?
С уважением,
Павел Алиев
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 930
ОС: BSD/LINUX
Контактная информация:

Re: nginx acme бесплатный сертификат

Сообщение bars »

Aliech писал:
13.10.2022 23:32
Это путь до CA'шки, на случай, если надо проверять сертификаты клиентов на принадлежность к этой CA'шке. Вы же, я надеюсь, не аутентификацию пользователей пытаетесь сгородить, используя услуги Let's Encrypt?
Спасибо за разъяснение.
Теперь заработало.
А как правильно делать продление acme.sh?
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Aliech
Сообщения: 954
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened
Контактная информация:

Re: nginx acme бесплатный сертификат

Сообщение Aliech »

bars писал:
14.10.2022 09:09
А как правильно делать продление acme.sh?
Я не пользуюсь acme.sh. Извиняйте.
С уважением,
Павел Алиев
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 930
ОС: BSD/LINUX
Контактная информация:

Re: nginx acme бесплатный сертификат

Сообщение bars »

Aliech писал:
13.10.2022 17:25
В конфиге nginx'а:
ssl_certificate - тут должен быть путь до pem'а с полной цепочкой (fullchain)
ssl_certificate_key - путь до ключа
ssl_trusted_certificate - не нужен
Еще такой вопрос, если используется OCSP stapling.

Код: Выделить всё

ssl_certificate /etc/nginx/acme.sh/dom.ru/fullchain.pem;
ssl_certificate_key /etc/nginx/acme.sh/dom.ru/key.pem;
#ssl_trusted_certificate /etc/nginx/acme.sh/dom.ru/fullchain.pem;
ssl_dhparam /usr/local/etc/nginx/dhparam.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 127.0.0.1;
resolver_timeout 3s;
То по моему нужно же, проверять цепочки доверия ответа OCSP с использованием корневого центра сертификации и промежуточных сертификатов?
Пункт ssl_trusted_certificate
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Aliech
Сообщения: 954
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened
Контактная информация:

Re: nginx acme бесплатный сертификат

Сообщение Aliech »

bars писал:
14.10.2022 10:04
То по моему нужно же, проверять цепочки доверия ответа OCSP с использованием корневого центра сертификации и промежуточных сертификатов?
Пункт ssl_trusted_certificate
Проверяет клиент. Не сервер.

Сервер проверяет, только если клиент пришёл со своим сертификатом, в целях аутентификации. Но это же ваш случай?)
С уважением,
Павел Алиев
Спасибо сказали:
Ответить