Как всегда в прочем, в связи с ситуацией COVID-19 и указом Путина В.В. что с 30 марта по 3 апреля 2020 все не работают мне очень подфартило, что в воскресенье 29 марта истекает срок на сертификат (Let’s Encrypt) используемый на доступ к Remote Desktop Gateway сервису из вне где на нем проводится аутентификация с последующим доступ к серверам, рабочим станциям. Ну прямо все звезды выстроились в ряд, то сертификаты для CMS системы Bitrix заканчиваю на текущих выходных, а тут еще и это.
Ну да ладно, для меня это даже в радость этого я никогда не делал, а кроме меня не кому.
Шаг №1: Через заметку «Как на TMG настроить правило проброс порта» подключаюсь к системе на которой поднята роль Remote Desktop Gateway on Server 2012 R2 Std. Запускаю консоль командной строки с правами Администратора:
c:\acme>wacs.exe
N: Create new certificate (simple for IIS)
M: Create new certificate (full options)
L: List scheduled renewals
R: Renew scheduled
S: Renew specific
A: Renew *all*
O: More options...
Q: Quit
Please choose from the menu: R
[INFO] Renewing certificate for [IISBinding] mail.ekzorchik.ru
[INFO] Authorize identifier: mail.ekzorchik.ru
[INFO] Cached authorization result: valid
[INFO] Requesting certificate [IISBinding] mail.ekzorchik.ru
[INFO] Store with CertificateStore...
[INFO] Installing certificate in the certificate store
[INFO] Adding certificate [IISBinding] mail.ekzorchik.ru 2020.3.26 19:19:48 to stor
e WebHosting
[INFO] Installing with IIS...
[INFO] Updating existing https binding :443
[INFO] Updating existing https binding mail.ekzorchik.ru:443
[INFO] Committing 2 https binding changes to IIS
[INFO] Uninstalling certificate from the certificate store
[INFO] Next renewal scheduled at 2020.6.20 19:19:49
[INFO] Renewal for [IISBinding] mail.ekzorchik.ru succeeded
N: Create new certificate (simple for IIS)
M: Create new certificate (full options)
L: List scheduled renewals
R: Renew scheduled
S: Renew specific
A: Renew *all*
O: More options...
Q: Quit
Please choose from the menu: q
Шаг №2: Сертификат поместился в Win + R -> mmc -> File - Add/Remove Snap-in... - Certiciates (Add)
This snap-in will always manage certificates for: Computer account
и нажимаю Finish - Finish — потом OK окна "Console 1 - [Console Root]"
Раскрываю Console Root - Certificates (Local Computer) - Web Hosting, он тут. Его нужно перенести в Console Root - Certificates (Local Computer) Personal - Certificates
На заметку: Внимательно на Шаг №2
Шаг №3: Все еще находясь в «Шаг №2» нахожу свой продленный сертификат и через правый клик мышью по нему выбираю меню «Open» , затем перехожу на вкладку «Details» вижу поля, мне нужно поле "Thumbprint", выделяю его и копирую отпечаток, у меня он следующий: «03 4d 49 c7 b4 4b 69 03 25 ef a1 1f 4a 5e 2a d9 98 b5«
Данный отпечаток понадобится когда через PowerShell скрипт (входит в утилиту acme) я буду импортировать его в сервис Remote Desktop Gateway
c:\acme\Scripts>powershell -file ImportRDGateway.ps1
cmdlet ImportRDGateway.ps1 at command pipeline position 1
Supply values for the following parameters:
NewCertThumbprint: 034d49c7b44b690325efa11f4a5e2ad998b5 Cert thumbprint set to RD Gateway listener and service restarted
Шаг №4: Запускаю IIS
Win + X -> Control Panel - Administrative Tools - Internet Information Services (IIS) Manager - (Start Page) - SRV-TS01-GATE (ekzorchik\aollo) - Sites - Default Web Site — затем в правой части нажимаю Binding и изменяю для уже существующей записи
Type: httpsHost Name: mail.ekzorchik.ru(Внешнее доменное имя на которого настроено сопоставление статического IP адреса который провайдер продает нам, а на DNS-сервере (внешнем, jino.ru,nic.ru и т.д) настроена запись A: mail.ekzorchik.ru = XXX.XXX.XXX.XXX)Port: 443IP Address: 192.168.9.15
выделяю эту запись и нажимаю Edit, здесь произвожу изменения сопоставление сертификата:
Type: httpsIP Address: 192.168.9.15Port: 443Host name: mail.ekzorchik.ruRequirce Server Name Indication: отмечаю галочкойSSL Certificate:нажимаюSelectи выбираю продленный сертификат даты которой инициализировали в «Шаг №1«, затем нажимаюOK
Для принятия изменений нужно перезапустить IIS:
Win + X -> Control Panel - Administrative Tools - Internet Information Services (IIS) Manager - (Start Page) - SRV-TS01-GATE (ekzorchik\aollo) - Sites - Default Web Site — в правой части нажимаю на (Manage WebSite) Restart
Шаг №5: Далее запускаю оснастку RD Gateway Manager
Win + X -> Control Panel - Administrative Tools - Remote Desktop Services - Remote Desktop Gateway Manager - RD Gateway Manager — и через правый клик мышью на SRV-TS01-GATE (LOCAL) перехожу в Properties — вкладка SSL Certificate —
Select an existing certificate from the RD Gateway SRV-TS01-GATE Certificates (Local Computer)/Personal store -> нажимаю на Import Certificate... и вижу свой сертификат, найти его можно по дате окончания которая в «Шаг №1» при обновлении текущего указана в выводе ниже следующей строкой
[INFO] Adding certificate [IISBinding] mail.ekzorchik.ru 2020.3.26 19:19:48 to stor
выбираю его и нажимаю Import, после чего на вкладке SSL Certificate будет значиться новый сертификат.
Для того чтобы настройки к RDG применились нужно перезапустить службу:
Win + X -> Control Panel - Administrative Tools - Services - Remote Desktop Gateway
или так
net stop TSGateway
net start TSGateway
Шаг №6: Проверяю путем запуска браузера (к примеру в Google Chrome) и указания в строке URL-адреса: https://mail.ekzorchik.ru где щелчком левой кнопкой мыши по замочку перед адресом, вижу что сертификат действителен, далее открываем инструмент просмотра сертификатов на вкладке «Общие» и тут видны
(Срок действия)
Дата выдачи: четверг, 26 марта 2020г., 19:19:48
Срок выдачи: среда, 24 июня 2020г., 19:19:48
все отлично.
Шаг №7: Если все выше проделано (как было у меня), то проверяем настроенным ранее соединением (я в клиенте Remmina on Ubuntu 18.04 Desktop) и соединение устанавливается.
Итого все задачи по поддержанию инфраструктуры компании в столь нелегкое время выполнены, сотрудники работают находясь на удаленке и не замечают, что если бы не полный цикл проверки как должно работать я бы оказалась крайним почему не предусмотрел заранее. Я ведь системный администратор и моя задача чтобы все работало, а когда работает без сбоев есть время для самообразования. На этом я прощаюсь, с уважением, автор блога Олло Александр aka ekzorchik.