Lets encrypt windows iis

Как установить SSL сертификат Let’s Encrypt на Windows Server (IIS)

Оглавление

Что за сертификат Let’s Encrypt?

Let’s Encrypt — бесплатный, автоматизированный и открытый Центр Сертификации, созданный на благо всего общества организацией Internet Security Research Group (ISRG). Мы помогаем людям выпускать SSL/TLS сертификаты для их сайтов с доступом по HTTPS, бесплатно, максимально облегчая процесс выдачи. Потому что хотим сделать интернет безопасным, и уважающим конфиденциальность его пользователей. letsencrypt.org

Куда и зачем мне нужен был SSL сертификат

Начнём с того, что SSL (Secure Sockets Layer) сертификат защищает данные пользователей, которые передаются по сети. Для интеграции с одним из известных маркетплейсов мне нужно было использовать web-сервис 1С и на тестовом Windows Server, на котором был развёрнут тестовый сервер 1С, был поднят IIS (internet Information Services). Веб сервер Windows.

В требованиях обмена маркетплейса было указано что обмен должен идти через защищенный HTTPS протокол. И не через IP адрес, а через домен. Ниже расскажу последовательность моих действий:

  • Установка Windows Server
  • Установка Ролей ISS и DNS
  • Установка Сервера 1С
  • Подключение модуля расширения веб-сервера
  • Скачиваем программу LetsEncrypt для Windows
  • Настраиваем DNS
  • Настраиваем шлюз (в моём случае это был Kerio Control)
  • Выпускаем SSL сертификат LetsEncrypt
  • Проверяем привязку в Диспетчере служб IIS
  • Проверяем планировщик заданий на наличие таска для перевыпуска сертификата

Установку Windows Server и сервера 1С я тут рассматривать не буду, так как. Во-первых Windows Server установка мало чем отличается от установки обычной десктопной винды, а по 1С можно почитать эту статью. Во-вторых я хочу рассказать именно про то как установить SSL сертификат от Let’s Encrypt на Windows Server IIS. Начнём!

Установка SSL сертификата на IIS

Скачиваем программу LetsEncrypt-Win-Simple

Для того чтобы выпустить сертификат на Windows Server IIS на необходима программа LetsEncrypt-Win-Simple. Качаем её на официальном сайте www.win-acme.com

Скачиваем и распаковываем архив в директорию на жёстком диске. Для выпуска сертификата нам нужно будет запустить из каталога файл wacs.exe. Но это чуть позже.

Если мы сейчас попытаемся выпустить сертификат, то получим предупреждение

Добавим веб-сайт в Диспетчере служб IIS

Запускаем Диспетчере служб IIS через панель управления — администрирование. Или через WIN + R

Добавляем записи в Диспетчере DNS

Открываем Диспетчер DNS через команду выполнить WIN + R (или любым удобным для вас способом 😉 )

Читайте также:  Неполадка помешала windows проверить лицензию для этого компьютера код ошибки 0x800700c1

Выбираем сервер, правой кнопкой по каталогу сайтов и нажимаем Добавить веб-сайт. Указываем каталог для нового сайта. Дальше нам нужно создать псевдоним CNAME в зоне прямого просмотра (forward lookup zones).

Так как домен у меня находится у хостинг провайдера, то я на всякий случай указал в Диспетчере DNS его NS сервера. В свою очередь у хостинг провайдера прописываем A запись с нашим выделенным IP адресом. Позже мы настроим правило для того чтобы входящее соединение перебрасывало на нужный сервер.

Выпуск SSL сертификата Let’s Encrypt

И так. У нас есть 1С сервер с расширением веб-сервера, добавили DNS и CNAME записи, указали A запись. Теперь запускаем WACS.EXE и вводим букву N для инициирования выпуска сертификата. Далее выбираем на какой домен будем выпускать сертификат, даём пару соглашений (y) и вводим email адрес, куда нам будут приходить уведомления в случае каких-либо проблем (Enter email for notifications about problems and abuse).

В принципе всё готово. По части сертификата. Программа автоматически добавляет привязку 443 SSL порта к сайту в Диспетчере служб IIS и в Планировщике заданий таск на автоматический перевыпуск сертификата, но можно в этом убедиться самостоятельно

Настройка шлюза (роутера)

В моём случае это был Kerio Control. Я добавил правило для всех входящих по HTTPS (443 порт) и по HTTP (80 порт) переадресацию на нужный сервер IIS с SSL сертификатом

Установка TLS сертификата от Let’s Encrypt на веб сервер IIS (бесплатный https)

В связи с недавними атаками шифровальщиков WannaCry, Petya и им подобных, многие компании, наконец, всерьез задумались об информационной безопасности.

А что? надо же когда-то начинать ).

И хоть сегодняшняя статья и не имеет прямого отношения к защите от выше представленных «шифровальщиков».

Но кто знает, где завтра вскроется очередная «дыра»?

Сегодня решил написать подробную статью о том, как бесплатно получить TLS сертификат безопасности от центра сертификации Let’s Encrypt, и установить его на веб сервере IIS, чтобы сайты могли открываться по протоколу https. Этот протокол очень нравится и браузерам (сайты будут помечаться зеленым замочком) и поисковым системам (ПС), что в свою очередь положительно скажется на ранжировании в результатах поиска.

Делать все это, мы будем на 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 дней, но его всегда можно быстро обновить, по факту использования данного сертификата, могу сказать, что с этим проблем нет никаких.

Читайте также:  Не работает avz для windows 10

О сайтах:

С недавних пор мои сайты также перешли на защищенный протокол 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 Вам в этом поможет).

Если все хорошо, тогда приступаем к следующему шагу.

Теперь нужно сделать привязку к локальному 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»

Она сделает всю работу по запросу, созданию и установке сертификата на наш веб сервер IIS.

Читайте также:  Не могу подключить windows live

После скачивания программы, распакуем архив и запустим ее.

Клик по «letsencrypt.exe». – запуск от имени администратора.

Программка имеет консольный интерфейс, но не волнуйтесь, нам для настройки потребуется лишь ввести свой email и несколько раз подтвердить действия.

Для начала введем email (любой).

Кликаем Enter и ждем следующего вопроса.

Кликаем по клавише “Y”.

И теперь наш “Клиент” должен найти DNS записи, наш домен на веб сервере IIS – sklad1c.cf

Ставим единицу (цифра соответствует строке домена, у меня лишь один – sklad1c.cf).

Кликаем по клавише “Enter”.

После чего набираемся терпения и ждем несколько минут 3 -5 -10 на получение и установку сертификата.

Как видно из скрина выше, все прошло успешно и мы получили сертификат!

(Было даже несколько “матюков” так как раньше я использовал самозаверяющийся сертификат).

Но это никак не повлияло на результат, сертификат от Let’s Encrypt успешно установлен!

Кликаем по клавише “N”, и на этом работа закончена.

Проверяем

И сам сертификат

“Контрольный” через Opera VPN

Финиш – проверка сертификата

Как видите все получилось, сертификат работает.

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 берём здесь:

Я скачал версию v2.0.5.246. Распаковываем архив.

Папка win-acme.v2.0.5.246 нам потом пригодится для автоматического продления сертификатов, которое будет запускаться через Task Scheduler, не удаляйте.

При запуске wacs.exe хочет .NET Framework 4.7.2.

Нас отправляют на сайт:

Качаем .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.

Лучше генерировать сертификаты с псевдонимами, например:

Оцените статью