Поделиться через


рекомендации по настройке TLS Exchange Server

В этой документации описаны действия, необходимые для правильной настройки (включения или отключения) определенных версий TLS в Exchange Server 2013, Exchange Server 2016 и Exchange Server 2019. В этой статье также объясняется, как оптимизировать наборы шифров и алгоритмы хэширования, используемые TLS. Если TLS настроен неправильно, при взаимодействии с Microsoft 365 или другими системами могут возникнуть различные проблемы, настроенные таким образом, что для них требуется определенный минимальный стандарт TLS.

Дополнительные сведения о протоколах TLS (и SSL) см. в статье Протокол безопасности транспортного уровня .

Важно!

Прочтите внимательно, так как некоторые описанные здесь действия могут выполняться только в определенных операционных системах или Exchange Server версиях.

В начале каждого раздела есть матрица, показывающая, поддерживается ли параметр и уже настроен ли он в определенной версии Exchange Server.

Что следует учитывать перед отключением версии TLS

Совет

Скрипт Exchange HealthChecker можно использовать для проверка текущей конфигурации TLS сервера Exchange.

Убедитесь, что каждое приложение поддерживает версии TLS, которые остаются включенными. Рекомендации, такие как (но не только):

  • Поддерживают ли ваши контроллеры домена и серверы глобального каталога, например конфигурацию только TLS 1.2?
  • Поддерживают ли партнерские приложения (например, sharePoint, Lync, Skype для бизнеса и т. д.), например конфигурацию только TLS 1.2?
  • Обновили ли вы более старые рабочие столы Windows 7 с помощью Outlook для поддержки TLS 1.2 по WinHTTP?
  • Поддерживают ли подсистемы балансировки нагрузки протокол TLS 1.2?
  • Поддерживают ли классические, мобильные и браузерные приложения TLS 1.2?
  • Поддерживают ли устройства, такие как многофункциональные принтеры, TLS 1.2?
  • Поддерживают ли сторонние или пользовательские собственные приложения, которые интегрируются с Exchange Server или Microsoft 356, надежную реализацию TLS?

Поэтому мы настоятельно рекомендуем выполнить все действия, которые вы предпринимаете для перехода на TLS 1.2 и более старых протоколов безопасности, сначала выполнять в лабораториях, которые имитируют рабочие среды, прежде чем вы начнете медленно развертывать их в рабочей среде.

Действия, используемые для отключения определенной версии TLS, как описано ниже, применяются к следующим функциям Exchange Server:

  • Протокол SMTP
  • Подключение клиента Outlook (Любой Outlook/ MAPI/HTTP)
  • Exchange Active Sync (EAS)
  • Outlook в Интернете (OWA)
  • Центр Администратор Exchange (EAC) и Exchange панель управления (ECP)
  • Автообнаружения
  • Веб-службы Exchange (EWS)
  • REST (Exchange Server 2016/2019)
  • Использование PowerShell в Exchange по протоколу HTTPS
  • POP и IMAP

Предварительные условия

Добавлена поддержка TLS 1.2 с Exchange Server 2013 CU19 и Exchange Server 2016 CU8. Exchange Server 2019 по умолчанию поддерживает TLS 1.2.

Exchange Server не может работать без Windows Server, поэтому важно установить последние обновления операционной системы для запуска стабильной и безопасной реализации TLS.

Кроме того, требуется наличие последней версии платформа .NET Framework и связанных исправлений, поддерживаемых накопительным пакетом обновления.

В зависимости от операционной системы убедитесь, что также установлены следующие обновления (они должны быть установлены, если сервер является текущим в Windows Обновления):

Если ваша операционная система Windows Server 2012 или Windows Server 2012 R2, перед включением TLS 1.2 необходимо установить KB3161949 и KB2973337.

Предупреждение

расширенная поддержка Windows Server 2012 и Windows Server 2012 R2 прекращена 10 октября 2023 г. Эти серверы больше не будут получать Безопасность Windows Обновления без ESU. Мы настоятельно рекомендуем выполнить миграцию на поддерживаемую версию как можно скорее!

Обязательно перезагрузите Exchange Server после применения конфигурации TLS. Он становится активным после перезапуска сервера.

Подготовка платформа .NET Framework к наследованию значений по умолчанию от Schannel

В следующей таблице показаны сочетания Exchange Server и Windows Server с конфигурацией наследования Schannel по умолчанию платформа .NET Framework:

