- Основные преимущества
- Чтобы добавить новый acme-клиент или проект
- Устанавливаем официальный клиент Let’s Encrypt
- Настраиваем механизм автоматического обновления сертификатов
- PROFIT!
- Acmev1 и acmev2
- Bash
- C
- C
- Clojure
- D
- Domino
- Docker
- Go
- Haproxy
- Java
- Kubernetes
- Lua
- Microsoft azure
- Nginx
- Node.js
- Openshift
- Perl
- Php
- Python
- Ruby
- Rust
- Windows / iis
- Server
- Библиотеки
- 4d
- C
- D
- Delphi
- Go
- Java
- .net
- Node.js
- Perl
- Php
- Python
- Ruby
- Rust
- Проекты интеграции с let’s encrypt
- Error: letsencrypt challenge request 429
- Getting help
- Nginx
- Obtaining and renewing let’s encrypt ssl certificate
- Without shell access
- Дополнительные настройки
- Подготовка
- Получение бесплатного сертификата let’s encrypt для iis | официальный сайт группы компаний небезit
- Программная реализация
- Продление сертификатов
- Создание и поверка собственных сертификатов
- Устанавливаем ssl сертификат
- Устанавливаем ssl сертификат let’s encrypt (инструкция)
- Шаг 2: создание сертификата
- Заключение
Основные преимущества
бесплатно:
любой владелец сайта (в частности, доменного имени) может получить и установить доверенный TLS-сертификат Let’s Encrypt (TLS — наследник SSL);
автоматизация:
все функции установки, конфигурации и обновления проводятся в автоматическом режиме;
безопасность:
все методы шифрования Let’s Encrypt отвечают текущим стандартам;
прозрачность:
публичная доступность информации о выпуске и отзыве каждого сертификата для любого желающего;
свободно:
будет использован принцип open standard для протоколов взаимодействия с CA (certificate authority).
Чтобы добавить новый acme-клиент или проект
Если в нашем списке вы не нашли какой-либо ACME-клиент или проект интеграции с Let’s Encrypt, пожалуйста,
создайте pull request в наш репозиторий сайта на GitHub,
в котором обновляется файл data/clients.json.
Перед отправкой pull request-а, пожалуйста, убедитесь, что:
- Клиент соблюдает политику Let’s Encrypt в отношении товарных знаков.
- Клиент работает не в браузере, и поддерживает автоматическое обновление сертификатов.
- В вашем коммите вы добавили информацию о новом клиенте в конец соответствующего раздела
(не забудьте про раздел “ACME v2-совместимые клиенты”!). - В вашем коммите вы обновили дату в поле
lastmod
, в начале файлаdata/clients.json
.
Устанавливаем официальный клиент Let’s Encrypt
Удобнее всего это сделать из дерева портов системы.
Настраиваем механизм автоматического обновления сертификатов
Все сертификаты, выдаваемые Let’s Encrypt имеют срок действия в 90 дней и это его второй относительный минус. Столь короткий срок, равно как и отсутствие возможности использования wildcard, обусловлены заботой о повышении уровня безопасности сертифицируемых доменов.
Обновление всей базы полученых SSL сертификатов производится простой командой.
PROFIT!
Статья была полезной? Тогда прошу не стесняться и поддерживать деньгами через PayPal или Яндекс.Деньги.
Acmev1 и acmev2
Let’s Encrypt поддерживает ACMEv2 API, совместимый с финальной версией стандарта ACME.
Мы планируем постепенно отказываться от устаревшего ACMEv1 API
в 2020-2021 г. Все реализации ACME-клиента в данном списке поддерживают ACMEv2.
Bash
C
C
Clojure
D
Domino
Docker
Go
Haproxy
Java
Kubernetes
Lua
Microsoft azure
Nginx
Node.js
Openshift
Perl
Php
Python
Ruby
Rust
Windows / iis
Server
Библиотеки
4d
C
D
Delphi
Go
Java
.net
Node.js
Perl
Php
Python
Ruby
Rust
Проекты интеграции с let’s encrypt
Error: letsencrypt challenge request 429
- Попробуйте удалить домен из панели VestaCP и добавить его снова, после чего повторить попытку выпуска сертификата.
- Повторите попытку выпуска сертификата через 1 час.
Getting help
If you have questions about selecting an ACME client, or about using a particular client, or anything else related to Let’s Encrypt, please try our helpful community forums.
Nginx
Nginx – второй по популярности веб-сервер (и первый среди продвинутых пользователей) предполагает несколько иной подход к настройке. Для каждого виртуального хоста в секцию server следует добавить блок:
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
root /var/www/letsencrypt;
}
location = /.well-known/acme-challenge/ {
return 404;
}
Если вы настраивали сервер по нашей инструкции, то мы рекомендуем вынести указанный блок в отдельный шаблон, например, /etc/nginx/templates/letsencrypt.conf и впоследствии подключать в конфигурацию виртуального хоста именно его и в общих чертах это должно выглядеть так:
Obtaining and renewing let’s encrypt ssl certificate
Не так давно в промышленную эксплуатацию был запущен центр сертификации Let’s Encrypt.
От всех прочих провайдеров SSL сертификатов его отличает две главные особенности.
Во-первых, Let’s Encrypt позволяет получить (и в ряде случаев даже установить) полученный сертификат в вашу систему в автоматическом режиме, а, во-вторых, сделать это совершенно бесплатно.
Сочетание этих двух факторов даёт возможность легко получить, быстро установить и забыть об обновлении полученного (одного или нескольких) SSL сертификатов в будущем.
Итак, небольшой how-to который был подготовлен на базе настройки этого самого блога.
Without shell access
The best way to use Let’s Encrypt without shell access is by using built-in support
from your hosting provider. If your hosting provider offers Let’s Encrypt
support, they can request a free certificate on your behalf, install it, and
keep it up-to-date automatically.
Check our list of hosting providers
to see if yours is on it. If so, follow their documentation to set up your
Let’s Encrypt certificate.
If your hosting provider does not support Let’s Encrypt, you can contact them to
request support. We do our best to make it very easy to add Let’s Encrypt
support, and providers are often happy to hear suggestions from customers!
Дополнительные настройки
Вы можете настроить почту для уведомлений.
Как нам подсказывают, нужно ручками подправить файл settings.config.
Подготовка
LetsEncrypt-Win-Simple берём здесь:
Получение бесплатного сертификата let’s encrypt для iis | официальный сайт группы компаний небезit
SSL-сертификация сайтов с каждым днем вызывает все большую головную боль для веб-разработчиков и владельцев сайтов. Сперва Google пригрозились худшим ранжированием сайтов не имеющих защищенное соединение (HTTPS), многие веб-разработчики установили бесплатные SSL-сертификаты от StartCom. Однако с выходом Mozilla Firefox версии 51.0.1 и Google Chrome версии 56 сертификатам WoSign и StartCom доверия больше нет. Что ж, тогда мы обратили внимание на Let’s Encrypt. Почему ранее мы как и многие другие веб-разработчики обходили стороной этот вариант, так это из-за маленького срока действия сертификата – 3 месяца. То есть через каждые 3 месяца сертификат подлежит обновлению, а лучше, если это делать каждые 60 дней.
Инструкций как сделать сертификат на Let’s Encrypt в ОС Linux много, поэтому затруднений это вызвать не должно. Однако как это сделать для сайтов работающих на ОС Windows с IIS оказалось найти не так просто и не так подробно как это хотелось бы. Поэтому была создана эта инструкция.
Как это сделать используя только Windows, можно посмотреть здесь:
Но нас это также не порадовало, т.к требуется установка MS Visual Studio, что как-то совсем не по феншую.
Выход конечно не очень тривиальный, но для нас было самое то! Делаем сертификат для Windows из под Linux!
Потребуется установить CertBot. Для этого скачиваем его:
wget https://dl.eff.org/certbot-auto
Даём права на запуск:
chmod a x certbot-auto
и запускаем для получения сертификата в ручном режиме:
./certbot-auto certonly –authenticator manual
Скрипт запросит пароль и возможно доустановит дополнительные пакеты, от которых он зависим, в нашем случае это были mod_ssl, python-tools и python2-virtualenv:
Далее CertBot попросит вашу электронную почту для восстановления доступа в будущем:
Спросит согласны ли вы с их условиями предоставления услуг здесь: https://my-sertif.ru/documents/LE-SA-v1.1.1-August-1-2021.pdf, если да, то отвечаем “A”:
Затем спросят могут ли они отправить вам информацию о своей работе по защите данных, если согласны – отвечаем Y:
В следующем шаге наконец-то вводим наше доменное имя:
CertBot спросит может ли он сохранить ваш IP адрес в логах Let’s Encrypt:
Теперь начинается самое интересное, нам нужно подтвердить владение доменом, для этого нужно будет сделать некоторые изменения в настройках IIS, а именно разрешить отображение файлов не имеющих расширение. Для этого идем в IIS раздел “Типы MIME”:
Теперь нам нужно добавить свой тип, для этого в правой колонке нужно нажать на “Добавить…”:
Откроется окно где нам следует ввести следующее:
В расширение файла вводим точку, а в “Тип MIME” вводим “text/html”. Теперь мы можем проходить проверку Let’s Encrypt на владение доменом.
Возвращаемся к командной строке в Linux и после шага на разрешение использования нашего IP-адреса в логах Let’s Encrypt мы видим, что система просит нас о создании дополнительных директорий и файла в корневой директории сайта:
Создаем в корневой директории сайта папку “.well-known”, а в ней папку “acme-challenge” и уже в последней файл с указанными именем и содержанием.
После того как все будет готово к проверке в консоли Linux жмем клавишу Enter и, если вы все правильно сделали в директории “/etc/letsencrypt/live/<имя домена>” будут находится сертификаты:
- cert.pem – сертификат сервера, используется для Apache (SSLCertificateFile);
- chain.pem – сертификат цепочки, используется для Apache (SSLCertificateChainFile);
- fullchain.pem – используется для соединения cert.pem и chain.pem, в Nginx в параметре ssl_certificate;
- privkey.pem – приватный ключ для сертификата, используется для Apache (SSLCertificateKeyFile) и Nginx в параметре ssl_certificate_key.
Осталось из полученных от Let’s Encrypt файлов получить сертификат в легитимном виде для MS Windows. Идем в консоль с правами ROOT (для этого испольщуем команду “su”) и переходим в директорию “/etc/letsencrypt/live/<имя домена>” и запускаем в консоли OpenSSL:
openssl
конвертируем сертификаты в нужный нам pfx-формат:
pkcs12 -inkey privkey.pem -in fullchain.pem -export -out yourdomain.pfx
Система запросит ввод и подтверждение пароля:
OpenSSL нам больше не нужен, поэтому выходим из него с помощью команды “quit”. Копируем pfx-сертификат без сохранения атрибутов в домашнюю директорию, чтобы мы смогли с ним работать без root’а:
cp –no-preserve=all yourdomain.pfx /home/<имя пользователя>/
Теперь мы можем копировать полученный сертификат на машину с Windows любым удобным для вас способом.
Для его установки в Диспетчере служб IIS идем в раздел “Сертификаты сервера” и в правой колонке жмём на “Испортировать…”, где в открывшемся окне указываем файл сертификата и пароль, заданный в консоле Linux во время конвертирования сертификата. В результате ваш сертификат должен оказаться в списке “Сертификаты сервера”:
Не забываем зайти в привязки узла и выбрать в https привязке узла новый сертификат.
После чего перезагружаем сервер IIS и радуемся результату!
P.S. Для обновления сертификата на Linux машине, где сертификат генерировался ранее следует выполнить команду:
./certbot-auto renew
после чего вновь их нужно будет конвертировать в PFX-формат и импортировать в IIS.
Программная реализация
Центр Сертификации выдаёт сертификаты, которые генерируются на АСМЕ сервере по протоколу Boulder, написанные на языке GO (доступный в исходниках под лицензией MPL2).
Данный сервер предоставляет RESTful-протокол, который функционирует через канал с TLS шифрованием.
Продление сертификатов
После того, как все сертификаты получены и настроены сайты и службы их использующие встает вопрос об их продлении. Мы помним, что срок действия сертификата – 90 дней, поэтому если их много и получены они в разное время, то вручную следить за всем этим хозяйством будет весьма и весьма проблематично.
Создание и поверка собственных сертификатов
Любой может выпустить собственный сертификат без обращения к УЦ. Единственное различие будет в том, что выпущенные вами сертификаты не будут приниматься кем-либо ещё. Для локальной разработки этого достаточно.
Простейший способ сгенерировать закрытый ключ и самоподписанный сертификат для localhost – выполнить следующую команду из пакета openssl:
openssl req -x509 -out localhost.crt -keyout localhost.key
-newkey rsa:2048 -nodes -sha256
-subj '/CN=localhost' -extensions EXT -config <(
printf "[dn]nCN=localhostn[req]ndistinguished_name = dnn[EXT]nsubjectAltName=DNS:localhostnkeyUsage=digitalSignaturenextendedKeyUsage=serverAuth")
Вы можете сконфигурировать локальный web-сервер, используя файлы localhost.crt и localhost.key, добавив localhost.crt в список доверенных корневых сертификатов.
Если вам требуется чуть больше реализма в сертификатах для локальной разработки, попробуйте minica для создания собственного корневого сертификата, и выпуска конечных сертификатов, подписанных корневым. В итоге вы будете импортировать корневой сертификат вместо самоподписанных конечных сертификатов.
Также, вы можете использовать доменное имя с точками внутри (например, www.localhost), добавив в файл /etc/hosts как алиас адреса 127.0.0.1. Этот подход чуть изменит способ обработки браузерами хранилища для cookie.
Устанавливаем ssl сертификат
Запускаем wacs.exe под администратором.
Для начала сгенерируем простой сертификат. Для этого выбираем Create new certificate, N. Нас спрашивают, какой сертификат делаем.
Для тестирования генерируем простой сертификат без псевдонимов (для установки сертификата с псевдонимами выберите 2). Пишем 1. Нам показывают список всех доменов, забинденных в IIS.
Устанавливаем ssl сертификат let’s encrypt (инструкция)
Рассмотрим использование сертификата применительно к серверам , используемым на нашем хостинге.
Подавляющее большинство наших серверов используют версию Plesk 12.5 где данный модуль уже включён в дистрибутив Plesk 12.5 и установка его проста и удобна. Достаточно зайти в панель плеск в раздел «Сайты и домены », кликнуть на модуль Let’s Encrypt,
выбрать нужные опции и после нажатия кнопки «Установить», установка произойдёт менее чем за минуту.
Так как данный сертификат рассчитан на срок не более 90 дней, то в панели плеск создана соответствующая задача cron в разделе Инструменты и настройки – Планировщик задач
Стоит заметить, что существуют некоторые ограничения на генерацию сертификата:
- дублирующие сертификаты — не более 5 в неделю;
- количество попыток генерации сертификата не более 5 раз в час.
Шаг 2: создание сертификата
Откройте командную строку (cmd) от имени администратора и поочерёдно введите следующие команды:
- Выполните
C:wacswacs.exe
. - Далее выберите:
- Укажите ваше доменное имя и два раза нажмите Enter для подтверждения.
- Затем последовательно выберите:
- Укажите папку для сохранения сертификатов
C:wacscrt
. - После этого выберите:
- Укажите адрес электронной почты для уведомлений об ошибках.
- На дополнительные вопросы отвечайте следующим образом:
Заключение
Подводя итоги, можно сказать, что Центр Сертификации Let’s Encrypt достаточно успешный проект, популярность которого растет с каждым годом среди пользователей сети.
И если вам нужен простой сертификат для одного домена, вы обладаете соответствующими навыками администрирования, а также если нет необходимости в SSL с проверкой компании (OV- organization validation) или наличие зеленой адресной строки и указания названия компании в сертификате, то данный сертификат можно использовать.
Тем не менее, мы рекомендуем крупным компаниям, интернет-магазинам, банкам и другим e-commerce проектам устанавливать коммерческие SSL – сертификаты от известных Центров сертификации, таких как, например, GlobalSign, Comodo.Так вы заручитесь доверием пользователей и покажете, что вы серьезная компания, которая заботится о безопасности данных клиентов.