- Как установить SSL сертификат Let’s Encrypt на Windows Server (IIS)
- Оглавление
- Что за сертификат Let’s Encrypt?
- Куда и зачем мне нужен был SSL сертификат
- Установка SSL сертификата на IIS
- Скачиваем программу LetsEncrypt-Win-Simple
- Добавим веб-сайт в Диспетчере служб IIS
- Добавляем записи в Диспетчере DNS
- Выпуск SSL сертификата Let’s Encrypt
- Настройка шлюза (роутера)
- Active Directory Certificate Services в Windows server 2016
- Как установить сертификат на WIndows Server (IIS 7.x)
- Как установить сертификат на WIndows Server (IIS 7.x)
- Управление SSL-сертификатами в AD FS и WAP в Windows Server 2016 Managing SSL Certificates in AD FS and WAP in Windows Server 2016
- Получение SSL-сертификатов Obtaining your SSL Certificates
- Сколько сертификатов требуется How many certificates are needed
- Требования к сертификатам SSL SSL Certificate Requirements
- Замена SSL-сертификата для AD FS Replacing the SSL certificate for AD FS
- Замена SSL-сертификата для AD FS, выполняемого в режиме привязки проверки подлинности сертификата по умолчанию Replacing the SSL certificate for AD FS running in default certificate authentication binding mode
- Дополнительные замечания Additional Notes
- Замена SSL-сертификата для AD FS, работающего в альтернативном режиме привязки TLS Replacing the SSL certificate for AD FS running in alternate TLS binding mode
- Дополнительные замечания Additional Notes
- Замена сертификата SSL для прокси веб-приложения Replacing the SSL certificate for the Web Application Proxy
Как установить 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 (или любым удобным для вас способом 😉 )
Выбираем сервер, правой кнопкой по каталогу сайтов и нажимаем Добавить веб-сайт. Указываем каталог для нового сайта. Дальше нам нужно создать псевдоним 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 сертификатом
Active Directory Certificate Services в Windows server 2016
В рамках установки VMware Horizon 7 и VMware vSphere может потребоваться выпуск SSL сертификатов для инфраструктурных серверов, входящих как в состав Horizon так и для vCenter server и ESXi. Во время установки продуктов VMware чаще всего они выпускают самоподписанные сертификаты и при попытке обращения друг к другу возникает ошибка, говорящая о том, что один сервер не доверяет сертификату, установленному на другом. Для этих целей необходима установка Active Directory Certificate Services, чтобы все установленные SSL сертификаты были выпущены корневым центром сертификации, которому доверяют все находящиеся в домене серверы и компьютеры пользователей VDI. В первой части этой статьи будет описана минимальная установка, которой будет достаточно для установки SSL сертификатов на VMware Connection серверы (в кластерной реализации их будет несколько) и VMware Composer server. Во второй, попробуем показать, как заменить сертификат в vCenter server, для этого потребуется более глубокое погружение в службы vCenter.
Установка AD CA в Windows server 2016 для нужд Horizon 7:
1 — 5 Для установки роли доменного центра сертификации будет использоваться отдельная виртуальная машина, которую необходимо ввести в домен.
6 — 10 Добавление роли Active Directory Sertificate Services, все по умолчанию
11 — 21 Для завершения установки необходимо пройти шаги финальной конфигурации, если у вас лес, состоящий из одного домена, то можно все оставить без изменений.
22 — 23 Теперь появилась возможность запускать консоль управления Certification Authority, которая будет использоваться для дальнейшего выпуска сертификатов для инфраструктурных серверов VMware Horizon 7
Как установить сертификат на WIndows Server (IIS 7.x)
Как установить сертификат на WIndows Server (IIS 7.x)
Добавляем сертификат на сервер.
Для того, чтобы загрузить сертификат перейдите в Диспетчер серверов ( “Пуск” — “Администрирование” — “Диспетчер серверов” ).
Затем откройте “Диспетчер служб IIS” (“Средства” — “Диспетчер служб IIS”) и кликните на “Сертификаты сервера”.
Далее способ установки зависит от того где вы генерировали CSR:
Сертификат загружен. В обоих вариантах, после добавления файла, сертификат будет доступен в разделе “Сертификаты сервера”. Осталось настроить доменное имя.
Подключение SSL-сертификата на домен.
Переходим в настройки сайта. В меню “Подключения” выберете сайт и кликните на пункт “Привязки”.
В открывшемся окне нажимаем “Добавить” и заполняем информацию:
Управление SSL-сертификатами в AD FS и WAP в Windows Server 2016 Managing SSL Certificates in AD FS and WAP in Windows Server 2016
В этой статье описывается, как развернуть новый SSL-сертификат на серверах AD FS и WAP. This article describes how to deploy a new SSL certificate to your AD FS and WAP servers.
Рекомендуемый способ замены SSL-сертификата, пересылаемого в AD FS ферму, — использование Azure AD Connect. The recommended way to replace the SSL certificate going forward for an AD FS farm is to use Azure AD Connect. Дополнительные сведения см. в статье обновление SSL-сертификата для фермы службы федерации Active Directory (AD FS) (AD FS) . For more information see Update the SSL certificate for an Active Directory Federation Services (AD FS) farm
Получение SSL-сертификатов Obtaining your SSL Certificates
Для производственных AD FS ферм рекомендуется использовать общедоступный доверенный SSL-сертификат. For production AD FS farms a publicly trusted SSL certificate is recommended. Обычно это достигается путем отправки запроса подписи сертификата (CSR) стороннему поставщику сертификатов. This is usually obtained by submitting a certificate signing request (CSR) to a third party, public certificate provider. Существует множество способов создания CSR, в том числе с компьютера под управлением Windows 7 или более поздней версии. There are a variety of ways to generate the CSR, including from a Windows 7 or higher PC. Поставщик должен иметь документацию для этого. Your vendor should have documentation for this.
Сколько сертификатов требуется How many certificates are needed
Мы рекомендуем использовать общий SSL-сертификат для всех AD FS и прокси серверов. It is recommended that you use a common SSL certificate across all AD FS and Web Application Proxy servers. Подробные требования см. в документе AD FS и требования SSL-сертификата для прокси For detailed requirements see the document AD FS and Web Application Proxy SSL certificate requirements
Требования к сертификатам SSL SSL Certificate Requirements
Требования, включая именование, корневой уровень доверия и расширений, см. в документе AD FS и требования SSL к сертификатам прокси веб-приложения . For requirements including naming, root of trust and extensions see the document AD FS and Web Application Proxy SSL certificate requirements
Замена SSL-сертификата для AD FS Replacing the SSL certificate for AD FS
Сертификат AD FS SSL не совпадает с сертификатом связи службы AD FS, найденным в оснастке управления AD FS. The AD FS SSL certificate is not the same as the AD FS Service communications certificate found in the AD FS Management snap-in. Чтобы изменить AD FS SSL-сертификат, потребуется использовать PowerShell. To change the AD FS SSL certificate, you will need to use PowerShell.
Сначала определите режим привязки сертификата, в котором выполняются серверы AD FS: привязка проверки подлинности сертификата по умолчанию или альтернативный режим привязки клиента TLS. First, determine which certificate binding mode your AD FS servers are running: default certificate authentication binding, or alternate client TLS binding mode.
Замена SSL-сертификата для AD FS, выполняемого в режиме привязки проверки подлинности сертификата по умолчанию Replacing the SSL certificate for AD FS running in default certificate authentication binding mode
AD FS по умолчанию выполняет проверку подлинности сертификата устройства через порт 443 и проверку подлинности сертификата пользователя через порт 49443 (или настраиваемый порт, не 443). AD FS by default performs device certificate authentication on port 443 and user certificate authentication on port 49443 (or a configurable port that is not 443). В этом режиме используйте командлет PowerShell Set-AdfsSslCertificate для управления SSL-сертификатом. In this mode, use the powershell cmdlet Set-AdfsSslCertificate to manage the SSL certificate.
Выполните инструкции, описанные ниже. Follow the steps below:
Сначала необходимо получить новый сертификат. First, you will need to obtain the new certificate. Обычно это делается путем отправки запроса подписи сертификата (CSR) сторонним поставщикам сертификатов. This is usually done by submitting a certificate signing request (CSR) to a third party, public certificate provider. Существует множество способов создания CSR, в том числе с компьютера под управлением Windows 7 или более поздней версии. There are a variety of ways to generate the CSR, including from a Windows 7 or higher PC. Поставщик должен иметь документацию для этого. Your vendor should have documentation for this.
После получения ответа от поставщика сертификатов импортируйте его в хранилище локального компьютера на каждом AD FS и на прокси-сервере. Once you get the response from your certificate provider, import it to the Local Machine store on each AD FS and Web Application Proxy server.
На сервере- источнике AD FS используйте следующий командлет для установки нового SSL-сертификата. On the primary AD FS server, use the following cmdlet to install the new SSL certificate
Отпечаток сертификата можно найти, выполнив следующую команду: The certificate thumbprint can be found by executing this command:
Дополнительные замечания Additional Notes
- Командлет Set-AdfsSslCertificate является командлетом с несколькими узлами. Это означает, что будет выполнено обновление только с первичного узла и всех узлов фермы. The Set-AdfsSslCertificate cmdlet is a multi-node cmdlet; this means it only has to run from the primary and all nodes in the farm will be updated. Это новое в сервере 2016. This is new in Server 2016. На сервере 2012 R2 необходимо было выполнить Set-AdfsSslCertificate на каждом сервере. On Server 2012 R2 you had to run Set-AdfsSslCertificate on each server.
- Командлет Set-AdfsSslCertificate должен выполняться только на сервере-источнике. The Set-AdfsSslCertificate cmdlet has to be run only on the primary server. Сервер первичного сервера должен работать под сервером 2016, и уровень поведения фермы должен быть повышен до 2016. The primary server has to be running Server 2016 and the Farm Behavior Level should be raised to 2016.
- Командлет Set-AdfsSslCertificate будет использовать удаленное взаимодействие PowerShell для настройки других серверов AD FS, убедитесь, что порт 5985 (TCP) открыт на других узлах. The Set-AdfsSslCertificate cmdlet will use PowerShell Remoting to configure the other AD FS servers, make sure port 5985 (TCP) is open on the other nodes.
- Командлет Set-AdfsSslCertificate предоставит субъекту адфссрв разрешения на чтение закрытым ключам SSL-сертификата. The Set-AdfsSslCertificate cmdlet will grant the adfssrv principal read permissions to the private keys of the SSL certificate. Этот участник представляет службу AD FS. This principal represents the AD FS service. Нет необходимости предоставлять учетной записи службы AD FS доступ на чтение закрытых ключей SSL-сертификата. It’s not necessary to grant the AD FS service account read access to the private keys of the SSL certificate.
Замена SSL-сертификата для AD FS, работающего в альтернативном режиме привязки TLS Replacing the SSL certificate for AD FS running in alternate TLS binding mode
При настройке в альтернативном режиме клиентской привязки TLS AD FS выполняет проверку подлинности сертификата устройства в порте 443 и проверку подлинности сертификата пользователя на порте 443, а также на другом имени узла. When configured in alternate client TLS binding mode, AD FS performs device certificate authentication on port 443 and user certificate authentication on port 443 as well, on a different hostname. Имя узла сертификата пользователя — это AD FS имя узла, предварительно заданное с помощью «цертаус», например «certauth.fs.contoso.com». The user certificate hostname is the AD FS hostname pre-pended with «certauth», for example «certauth.fs.contoso.com». В этом режиме используйте командлет PowerShell Set-Адфсалтернатетлсклиентбиндинг для управления SSL-сертификатом. In this mode, use the powershell cmdlet Set-AdfsAlternateTlsClientBinding to manage the SSL certificate. Это позволит управлять не только альтернативной привязкой клиента TLS, но и всеми другими привязками, для которых AD FS задает SSL-сертификат. This will manage not only the alternative client TLS binding but all other bindings on which AD FS sets the SSL certificate as well.
Выполните инструкции, описанные ниже. Follow the steps below:
Сначала необходимо получить новый сертификат. First, you will need to obtain the new certificate. Обычно это делается путем отправки запроса подписи сертификата (CSR) сторонним поставщикам сертификатов. This is usually done by submitting a certificate signing request (CSR) to a third party, public certificate provider. Существует множество способов создания CSR, в том числе с компьютера под управлением Windows 7 или более поздней версии. There are a variety of ways to generate the CSR, including from a Windows 7 or higher PC. Поставщик должен иметь документацию для этого. Your vendor should have documentation for this.
После получения ответа от поставщика сертификатов импортируйте его в хранилище локального компьютера на каждом AD FS и на прокси-сервере. Once you get the response from your certificate provider, import it to the Local Machine store on each AD FS and Web Application Proxy server.
На сервере- источнике AD FS используйте следующий командлет для установки нового SSL-сертификата. On the primary AD FS server, use the following cmdlet to install the new SSL certificate
Отпечаток сертификата можно найти, выполнив следующую команду: The certificate thumbprint can be found by executing this command:
Дополнительные замечания Additional Notes
- Командлет Set-Адфсалтернатетлсклиентбиндинг является командлетом с несколькими узлами. Это означает, что будет выполнено обновление только с первичного узла и всех узлов фермы. The Set-AdfsAlternateTlsClientBinding cmdlet is a multi-node cmdlet; this means it only has to run from the primary and all nodes in the farm will be updated.
- Командлет Set-Адфсалтернатетлсклиентбиндинг должен выполняться только на сервере-источнике. The Set-AdfsAlternateTlsClientBinding cmdlet has to be run only on the primary server. Сервер первичного сервера должен работать под сервером 2016, и уровень поведения фермы должен быть повышен до 2016. The primary server has to be running Server 2016 and the Farm Behavior Level should be raised to 2016.
- Командлет Set-Адфсалтернатетлсклиентбиндинг будет использовать удаленное взаимодействие PowerShell для настройки других серверов AD FS, убедитесь, что порт 5985 (TCP) открыт на других узлах. The Set-AdfsAlternateTlsClientBinding cmdlet will use PowerShell Remoting to configure the other AD FS servers, make sure port 5985 (TCP) is open on the other nodes.
- Командлет Set-Адфсалтернатетлсклиентбиндинг предоставит субъекту адфссрв разрешения на чтение закрытым ключам SSL-сертификата. The Set-AdfsAlternateTlsClientBinding cmdlet will grant the adfssrv principal read permissions to the private keys of the SSL certificate. Этот участник представляет службу AD FS. This principal represents the AD FS service. Нет необходимости предоставлять учетной записи службы AD FS доступ на чтение закрытых ключей SSL-сертификата. It’s not necessary to grant the AD FS service account read access to the private keys of the SSL certificate.
Замена сертификата SSL для прокси веб-приложения Replacing the SSL certificate for the Web Application Proxy
Чтобы настроить привязку проверки подлинности сертификата по умолчанию или альтернативный режим привязки TLS клиента в WAP, можно использовать командлет Set-Вебаппликатионпроксисслцертификате. For configuring both the default certificate authentication binding or alternate client TLS binding mode on the WAP we can use the Set-WebApplicationProxySslCertificate cmdlet. Чтобы заменить сертификат SSL прокси-сервера веб – приложения на каждом прокси-сервере, используйте следующий командлет для установки нового сертификата SSL: To replace the Web Application Proxy SSL certificate, on each Web Application Proxy server use the following cmdlet to install the new SSL certificate:
Если приведенный выше командлет завершится сбоем, поскольку срок действия старого сертификата уже истек, перенастройте прокси-сервер с помощью следующих командлетов: If the above cmdlet fails because the old certificate has already expired, reconfigure the proxy using the following cmdlets:
Введите учетные данные пользователя домена, который является локальным администратором на AD FS сервере Enter the credentials of a domain user who is local administrator on the AD FS server