Exchange Server Windows Server Поддерживается Настроено по умолчанию
Exchange Server 2019 CU14 или более поздней версии Любой Да Да (только для новых установок)
Exchange Server 2019 Любой Да Частично (SchUseStrongCrypto необходимо настроить вручную)
Exchange Server 2016 Любой Да Нет (будут использоваться значения по умолчанию для ОС)
Exchange Server 2013 Любой Да Нет (будут использоваться значения по умолчанию для ОС)

Значение SystemDefaultTlsVersions реестра определяет, какие версии протокола безопасности по умолчанию будут использоваться платформа .NET Framework 4.x. Если для параметра задано значение 1, то платформа .NET Framework 4.x наследует значения по умолчанию от значений реестра Windows Secure Channel (Schannel). DisabledByDefault Если значение не определено, оно ведет себя так, как если бы для него задано значение 0.

Надежное шифрование (настроенное значением SchUseStrongCrypto реестра) использует более безопасные сетевые протоколы (TLS 1.2 и TLS 1.1) и блокирует небезопасные протоколы. SchUseStrongCrypto влияет только на клиентские (исходящие) подключения в приложении. Настроив платформа .NET Framework 4.x наследование значений от Schannel, мы получаем возможность использовать последние версии TLS, поддерживаемые ОС, включая TLS 1.2.

Включение наследования Schannel платформа .NET Framework 4.x

Выполните следующие команды в окне PowerShell с повышенными привилегиями, чтобы настроить наследование Schannel платформа .NET Framework 4.x:

Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" -Name "SystemDefaultTlsVersions" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" -Name "SchUseStrongCrypto" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319" -Name "SystemDefaultTlsVersions" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319" -Name "SchUseStrongCrypto" -Value 1 -Type DWord

Включение наследования Schannel платформа .NET Framework 3.5

Примечание.

Exchange Server 2013 и более поздних версиях этот параметр не требуется. Однако мы рекомендуем настроить его идентично параметрам .NET 4.x, чтобы обеспечить согласованную конфигурацию.

Выполните следующие команды в окне PowerShell с повышенными привилегиями, чтобы настроить наследование Schannel платформа .NET Framework 3.5:

Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727" -Name "SystemDefaultTlsVersions" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v2.0.50727" -Name "SchUseStrongCrypto" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727" -Name "SystemDefaultTlsVersions" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727" -Name "SchUseStrongCrypto" -Value 1 -Type DWord

Действия по настройке TLS 1.2

В следующей таблице показаны сочетания Exchange Server и Windows Server, в которых поддерживается ПРОТОКОЛ TLS 1.2. В таблице также показана конфигурация по умолчанию:

Exchange Server Windows Server Поддерживается Настроено по умолчанию
Exchange Server 2019 Любой Да Да (enabled)
Exchange Server 2016 Любой Да Нет
Exchange Server 2013 Любой Да Нет

Включить протокол TLS 1.2

Выполните следующую команду в окне PowerShell с повышенными привилегиями, чтобы включить TLS 1.2 для клиентских и серверных подключений:

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols" -Name "TLS 1.2" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2" -Name "Client" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2" -Name "Server" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Name "DisabledByDefault" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Name "Enabled" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -Name "DisabledByDefault" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -Name "Enabled" -Value 1 -Type DWord

Отключение TLS 1.2

Выполните следующую команду в окне PowerShell с повышенными привилегиями, чтобы отключить TLS 1.2 для клиентских и серверных подключений:

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols" -Name "TLS 1.2" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2" -Name "Client" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2" -Name "Server" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Name "DisabledByDefault" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -Name "DisabledByDefault" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -Name "Enabled" -Value 0 -Type DWord

Действия по настройке TLS 1.1

В следующей таблице показаны сочетания Exchange Server и Windows Server, в которых поддерживается ПРОТОКОЛ TLS 1.1. В таблице также показана конфигурация по умолчанию:

Exchange Server Windows Server Поддерживается Настроено по умолчанию
Exchange Server 2019 Любой Да Да (disabled)
Exchange Server 2016 Любой Да Нет
Exchange Server 2013 Любой Да Нет

Включение TLS 1.1

Примечание.

Реализация Microsoft TLS 1.1 не имеет известных уязвимостей системы безопасности. Но из-за возможности будущих атак с понижением уровня протокола и других уязвимостей TLS рекомендуется тщательно спланировать и отключить TLS 1.1. При тщательном планировании клиенты могут потерять подключение.

