Win simple letsencrypt: sjkp/letsencrypt-win-simple: A Simple ACME Client for Windows
Установка бесплатного TLS/SSL сертификата Let’s Encrypt в IIS/RDS в Windows Server 2016/2012 R2
В этом обзоре мы расскажем об особенностях установки и привязки бесплатного TLS/SSL сертификата от Let’s Encrypt для сайта на веб сервере IIS, запущенного на Windows Server 2019/2016/2012 R2.
Let’s Encrypt и ACME клиенты для Windows
Наличие TLS/SSL сертификата у сайта позволяет защитить данные пользователей, передаваемые по сети от атак человек-посередине (man-in-the-middle) и гарантировать целостность переданных данных. Некоммерческий центр сертификации Let’s Encrypt позволяет в автоматическом режиме через API выпускать бесплатные криптографические TLS сертификаты X.509 для шифрования (HTTPS) . Выдаются только сертификаты для валидации доменов (domain validation), со сроком действия 90 дней (есть ограничение – 50 сертификатов для одного домена в неделю). Но вы можете автоматически перевыпускать SSL сертификат для своего сайта по расписанию.
API интерфейс, позволяющий автоматически выпускать сертификаты называется Automated Certificate Management Environment (ACME) API. Для Windows систем на данный момент имеется 3 самых популярных реализации клиента ACME API:
- Утилита Windows ACME Simple (WACS) – утилита командной строки для интерактивного выпуска сертификата и привязки его к определенному сайту на вашем веб сервере IIS;
- Модуль Powershell ACMESharp – библиотека Powershell с множеством команд для взаимодействия через ACME API с серверами Let’s Encrypt;
- Certify – графический менеджер SSL сертификатов для Windows, позволяет интерактивно управления сертификатами через ACME API.
Клиент WACS для установки TLS сертификата Let’s Encrypt в IIS на Windows Server
Самый простой способ получить SSL сертификат от Let’s Encrypt — воспользоваться консольной утилитой Windows ACME Simple (WACS) (ранее проект назывался LetsEncrypt-Win-Simple). Она представляет собой простой мастер, который позволяет выбрать один из сайтов, запущенных на IIS, и автоматически выпустить и привязать к нему SSL сертификат.
Итак, предположим у нас имеется веб сайт на IIS, развёрнутый под управлением Windows Server 2016. Наша задача, переключить его в HTTPS режим, установив SSL сертификат от Let’s Encrypt.
Скачайте последний релиз клиента WACS со страницы проекта на GitHub https://github.com/PKISharp/win-acme/releases (в моем случае это версия v2.0.10 – файл win-acme.v2.0.10.444.zip).
Распакуйте архив в каталог на сервере с IIS: c:\inetpub\letsencrypt
Откройте командную строку с правами администратора, перейдите в каталог c:\inetpub\ letsencrypt и запустите wacs.exe.
Запустится интерактивный мастер генерации сертификата Let’s Encrypt и привязки его к сайту IIS. Чтобы быстро создать новый сертификат выберите N: — Create new certificates (simple for IIS).
Затем нужно выбрать тип сертификата. В нашем примере нет необходимости использовать сертификат с псевдонимами (несколькими SAN — Subject Alternative Name), поэтому достаточно выбрать пункт 1. Single binding of an IIS site. Если вам нужен Wildcard-сертификат, выберите опцию 3.
Далее утилита выведет список сайтов, запущенных на сервере IIS и предложит выбрать сайт, для которого нужно создать и привязать новый SSL сертификат.
Укажите ваш email, на который будут отправляться уведомления о проблемах с обновлением сертификата сайта и другие о повешения (можно указать несколько email через запятую). Осталось согласится с условиями использования и Windows ACME Simple подключится к серверам Let’s Encrypt и попытается автоматически сгенерировать новый SSL сертификат для вашего сайта.
Процесс генерации и установки SSL сертификата Let’s Encrypt для IIS полностью автоматизирован.
По умолчанию выполняется валидация домена в режиме http-01 validation (SelfHosting). Для этого нужно, чтобы в DNS домена имелась запись, указывающая на ваш веб сервера. При запуске WACS в ручном режиме можно выбрать валидацию типа — 4 [http-01] Create temporary application in IIS (recommended). В этом случае на веб-сервере IIS будет создано небольшое приложение, через которое сервера Let’s Encrypt смогут провести валидацию.
Примечание. При выполнении TLS/HTTP проверки ваш сайт должен быть доступен снаружи по полному DNS имени по протоколам HTTP (80/TCP) и HTTPS (443/TCP).
Утилита WACS сохраняет закрытый ключ сертификата (*.pem), сам сертфикат и ряд других файлов в каталог C:\Users\%username%\AppData\Roaming\letsencrypt-win-simple. Затем она в фоновом режиме установит сгенерированный SSL сертификат Let’s Encrypt и привяжет его к вашему сайту IIS. Если на сайте уже установлен SSL сертификат (например, самоподписанный), он будет заменен новым.
В IIS Manager откройте меню Site Binding для вашего сайта и убедитесь, что для него используется сертификат, выданный Let’s Encrypt Authority X3.
В хранилище сертификатов компьютера сертификат Let’s Encrypt для IIS вы можете найти в разделе Web Hosting -> Certificates.
Windows ACME Simple создает новое правило в планировщике заданий Windows (win-acme-renew (acme-v02.api.letsencrypt.org)) для автоматического продления сертификата. Задание запускается каждый день, продление сертификата выполняется через 60 дней. Планировщик запускает команду:
C:\inetpub\letsencrypt\wacs.exe --renew --baseuri "https://acme-v02.api.letsencrypt.org"
Эту же команду вы можете использовать для ручного обновления сертфиката.
Перенаправление трафика IIS сайта с HTTP на HTTPS адрес
Чтобы перенаправить весь входящий HTTP трафик на HTTPS сайт, нужно установить модуль Microsoft URL Rewrite Module (https://www.iis.net/downloads/microsoft/url-rewrite), и убедиться, что в настройках сайта не включена опция обязательного использования SSL (Require SSL). Осталось настроить редирект в файле web.config:
<system.webServer>
<rewrite>
<rules>
<rule name="HTTP to HTTPS Redirect" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
Также вы можете настроить перенаправление трафика через URL Rewrite через графический интерфейс IIS Manager. Выберите Sites -> yoursitename -> URL Rewrite.
Создайте новое правило Add Rule -> Blank rule.
Укажите имя правила и измените значения параметров:
- Requested URL -> Matches the Pattern
- Using -> Regular Expressions
- Pattern -> (.*)
В блоке Conditions измените Logical Grouping -> Match All и нажмите Add. Укажите
- Condition input -> {HTTPS}
- Check if input string -> Matches the Pattern
- Pattern -> ^OFF$
Теперь в блоке Action выберите:
- Action Type -> Redirect
- Redirect URL -> https://{HTTP_HOST}/{R:1}
- Redirect type -> Permanent (301)
Откройте браузер и попробуйте открыть ваш сайт по HTTP адресу, вас должно автоматически перенаправить на HTTPS URL.
Использование сертификата Let’s Encrypt для Remote Desktop Services
Если вы используете для подключения внешних пользователей в корпоративную сеть шлюз Remote Desktop Gateway/ RD Web Access, вы можете использовать нормальный SSL сертификат Let’s Encrypt вместо обычного самоподписанного сертификата. Рассмотрим, как корректно установить сертификат Let’s Encrypt для зажиты служб Remote Desktop Services в Windows Server.
Если на Remote Desktop Gateway сервере поднята также роль RDSH, нужно запретить пользователям Read доступ к каталогу, в котором у вас хранится WACS (в моем примере это c:\inetpub\letsencrypt ) и к каталогу с сертификатами сертификат Let’s Encrypt (C:\ProgramData\win-acme).
Затем на сервере RDP GW, запускаете wacs.exe, как описано выше, и вы выбираете нужный сайт IIS (обычно, Default Web Site). Let’s Encrypt выдает вам новый сертификат, который устанавливается для веб-сайта и в планировщике появляется задание на автоматические обновление сертификата.
Вы можете вручную экспортировать данный сертификат и привязать его к нужным службам RDS через SSL binding. Но вам придется выполнять эти действия вручную каждые 60 дней при перевыпуске сертификата Let’s Encrypt.
Нам нужен скрипт, который бы сразу после получения (продления) сертификата Let’s Encrypt применял бы его для RD Gateway.
В проекте win-acme есть готовый PowerShell скрипт ImportRDGateway.ps1 (https://github.com/PKISharp/win-acme/tree/master/dist/Scripts), который позволяет установить выбранный SSL сертификат для служб Remote Desktop. Главный недостаток скрипта – приходится вручную указывать отпечаток нового сертификата:ImportRDGateway.ps1 <certThumbprint>
Для автоматического получения отпечатка сертификата с указанного сайта IIS используйте доработанный скрипт ImportRDGateway_Cert_From_IIS.ps1 (основан на стандартном ImportRDGateway.ps1).
Инструкция и модифицированный PowerShell скрипт присланы нашим читателем Антоном, за что посылаем ему лучи благодарности!
Вы можете запустить это скрипт вручную:
powershell -File ImportRDGateway_Cert_From_IIS.ps1
Если у вас RDS Gateway живет на стандартном IIS сайте «Default Web Site» с индексом 0, можете использовать скрипт без изменений.
Чтобы получить ID сайта в IIS, откройте консоль PowerShell и выполните:
Import-Module WebAdministration
Get-ChildItem IIS:Sites
Получите список вида:
В колонке ID указан индекс вашего сайта, отнимите от него единицу. Полученный индекс вашего сайта нужно указать вместо 0 в 27 строке скрипта PowerShell:
$NewCertThumbprint = (Get-ChildItem IIS:SSLBindings)[0].Thumbprint
Теперь откройте задание планировщика win-acme-renew (acme-v02.api.letsencrypt.org) и на вкладке Action добавьте новое задание, которое запускает скрипт ImportRDGateway_Cert_From_IIS.ps1 после обновления сертификата.
Чтобы не менять разрешения на выполнение скриптов PowerShell, вы можете вызывать скрипт командой:
PowerShell.exe -ExecutionPolicy Bypass -File c:\inetpub\letsencrypt\ImportRDGateway_Cert_From_IIS.ps1
Теперь скрипт привязки SSL сертификата к службам RDS будет выполнятся сразу после продления сертификата Let’s Encrypt. При этом автоматически перезапускается служба RD Gateway командой:
Restart-Service TSGateway
При перезапуске службы TSGateway все текущие сессии пользователей разрываются, поэтому желательно изменить периодичность запуска задания обновления сертфиката на 1 раз в 60 дней.
Также вы можете использовать бесплатные сертификаты Let’s Encrypt в Linux для веб сайтов на Nginx или apache.
Отметим, что сертификаты Let’s Encrypt в настоящий момент широко используются на сайтах многих крупных компаний и им доверяют все браузеры. Надеюсь, что судьба бесплатного центра сертификации Let’s Encrypt не постигнет участь WoSign и StartCom.
Установка TLS сертификата от Let’s Encrypt на веб сервер IIS
Установка TLS сертификата от Let’s Encrypt на веб сервер IIS.
В связи с недавними атаками шифровальщиков WannaCry, Petya и им подобных, многие компании, наконец, всерьез задумались об информационной безопасности.
Конечно, данная тема также подымается и на курсе: Администратор 1С!
А что? надо же когда-то начинать ).
И хоть сегодняшняя статья и не имеет прямого отношения к защите от выше представленных «шифровальщиков».
Но кто знает, где завтра вскроется очередная «дыра»?
Сегодня решил написать подробную статью о том, как бесплатно получить TLS сертификат безопасности от центра сертификации Let’s Encrypt, и установить его на веб сервере IIS.
Делать все это, мы будем на Windows Server 2016 Standard.
Let’s Encrypt установка на windows веб сервер IIS
О SSl сертификатах слышали многие, а вот о TLS стоит сказать два слова:
Протокол TLS (transport layer security) основан на протоколе SSL.
Вот здесь можно почитать подробно >>>
Сертификат способен надежно защитить, например 1С Предприятие от несанкционированного доступа! (Кто работает в 1С через ВЕБ).
Да, собственно это позволит защитить и все Ваши сервисы, сайты, которые раньше работали на обычном HTTP.
Сертификатам от организации Let’s Encrypt доверяют все браузеры, так как используется надежное шифрование SHA-256+RSA, к тому же сегодня многие известные компании используют сертификаты от Let’s Encrypt, (Facebook, Cisco, Chrome) посему можно сделать вывод, что этот центр сертификации не «сдуется» как это было с WoSign и StartCom.
Стоит отметить также, что еще в 2016-том, было выдано больше миллиона сертификатов.
Организация сегодня активно развивается.
Из минусов:
Сертификат выдается лишь на 90 дней, но его всегда можно быстро обновить, по факту использования данного сертификата, могу сказать, что с этим проблем нет никаких.
О сайтах:
С недавних пор Блог, а также и наш Интернет магазин, перешли на защищенный протокол https, используя сертификат TLS от Let’s Encrypt.
И причина перехода была не только в безопасности, но и угрозы от большинства веб обозревателей.
К примеру, если у Вас на сайте есть «форма входа или регистрации» то без https, браузеры будут говорить пользователю что «вход не безопасный», «Данные не шифруются» или будут выдавать другие подобные предостережения, которые конечно скажутся на доверии, конверсии и так далее.
Да что говорить, если даже GOOGLE, собирается понижать в поисковой выдаче сайты без https.
А дословно, «Приоритет будет отдан тем сайтам, что используют https».
Переход на https:
Совершить переход на https при помощи сертификатов от Let’s Encrypt на Linux не составит труда, в интернете уже есть сотни подробных инструкций.
Еще проще это сделать, если Вы используете ISPmanager. (Там есть готовый бесплатный модуль).
А вот если нужно, это сделать на Windows когда веб сервере IIS, перевести на https (Конечно с использованием бесплатного сертификата от Let’s Encrypt, то проблемы могут быть).
Толковых инструкций (где бы не нужно было использовать Linux или Visual Studio) не нашел, поэтому решил написать статью сам.
===========================
Шаг №1. Доменное имя.
У Вас должно быть доменное имя.
Если у Вас нет доменного имени, то, как получить его бесплатно на 12 мес. писал вот здесь.
Первым делом нужно привязать его к нашему статическому IP адресу.
Здесь это показано, иначе нужно делать у Вас на хостинге.
Шаг № 2. Пробросить порт.
Открыть и пробросить порт 80 и 443 на сервер где у Вас работает веб сервер IIS.
В моем случаи, это локальный IP адрес 192.168.128.58
(После успешной реализации 80-тый порт снова закроем).
Шаг № 3. Проверим доступность сайта
Проверяем, доступен ли сайт, по нашему доменному имени извне, (Opera с VPN Вам в этом поможет).
Если все хорошо, тогда приступаем к следующему шагу.
Шаг № 4. Запись в Hosts.
Теперь нужно сделать привязку к локальному localhost на сервере, где работает веб сервер IIS.
Открываем «C:\Windows\System32\drivers\etc\ hosts»
Открывать для редактирования этот файлик нужно от имени администратора (Например, через обычный блокнот.)
И внесем такую запись
127.0.0.1 sklad1c.cf
Сохраним наш hosts.
Шаг № 5. Привязка к домену на веб сервере IIS.
Нам также нужно сделать еще одну привязку на веб сервере IIS.
Это нужно для работы «клиента», которого мы скачаем чуть позже, чтоб он понимал, какими DNS именами мы располагаем и на какое имя делать сертификат.
Привязку делаем на 80 порт, а потом программа «клиент» сама создаст привязку на 443 порт.
Запускаем «IIS Manager».
Далее развернем компоненты и выбираем «Sites» -«Default Web Site», затем правый клик мышкой «Bindings…» или «Привязки».
Клик по кнопке «Edit» и в поле «Host name:» пропишем наш домен sklad1c.cf
Шаг № 6. «Клиент»
Теперь нам нужно скачать ту самую программу «клиент- letsencrypt-win-simple v1.9.3»
Вот прямая ссылка на github: https://github.com/Lone-Coder/letsencrypt-win-simple/releases
Она сделает всю работу по запросу, созданию и установке сертификата на наш веб сервер IIS.
После скачивания программы, распакуем архив и запустим ее.
Клик по «letsencrypt.exe». – запуск от имени администратора.
Программка имеет консольный интерфейс, но не волнуйтесь, нам для настройки потребуется лишь ввести свой email и несколько раз подтвердить действия.
Для начала введем email (любой).
Кликаем Enter и ждем следующего вопроса.
Кликаем по клавише “Y”.
И теперь наш “Клиент” должен найти DNS записи, наш домен на веб сервере IIS – sklad1c.cf
Ставим единицу (цифра соответствует строке домена, у меня лишь один – sklad1c.cf).
Кликаем по клавише “Enter”.
После чего набираемся терпения и ждем несколько минут 3 -5 -10 на получение и установку сертификата.
Как видно из скрина выше, все прошло успешно и мы получили сертификат!
(Было даже несколько “матюков” так как раньше я использовал самозаверяющийся сертификат).
Но это никак не повлияло на результат, сертификат от Let’s Encrypt успешно установлен!
Кликаем по клавише “N”, и на этом работа закончена.
Проверяем
И сам сертификат
“Контрольный” через Opera VPN
Финиш – проверка сертификата
Как видите все получилось, сертификат работает.
Уже в следующей статье покажу как 1С Предприятие будет работать на этом сертификате.
Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>
получение сертификата по шагам / Хабр
В данной статье будет описан реальный способ получения сертификата от Let’s Encrypt в ручном режиме для его дальнейшей установки на веб-сервер Windows (IIS/Microsoft Azure) или Linux (полностью ручной режим). Из-за отсутствия официального клиента под Windows для генерации сертификата будет использоваться дистрибутив Linux.
В первые дни открытия заявок на бета-тестирование и было принято решение записаться и вот недавно пришло письмо, которое сообщает о том, что теперь программа ACME сгенерирует валидный сертификат для нашего домена.
Далее мы решили опубликовать статью с пошаговой инструкцией процесса, чтобы к моменту релиза вы уже смогли оперативно создать и начать пользоваться своим сертификатом.
Как это работает
Полное описание процесса доступно по этой ссылке.
Важно лишь знать, что для подтверждения владения доменом и успешной генерации сертификата нужно будет иметь доступ к записям DNS или к серверу куда ссылается A-запись, что вполне логично.
Смысл программного набора Automated Certificate Management Environment (ACME) (написан на Python) в том, чтобы автоматизировать генерацию и установку сертификата в Linux-окружении.
Существует неофициальный Windows-клиент с открытыми исходными кодами, который может генерировать и устанавливать сертификаты на Windows IIS и Amazon Web Services, но у нас была задача получить ключи и установить их вручную. Предлагаю любому желающему написать статью по работе с ним.
Процесс по шагам
Внимание: эта инструкция учит создавать сертификат в ручном режиме, существуют и более простые способы автоматической генерации и обновления сертификатов. Надеюсь, что скоро их опишут на этом ресурсе.
[11/01/17] Новый клиент CertBot
Небольшое обновление статьи в 2017 году.
Теперь можно установить CertBot и получить сертификат в ручном режиме.
Краткая инструкция:
1. Скачиванием дистрибутив
wget https://dl.eff.org/certbot-auto
2. Установка прав на файл
chmod a+x certbot-auto
3. Запуск для получения сертификата в ручном режиме
./certbot-auto certonly --authenticator manual
4. Следуйте указаниям программы (подробнее смотрите в полной инструкции ниже с шага № 4).
Подробная инструкция (старый клиент — всё ещё работает)
Использовалась официальная инструкция.
Пользователи Linux могут использовать текст ниже как пример генерации сертификата в ручном режиме.
1. Запустите ваш любимый дистрибутив Linux (мы использовали Debian 8).
либо 2. Установите Git и выполните команды ниже:
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
или 2. Скачайте и распакуйте в папку данный архив и перейдите в эту папку
3. Запустите установку и генерацию с помощью
./letsencrypt-auto --agree-dev-preview --server \https://acme-v01.api.letsencrypt.org/directory -a manual auth
Вам будет предложено ввести электронную почту для восстановления в будущем.
Ключ -a manual позволит сгенерировать ключи в ручном режиме без их автоматической установки на веб-сервер.
4. Далее введите домены для которых вы хотите создать сертификаты
5. Подтвердите сохранение вашего адреса в логах Let’s Encrypt
6. Подтвердите владение доменом
В сентябре 2016 года произошли небольшие изменения в порядке получения сертификата. Спасибо toxi_roman за обновление.
Старый способ подтверждения с text/plain (не актуально по состоянию на октябрь 2016 г.)Это один из ответственных моментов в режиме ручной регистрации.
Обратите внимание: нас просят создать ответ на запрос, который возвращает Content-Type text/plain.
Такой ответ не пройдёт и подтверждение выдаст ошибку:
Нужно, чтобы было так:
Если у вас сервер на Windows (с поддержкой Razor Views, аналогично и с MVC), то самый простой способ создания правильного ответа:
а) создать папку .well-known и в ней папку acme-challenge
б) поместить туда файл [запрос].cshtml
в) в содержание этого файла добавить:@{Response.ContentType = "text/plain";Response.Charset = "";}здесь проверочный код
7. После успешной проверки, будут созданы следующие сертификаты в папке /etc/letsencrypt/live/[имя домена]:
privkey.pem — приватный ключ для сертификата
Используется Apache для SSLCertificateKeyFile и nginx для ssl_certificate_key.
cert.pem (сертификат сервера)
Используется Apache для SSLCertificateFile.
chain.pem (сертификат цепочки)
Он же используется Apache для SSLCertificateChainFile.
fullchain.pem (соединение chain.pem и cert.pem)
Он же используется nginx для ssl_certificate.
7. Теперь пришло время сконвертировать его в родной для Windows .pfx формат.
Перейдите в папку /etc/letsencrypt/live/[имя домена] (откройте терминал в режиме администратора с помощью команды su):
cd /etc/letsencrypt/live/[имя домена]
Запустите OpenSSL с помощью команды:
openssl
и начните конвертацию с помощью команды:
pkcs12 -inkey privkey.pem -in fullchain.pem -export -out mydomain.pfx
Вас попросят ввести пароль и подтвердить его.
7.2 Выходим из OpenSSL с помощью команды quit
7.3 Копируем итоговый файл в директорию нашего пользователя cp --no-preserve=all mydomain.pfx /home/(имя пользователя)/Documents
8. Мы получили сертификат mydomain.pfx, который теперь можем использовать в Windows-окружении.
Для обновления сертификата в ручном режиме:./letsencrypt-auto certonly --renew-by-default -a manual
Важно знать, что сертификаты Let’s Encrypt валидны 90 дней. Рекомендуется обновлять их каждые 60 дней. На электронную почту, которую вы указали для генерации, будут приходить уведомления об истечении сертификата.
Буду рад услышать ваши замечания или пожелания к статье.
Быстро и просто получаем Let’s Encrypt SSL сертификат в Windows — V0LK EST NAROD
Много лет я пользовался ОС Linux в качестве основной системы (где-то с начала 2000-х), но последнее время я всё больше занимаюсь дизайном и всё меньше чем-то другим. Можно сказать, что нужда выгнала меня из этого уютного и привычного гнёздышка. На Мак я пока решиться не могу, поэтому да, нынче я заново осваиваюсь в Windows и местами это даётся не легко 🙂 То, что делается в Линуксе на раз-два, здесь вызывает непредвиденные трудности и вопросы. При этом каждый раз скакать с системы на систему очень не удобно, хотя обе они спокойно себе соседствуют. Так и здесь, появилась необходимость быстренько сделать бесплатный SSL сертификат Let’s Encrypt для одного сайтика. Не так давно я описывал процесс создания сертификата с помощью утилиты Certbot и установку его на популярные хостинги REG.RU и SpaceWeb. Теперь я расскажу о том, как быстро выпустить сертификат Let’s Encrypt из-под Windows.
Если быть точнее, то этот способ универсален и для него не важно, какой системой вы пользуетесь. Дело в том, что выпускать сертификат мы будем в браузере. Для этого мы воспользуемся сервисом SSL For Free.
На первом экране необходимо указать ваш домен и нажать на кнопку Create Free SSL Certificate.
Далее необходимо выбрать способ загрузки подтверждающих файлов на ваш хостинг. Есть вариант автоматической загрузки по FTP, но я всё же предпочитаю сделать это руками, поэтому выбираем Manual Verification.
Далее необходимо скачать подтверждающие файлы (или файл). В данном случае файла два для домена без и с www.
В корне вашего сайта создаём каталог .well-known, внути него ещё один каталог acme-challenge и кладём в него скачанные файлы (или файл). Проверяем правильность переходом по ссылкам (п. 5). Если всё хорошо, то жмём Download SSL Certificate и получаем архив с файлами, которые используем для установки на свой хостинг.
Проверяем правильность установки SSL-сертификата. Например, с помощью данного сервиса https://www.sslshopper.com/ssl-checker.html.
IIS — SSL сертификат Let’s Encrypt
Сегодня автоматизируем установку бесплатного SSL сертификата на сайт, который работает на web-сервере IIS 10. Операционная система Microsoft Windows 2016. Сертификат выдается лишь на 90 дней, но его всегда можно быстро обновить в автоматическом режиме.
Наличие SSL сертификата для сайта позволяет защитить данные пользователей, передаваемые по сети и гарантировать целостность переданных данных. Хотя, если вы попали на эту статью, то вы уже знаете для чего вам нужен сертификат.
Let’s Encrypt — центр сертификации, начавший работу в бета-режиме с 3 декабря 2015 года, предоставляющий бесплатные криптографические сертификаты X.509 для TLS-шифрования (HTTPS). Процесс выдачи сертификатов полностью автоматизирован. https://letsencrypt.org/
Для установки сертификата будем использовать консольную утилиту LetsEncrypt-Win-Simple.
Подготовка
LetsEncrypt-Win-Simple берём здесь:
https://github.com/PKISharp/win-acme/releases
Я скачал версию v2.0.5.246. Распаковываем архив.
Папка win-acme.v2.0.5.246 нам потом пригодится для автоматического продления сертификатов, которое будет запускаться через Task Scheduler, не удаляйте.
При запуске wacs.exe хочет .NET Framework 4.7.2.
Нас отправляют на сайт:
https://dotnet.microsoft.com/download/thank-you/net472
Качаем .NET Framework 4.7.2 и запускаем установку.
Принимаем лицензионное соглашение, Install.
Ждём.
.NET Framework 4.7.2 установлен.
Перезагружаем сервер. Подготовка к установке сертификатов завершена.
Устанавливаем SSL сертификат
Запускаем wacs.exe под администратором.
Для начала сгенерируем простой сертификат. Для этого выбираем Create new certificate, N. Нас спрашивают, какой сертификат делаем.
Для тестирования генерируем простой сертификат без псевдонимов (для установки сертификата с псевдонимами выберите 2). Пишем 1. Нам показывают список всех доменов, забинденных в IIS.
Жертвой будет setpizza.com. Пишем 5.
Нужно зарегистрироваться, указываем свой e-mail администратора, или несколько через запятую.
Нужно принять лицензионное соглашение. Если написать «y», то откроется PDF файл с соглашением. Принимаем лицензионное соглашением.
Готово.
Проверяем сертификат
Заходим на https://setpizza.com/
Всё работает, сертификат есть.
В хранилище сертификатов:
Let’s Encrypt устанавливает также сертификаты промежуточных центров сертификации.
443 порт добавился автоматически, сертификат выбрался автоматически.
В планировщике добавилось ежедневное правило для обновления сертификатов.
Дополнительные настройки
Вы можете настроить почту для уведомлений.
Как нам подсказывают, нужно ручками подправить файл settings.config.
<setting name="SmtpServer" serializeAs="String">
<value>localhost</value>
</setting>
<setting name="SmtpPort" serializeAs="String">
<value>25</value>
</setting>
<setting name="SmtpUser" serializeAs="String">
<value />
</setting>
<setting name="SmtpPassword" serializeAs="String">
<value />
</setting>
<setting name="SmtpSecure" serializeAs="String">
<value>False</value>
</setting>
<setting name="SmtpSenderName" serializeAs="String">
<value>Let's Encrypt</value>
</setting>
<setting name="SmtpSenderAddress" serializeAs="String">
<value>[email protected]</value>
</setting>
<setting name="SmtpReceiverAddress" serializeAs="String">
<value>[email protected]</value>
</setting>
<setting name="EmailOnSuccess" serializeAs="String">
<value>True</value>
</setting>
Лучше генерировать сертификаты с псевдонимами, например:
Принцип понятен, дальше разберётесь.
Реализации ACME-клиента — Let’s Encrypt
Последнее обновление:
| Вся документация
Let’s Encrypt использует ACME-протокол для подтверждения ваших прав на данное доменное имя,
а также для выпуска сертификата для него. Чтобы получить сертификат Let’s Encrypt,
вам необходимо использовать ACME-клиент.
Представленные ниже ACME-клиенты разрабатываются сторонними организациями. Let’s Encrypt не управляет их разработкой,
не проверяет их код и не предоставляет гарантий их безопасности и надёжности.
Существуют ACME-клиенты в виде браузерных расширений, но мы не приводим их здесь по причине необходимости
ручного обновления сертификатов. Это затрудняет использование ACME-клиента, и, потенциально,
может привести к пропуску момента обновления.
Для большинства пользователей мы рекомендуем начать с ACME-клиента Certbot.
С ним очень просто получить сертификат, или установить имеющийся, в зависимости от ваших задач.
Он прост в использовании, работает на большинстве операционных систем, и отлично документирован.
Если вас не устраивает Certbot, или вы хотите опробовать альтернативные клиенты —
мы подготовили для вас список ACME-клиентов, сгруппированных по платформе разработки и окружению,
в котором они запускаются.
Let’s Encrypt поддерживает ACMEv2 API, совместимый с финальной версией стандарта ACME.
Мы планируем постепенно отказываться от устаревшего ACMEv1 API
в 2020-2021 г. Все реализации ACME-клиента в данном списке поддерживают ACMEv2.
Если вы уже пользуетесь каким-либо клиентом из списка — убедитесь, что версия ПО актуальна.
Если же ваш ACME-клиент отсутсвует в списке — свяжитесь с его разработчиками, или смените ACME-клиент.
Bash
- GetSSL
(bash, also automates certs on remote hosts via ssh)
- acme.sh
(Compatible to bash, dash and sh)
- dehydrated
(Compatible to bash and zsh)
- ght-acme.sh
(batch update of http-01 and dns-01 challenges is available)
- bacme
(simple yet complete scripting of certificate generation)
C
C++
Clojure
D
Domino
- CertMatica
(ACME certificate installation and renewals for HCL Domino™ servers)
Docker
Go
HAProxy
Java
Lua
Microsoft Azure
nginx
Node.js
OpenShift
Perl
- acme
(Simple json config, autogen keys, issue cert, refresh cert, apache/nginx integration)
- Crypt::LE
PHP
Python
Ruby
Rust
Windows / IIS
4D
C++
D
Delphi
Go
Java
.NET
Node.js
Perl
PHP
Python
- Python-модуль acme является частью ACME-клиента Certbot,
но также используется в другом клиентском ПО, и доступен в виде отдельного модуля
PyPI, Debian,
Ubuntu,
Fedora и других дистрибутивов.
Ruby
Rust
Если в нашем списке вы не нашли какой-либо ACME-клиент или проект интеграции с Let’s Encrypt, пожалуйста,
создайте pull request в наш репозиторий сайта на GitHub,
в котором обновляется файл data/clients.json
.
Перед отправкой pull request-а, пожалуйста, убедитесь, что:
- Клиент соблюдает политику Let’s Encrypt в отношении товарных знаков.
- Клиент работает не в браузере, и поддерживает автоматическое обновление сертификатов.
- В вашем коммите вы добавили информацию о новом клиенте в конец соответствующего раздела
(не забудьте про раздел “ACME v2-совместимые клиенты”!). - В вашем коммите вы обновили дату в поле
lastmod
, в начале файлаdata/clients.json
.
Автоматический бесплатный сертификат Lets Encrypt на IIS · Павел Сатин
Оказалось все достаточно просто. Копируем последнюю версию с https://github.com/Lone-Coder/letsencrypt-win-simple/releases, распаковываем и запускаем letsencrypt.exe
с правами администратора.
После запуска утилита найдет все сайты на IIS и предложит сгенерировать сертификаты для них или предложит выполнить генерацию вручную.
Что делает утилита:
- Генерирует файл ответа в дериктории сайта.
Например:
C:\inetpub\wwwroot\.well-known\acme-challenge\{token}
Примечание. В файле web.config должны быть разрешены все расширения файлов. Утилита попытается сделать это сама во время автоматической установки.
Пример web.config
:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".*" mimeType="text/json" />
</staticContent>
<handlers>
<clear />
<add name="StaticFile" path="*" verb="*" type="" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" scriptProcessor="" resourceType="Either" requireAccess="Read" allowPathInfo="false" preCondition="" responseBufferLimit="4194304" />
</handlers>
</system.webServer>
</configuration>
- Запрашивает сертификат с сайта LetsEncrypt, который обращается к файлу ответа.
- Если файл ответа существует, тогда сгенерированный сертифика сохраняется в дериктории
C:\Users\{username}\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org\
- Затем через оснастку «Диспетчер служб IIS» привязывается к нужному сайту
- Пожеланию создается задача в «Планировщике заданий» для обновления сертификата
Команда обновления:
letsencrypt.exe --renew --baseuri "https://acme-v01.api.letsencrypt.org/"
В реестре HKEY_CURRENT_USER\Software\letsencrypt-win-simple\https://acme-v01.api.letsencrypt.org/\Renewals
сохраняются даты и привязки сертификатов.
Ссылки
Программное обеспечение
Chocolatey | letsencrypt-win-simple 2.0.10
Вторник, 22 сентября 2020 г.
15:00 BST / GMT + 13:00 CEST / 9:00 Центральное время / 10:00 Восточное время
Стандартизация наборов инструментов для разных команд не всегда проста … особенно когда разные команды традиционно использовали разные подходы и методологии.
В этом вебинаре мы расскажем о преимуществах более стандартного, последовательного подхода с Puppet & Chocolatey.
Зарегистрируйтесь сейчас
Повтор вебинара с
Вторник, 23 июня 2020 г.
Chocolatey Central Management теперь включает в себя главную функцию управления конечными точками с помощью решения, ориентированного на шоколад, также известного как Deployments. Мы рады рассказать, что такое Deployments!
Учить больше
Смотри
Ресурсы по COVID-19
Chocolatey Software прилагает все усилия, чтобы предоставлять решения и ресурсы для наших клиентов и сообщества.Мы продолжим добавлять в эту область, так что проверяйте почаще.
Найти ресурсы
Chocolatey for Business Feature Video Series
В этой серии видео вы узнаете о многих функциях, доступных в нашем предложении Chocolatey for Business.
Многие организации выбирают Chocolatey for Business, когда хотят масштабировать свое решение на тысячи узлов, быстро и надежно каждый раз развертывать,
снизить риски с помощью значительно упрощенного рабочего процесса установки исправлений и получить доступ к группе поддержки, которая поможет вам в процессе автоматизации.
Смотреть сериал
.
клиентских реализаций ACME — Let’s Encrypt
Auf Deutsch ansehen
Ver en español
Voir en Français
לעבור לעברית
日本語 で 表示 す る
한국어 로 보기
Ver em Português (do brasil)
Просмотреть на русском
Visa på svenska
使用 简体 中文 阅读 本 网页。
使用 正 體 中文 閲讀 本 網頁。
Последнее изменение:
| Посмотреть всю документацию
Let’s Encrypt использует протокол ACME для проверки того, что вы контролируете данный домен.
имя и выдать вам сертификат.Чтобы получить сертификат Let’s Encrypt, вы
необходимо выбрать часть клиентского программного обеспечения ACME для использования.
Указанные ниже клиенты ACME предлагаются третьими сторонами. Let’s Encrypt не контролирует и не проверяет
сторонних клиентов и не может дать никаких гарантий относительно их безопасности или надежности.
Некоторые встроенные в браузер клиенты ACME доступны, но мы не перечисляем их здесь, потому что
они поощряют ручной процесс обновления, что приводит к плохому взаимодействию с пользователем
и увеличивает риск пропущенных продлений.
Мы рекомендуем большинству людей начать с клиента Certbot. Он может просто получить для вас сертификат или помочь в установке, в зависимости от того, что вы предпочитаете. Он прост в использовании, работает во многих операционных системах и имеет отличную документацию.
Если Certbot не соответствует вашим потребностям или вы просто хотите попробовать что-то еще, есть еще много клиентов на выбор из списка ниже, сгруппированных по языку или среде, в которой они работают.
Все следующие клиенты поддерживают ACMEv2 API (RFC 8555).Вскоре мы полностью прекратим поддержку ACMEv1. Если вы уже используете один из клиентов, указанных ниже, обязательно обновите его до последней версии. Если клиент, который вы используете, не указан ниже, он может не поддерживать ACMEv2, и в этом случае мы рекомендуем связаться с разработчиками проекта или переключиться на другого клиента.
Баш
- GetSSL
(bash, также автоматизирует сертификаты на удаленных хостах через ssh)
- акме.ш
(Совместимо с bash, dash и sh)
- обезвоженный
(Совместимо с bash и zsh)
- ght-acme.ш
(доступно пакетное обновление задач http-01 и dns-01)
- bacme
(простой, но полный сценарий генерации сертификата)
С
C ++
Clojure
D
Домино
- CertMatica
(Установка и продление сертификата ACME для серверов HCL Domino ™)
Докер
Перейти
HAProxy
Ява
Lua
Microsoft Azure
nginx
Узел.js
OpenShift
Perl
- акме
(Простая конфигурация json, ключи автогенерации, сертификат проблемы, сертификат обновления, интеграция apache / nginx)
- Склеп :: LE
PHP
Python
Рубин
Ржавчина
Windows / IIS
4D
C ++
D
Delphi
Перейти
Ява
.НЕТТО
Node.js
Perl
PHP
Python
- Модуль Python acme является частью Certbot, но также используется рядом других клиентов и доступен как отдельный пакет через PyPI, Debian, Ubuntu, Fedora и другие дистрибутивы.
Рубин
Ржавчина
Если вам известен клиент ACME или проект, интегрированный с API ACMEv2 Let’s Encrypt, которого нет на приведенной выше странице, отправьте запрос на перенос в репозиторий нашего веб-сайта на GitHub, обновив данные / клиенты .json
файл.
Перед отправкой запроса на перенос убедитесь, что:
- Клиент соблюдает политику в отношении товарных знаков Let’s Encrypt.
- Клиент не основан на браузере и поддерживает автоматическое продление.
- Ваша фиксация добавляет вашего клиента в конец , конец соответствующих разделов (не забывайте «acme_v2», если это необходимо!).
- Ваша фиксация обновляет отметку даты
lastmod
в верхней части файлаclients.json
.
.