Изменение в политике отказа от SHA-1


Все уже в курсе, что сертификаты с подписью SHA1 должны быть заменены, т.к. алгоритм SHA1 более не считается надёжным.

Это описано в ноябре 2015 года в статье Microsoft SHA-1 Deprecation Update.

Сейчас появилось дополнение An update to our SHA-1 deprecation roadmap.

Суть в том, что в Microsoft решили ускориться и летом с выходом большого обновления Windows 10 (Anniversary Update) браузеры Internet Explorer и Edge начнут выдавать предупреждение для сайтов с сертификатами, подписанными SHA1, а в феврале 2017 года такие сайты будут блокироваться. Пока заявлено, что блокировка будет распространяться только на сертификаты, чьи корневые сертификаты входят в Microsoft Trusted Root Certificate program. Обновление будет выпущено для Windows 7, Windows 8.1 and Windows 10.

Реклама

Мониторинг сертификатов с помощью Operation Manager и Powershell


В доменной инфраструктуре удобно управлять сертификатами. Можно настроить внутренний CA, автоматическую выдачу сертификатов и перевыпуск при истечении срока их действия. В некоторых случаях это не работает. Например, для фермы терминальных серверов приходится выпускать, устанавливать и обновлять сертификаты вручную. И это не единственный случай, когда за сертификатами нужно следить, чтобы не пропустить момент, когда их необходимо заменить.

Поэтому возникает задача контроля за сертификатами.

Для этого можно использовать Powershell. Техника описана в статье Use PowerShell to Find Certificates that are About to Expire.

Для Powershell 3.0 получение просроченные сертификатов выглядит так:

Get-ChildItem -Path cert: -Recurse -ExpiringInDays 75

Для Powershell 2.0 тоже самое немного сложнее:

Get-ChildItem -Recurse | where { $_.notafter -le (get-date).AddDays(75) -AND $_.notafter -gt (get-date)} | select thumbprint, subject

Как настроить контроль сертификатов на множестве компьютеров? Для автоматизации удобнее всего применить Operation Manager, который может доставить скрипт на нужные компьютеры и сформировать алерт при необходимости. Как это сделать описано в статье OpsMgr: Monitoring Certificate Expiry with a Powershell-based Monitor.

Бонус статьи в том, что используемый Management Pack позволяет создавать произвольные мониторы на базе Powershell скриптов.

Так как мониторить нужно только «свои» сертификаты, а они установлены в контейнер Cert:\LocalMachine\My, то именно в этом контейнере будем проверять сертификаты. Если искать сертификаты от корня Cert:, то будет много алертов на корневые коммерческие сертификаты, а это нас совсем не интересует в рамках поставленной задачи.

Поэтому рабочий скрипт выглядит так:

$currentlocation = Get-Location

 

sl Cert:\LocalMachine\My

$thresholdindays = 90

 

$ExpiredCerts = Get-ChildItem -Recurse | where { $_.notafter -le (get-date).AddDays($thresholdindays)-AND $_.notafter -gt (get-date)} | select thumbprint, subject, notafter

 

$API = new-object -comObject «MOM.ScriptAPI»

$PropertyBag = $API.CreatePropertyBag()

 

if($ExpiredCerts.Length -gt 0) {

 

$OFS = «`r`n»

$result1 = [system.String]::Join($ofs, $ExpiredCerts)

$result2 = [string]$result1

$result2 = $result2 -replace «@{«, «»

$result2 = $result2 -replace «}», «»

$PropertyBag.AddValue(«State»,«ERROR»)

$PropertyBag.AddValue(«Description», «Expired Certificates: « + $result2)

}

 

else {

 

$PropertyBag.AddValue(«State»,«OK»)

$PropertyBag.AddValue(«Description», «ALL GOOD !!»)

}

sl $currentlocation

$PropertyBag

 

Теперь за три месяца (90 дней) до истечения срока действия сертификата вы получите в SCOM алерт, который будет висеть до замены сертификата или пока он не будет просрочен (или удалён).

Windows Server 2012 R2 Remote Desktop – сертификаты


Как я уже писал Windows Server 2012 R2 Remote Desktop – теперь две модели есть два способа настройки Remote Desktop Services. Это также касается сертификатов.

Как мы настраиваем сертификаты в классической модели. Когда стартует сервис RDS, он проверяет наличие сертификата, если его нет, то либо получает сертификат из Certification Authority леса, либо создает самоподписанный сертификат. И наконец, мы можем получить сертификат из внутреннего CA вручную, либо взять коммерческий сертификат и назначить такой сертификат сервису RDS вручную. Автоматический и ручной методы описаны в статье Configuring Remote Desktop certificates. В Windows Server 2012 R2 отсутствует GUI для настройки RDS в классической модели. Это касается и сертификатов: нужно использовать командную строку для назначения сертификатов сервису RDS.

Читать далее