Выполните следующую команду в окне PowerShell с повышенными привилегиями, чтобы включить TLS 1.1 для клиентских и серверных подключений:

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols" -Name "TLS 1.1" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1" -Name "Client" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1" -Name "Server" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" -Name "DisabledByDefault" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" -Name "Enabled" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" -Name "DisabledByDefault" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" -Name "Enabled" -Value 1 -Type DWord

Отключение TLS 1.1

Выполните следующую команду в окне PowerShell с повышенными привилегиями, чтобы отключить TLS 1.1 для клиентских и серверных подключений:

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols" -Name "TLS 1.1" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1" -Name "Client" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1" -Name "Server" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" -Name "DisabledByDefault" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" -Name "DisabledByDefault" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" -Name "Enabled" -Value 0 -Type DWord

Действия по настройке TLS 1.0

В следующей таблице показаны сочетания Exchange Server и Windows Server, в которых поддерживается TLS 1.0. В таблице также показана конфигурация по умолчанию:

Exchange Server Windows Server Поддерживается Настроено по умолчанию
Exchange Server 2019 Любой Да Да (disabled)
Exchange Server 2016 Любой Да Нет
Exchange Server 2013 Любой Да Нет

Включение TLS 1.0

Примечание.

Внедрение Microsoft TLS 1.0 не имеет известных уязвимостей безопасности. Но из-за возможности будущих атак с понижением уровня протокола и других уязвимостей TLS рекомендуется тщательно спланировать и отключить TLS 1.0. При тщательном планировании клиенты могут потерять подключение.

Выполните следующую команду в окне PowerShell с повышенными привилегиями, чтобы включить TLS 1.0 для клиентских и серверных подключений:

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols" -Name "TLS 1.0" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0" -Name "Client" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0" -Name "Server" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" -Name "DisabledByDefault" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" -Name "Enabled" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" -Name "DisabledByDefault" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" -Name "Enabled" -Value 1 -Type DWord

Отключение TLS 1.0

Выполните следующую команду в окне PowerShell с повышенными привилегиями, чтобы отключить TLS 1.0 для клиентских и серверных подключений:

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols" -Name "TLS 1.0" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0" -Name "Client" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0" -Name "Server" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" -Name "DisabledByDefault" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" -Name "DisabledByDefault" -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" -Name "Enabled" -Value 0 -Type DWord

Рекомендации по алгоритмам шифрования и хэширования

Важно!

Шаги, описанные в этом разделе, являются необязательными для описанных ранее шагов. Перед выполнением следующих действий необходимо настроить TLS 1.2 и полностью отключить TLS 1.0 и 1.1.

Рассмотрите возможность применения этих параметров отдельно к отключению TLS 1.0 и TLS 1.1 для изоляции проблемных клиентов с конфигурацией.

Настройка строгого режима повторного согласования TLS клиента и сервера

В следующей таблице показаны сочетания Exchange Server и Windows Server с конфигурацией строгого режима перезаключения TLS по умолчанию.

Exchange Server Windows Server Поддерживается Настроено по умолчанию
Exchange Server 2019 Любой Да Да (strict mode enabled)
Exchange Server 2016 Любой Да Нет
Exchange Server 2013 Любой Нет Н/Д

Эти параметры используются для настройки строгого режима повторного согласования TLS. Это означает, что сервер разрешает только тем клиентам, к которым применяется это обновление для системы безопасности , для настройки и повторного согласования сеансов TLS. Сервер не разрешает клиентам, к которым не применяется это обновление для системы безопасности , для настройки сеанса TLS. В этом случае сервер завершает такие запросы от клиентов.

Аналогичным образом, если это обновление для системы безопасности применяется к клиенту и клиент находится в строгом режиме, клиент может настроить и перезаготовить сеансы TLS со всеми серверами, для которых применяется это обновление для системы безопасности. Клиенты не могут вообще настроить сеансы TLS на серверах, для которых это обновление для системы безопасности не применяется. Клиент не может выполнить попытку согласования TLS с такими серверами.

Выполните следующую команду в окне PowerShell с повышенными привилегиями, чтобы включить строгий режим повторного переговоров:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "AllowInsecureRenegoClients" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "AllowInsecureRenegoServers" -Value 0 -Type DWord

В следующей таблице показаны сочетания Exchange Server и Windows Server с рекомендуемой конфигурацией наборов шифров по умолчанию.

