Group policy setting "System Cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing." overrides security channels settings on Windows system, even they are more secure.
Убедился в этом опытным путем. Стояла задача обеспечить взаимодействие с SQL сервером по протоколу TLS 1.2 Для этого прочитал руководства от Microsoft
«TLS 1.2 support for Microsoft SQL Server»,
«TLS 1.2 Support for SQL Server 2008, 2008 R2, 2012 and 2014» и на машине с SQL сервером разрешил только TLS 1.2 .
На второй машине, в оснастке ODBC Data Source Administrator:
Создал датасорс на основе «старой» версии драйвера, не поддерживающего TLS 1.2:
При попытке соединения с моим SQL сервером получил закономерную ошибку «SSL Security error»:
Далее интересный момент: включил в доменной групповой политике опцию «System Cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing.», применил политику на машинах. Произошло чудо - старый драйвер стал успешно соединяться с SQL сервером на котором разрешен только TLS 1.2, при этом после применения групповой политики настройки security channels не сбрасываются в реестре:
Пришлось потратить некоторое время и силы для понимания того что происходит. Ответ нашел в статье
«Speaking in Ciphers and other Enigmatic tongues…update!» из блога
«Ask the Directory Services Team»:
Enabling this group policy setting effectively disables everything except TLS. **ATTENTION** If you are applying the FIPS compliant algorithm group policy, the application of this policy will overrule whatever you have manually defined in the SCHANNEL\Protocols key. For example, if you disable TLS 1.0 here - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\TLS 1.0, the application of the FIPS group policy will overrule this and TLS 1.0 will again be available.
Вот такие пироги. Жаль, что такая важная особенность довольно глубоко спрятана от «общих глаз».