Exchange Server Windows Server Поддерживается Настроено по умолчанию
Exchange Server 2019 Любой Да Да
Exchange Server 2016 Любой Да Нет
Exchange Server 2013 Windows Server 2012 (R2) Да Нет

Windows Server 2012 и Windows Server 2012 R2.

Выполните следующие команды в окне PowerShell с повышенными привилегиями, чтобы настроить рекомендуемые наборы шифров:

New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010002" -Name "Functions" -PropertyType MultiString -Value "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256" -Force

Windows Server 2016 или выше

Примечание.

Наборы шифров можно настроить, используя объект групповая политика (GPO). Вы не можете настроить их вручную с помощью Enable/Disable-TLSCipherSuite командлета, если они уже настроены с помощью объекта групповой Functions политики или раздел реестра уже существует по следующему пути: HKLM:\SOFTWARE\Policies\Microsoft\Cryptography\Configuration\SSL\00010002

Выполните следующие команды в окне PowerShell с повышенными привилегиями, чтобы настроить рекомендуемые наборы шифров.

Первая задача — отключить все существующие наборы шифров:

foreach ($suite in (Get-TLSCipherSuite).Name) {
    if (-not([string]::IsNullOrWhiteSpace($suite))) {
        Disable-TlsCipherSuite -Name $suite -ErrorAction SilentlyContinue
    }
}

Вторая задача заключается в том, чтобы включить только рекомендуемые наборы шифров TLS 1.2:

$cipherSuites = @('TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384',
                'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256',
                'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384',
                'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256',
                'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384',
                'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256',
                'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384',
                'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256')

$suiteCount = 0
foreach ($suite in $cipherSuites) {
    Enable-TlsCipherSuite -Name $suite -Position $suiteCount
    $suiteCount++
}

Отключение устаревших шифров и хэшей

В следующей таблице показаны сочетания Exchange Server и Windows Server с устаревшей конфигурацией шифров и хэшей по умолчанию.

Exchange Server Windows Server Поддерживается Настроено по умолчанию
Exchange Server 2019 Любой Да Да
Exchange Server 2016 Любой Да Нет
Exchange Server 2013 Windows Server 2012 (R2) Да Нет

Выполните следующую команду в окне PowerShell с повышенными привилегиями, чтобы отключить устаревшие шифры и хэши:

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "Hashes" -ErrorAction SilentlyContinue
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL" -Name "Ciphers" -ErrorAction SilentlyContinue
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("DES 56/56")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("NULL")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("RC2 40/128")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("RC2 56/128")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("RC2 56/56")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("RC4 40/128")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("RC4 56/128")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("RC4 64/128")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("RC4 128/128")
(Get-Item HKLM:).OpenSubKey("SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers", $true).CreateSubKey("Triple DES 168")
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes" -Name "MD5" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\DES 56/56" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\NULL" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 40/128" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 56/128" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 56/56" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 64/128" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple DES 168" -Name "Enabled" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\MD5" -Name "Enabled" -Value 0 -Type DWord

Настройка предпочтения эллиптических кривых

В следующей таблице показаны сочетания Exchange Server и Windows Server с конфигурацией предпочтения эллиптических кривых по умолчанию.

Exchange Server Windows Server Поддерживается Настроено по умолчанию
Exchange Server 2019 Любой Да Да
Exchange Server 2016 Windows Server 2016 Да Нет
Exchange Server 2013 Любой Нет Н/Д

Примечание.

Мы рекомендуем отключить curve25519 эллиптическую кривую, так как она недоступна в режиме FIPS. Дополнительные сведения см. в статье Tls Elliptic Curves in Windows 10 версии 1607 и более поздних.

Выполните следующую команду в окне PowerShell с повышенными привилегиями, чтобы настроить параметр эллиптической кривой:

Disable-TlsEccCurve -Name "curve25519"
Enable-TlsEccCurve -Name "NistP384" -Position 0
Enable-TlsEccCurve -Name "NistP256" -Position 1

Проверка использования TLS 1.2

После включения TLS 1.2 может быть полезно убедиться, что работа выполнена успешно и система сможет согласовать ПРОТОКОЛ TLS 1.2 для входящих (серверных) и исходящих (клиентских) подключений. Существует несколько методов проверки использования TLS, некоторые из которых рассматриваются в следующих разделах.

Многие протоколы, используемые в Exchange Server, основаны на HTTP и, следовательно, проходят процессы IIS на сервере Exchange Server. MAPI/HTTP, Outlook Anywhere, Веб-службы Exchange, Exchange ActiveSync, REST, OWA & EAC, загрузка автономной адресной книги и автообнаружение — это примеры протоколов на основе HTTP, используемых Exchange Server.

Журналы служб IIS

Команда IIS добавила возможности для Windows Server 2012 R2 или более поздней версии для регистрации настраиваемых полей, связанных с версиями протокола шифрования и шифрами. Мы рекомендуем просмотреть в блоге документацию о том, как включить эти настраиваемые поля и начать анализ журналов для получения сведений о входящих подключениях в вашей среде, связанных с протоколами на основе HTTP.

Эти настраиваемые поля IIS не существуют для версии Windows Server, предшествующей Windows Server 2012 R2. Эти сведения могут предоставляться в журналах подсистемы балансировки нагрузки или брандмауэра. Запросите рекомендации у поставщиков, чтобы определить, могут ли их журналы предоставлять эту информацию.

Проверка версии TLS с помощью средств разработчика Microsoft Edge

Вы можете использовать Developer Tools, доступные в Microsoft Edge, чтобы проверка версию TLS, которая использовалась для установки безопасного подключения, при подключении к Outlook в Интернете (OWA) или Exchange Администратор Center (ECP). Для этого выполните следующие действия:

  1. Откройте браузер Microsoft Edge и установите HTTPS-подключение к OWA или ECP.
  2. Нажмите , CTRL + SHIFT + I чтобы открыть Developer Tools.
  3. Щелкните символ в + правом верхнем углу.
  4. Security Щелкните в раскрывающемся меню.
  5. Проверьте версию TLS в Connection - secure connection settings разделе .

Заголовки сообщений (Exchange Server 2016 или более поздней версии)

Данные заголовков сообщений в Exchange Server 2016 или более поздней версии предоставляют протокол, согласованный и используемый, когда отправляющий и получающий узел обменивается фрагментом почты. Вы можете использовать анализатор заголовков сообщений , чтобы получить четкий обзор каждого прыжка.

Примечание.

Существует одно известное исключение из примера заголовков сообщений. Когда клиент отправляет сообщение путем подключения к серверу с использованием протокола SMTP с проверкой подлинности (также известного как протокол отправки клиента SMTP), версия TLS в заголовках сообщений не отображает правильную версию TLS, используемую клиентом или устройством клиента. Корпорация Майкрософт изучает возможность добавления этой информации в будущем обновлении.

Поток обработки почты через ведение журнала SMTP

Журналы SMTP в Exchange Server 2013 и более поздних версиях будут содержать протокол шифрования и другую информацию, связанную с шифрованием, используемую при обмене электронной почтой между двумя системами.

Если сервером является SMTP receiving system, найдите в журнале Server value в зависимости от используемой версии TLS. Если сервером является SMTP sending system, найдите в журнале Client value в зависимости от используемой версии TLS.

Версия TLS Значение сервера Значение клиента
TLS 1.0 SP_PROT_TLS1_0_SERVER SP_PROT TLS1_0_CLIENT
TLS 1.1 SP_PROT_TLS1_1_SERVER SP_PROT-TLS1_1_CLIENT
TLS 1.2 SP_PROT_TLS1_2_SERVER SP_PROT TLS1_2_CLIENT

В следующем примере выполняется поиск подключений, выполненных по протоколу TLS 1.0, в файлах журнала на сервере Exchange Server, на котором выполняется роль почтового ящика.

Select-String -Path (((Get-TransportService -Identity $env:COMPUTERNAME).ReceiveProtocolLogPath).PathName.Replace("Hub","FrontEnd")+"\*.log") "SP_PROT_TLS1_0"

Пример поиска файлов журналов на сервере Exchange Server, на котором выполняется роль пограничного транспорта, для подключений, выполненных по протоколу TLS 1.1:

Select-String -Path (((Get-TransportService -Identity $env:COMPUTERNAME).ReceiveProtocolLogPath).PathName+"\*.log") "SP_PROT_TLS1_1"

POP и IMAP

Не существует ведения журнала, которое будет предоставлять версию протокола шифрования, используемую для клиентов POP и IMAP. Чтобы захватить эти сведения, может потребоваться записать трассировку Netmon с сервера или проверить трафик по мере его прохождения через подсистему балансировки нагрузки или брандмауэр, где выполняется мостовая передача HTTPS.