解决Exchange 2016 Chrome浏览器无法登陆OWA以及ECP问题
很久没写博了,其实也积攒了一些可以写的东西,准备陆续拿出来分享一下,最近遇到一个很奇葩的问题,在Azure上搭了一套Exchange 2016的测试环境,搭建的过程就不说了,Exchange 2016基本和2013安装没什么太大区别。
安装的过程很顺利,但是安装完成之后,偶然间突然发现一个问题,那就是ECP和OWA在IE浏览器登陆一切正常,但是在Chrome上却发现ECP和OWA无法正常登陆,提示ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY
我累个擦这啥玩意,IE能上,chrome却不能,这个问题确实有点怪,正常来讲,IE既然能连上,chrome应该也没什么问题,这是什么原因呢?
IE既然可以正常连接,那么问题应该就出在chrome身上了,大家都知道google对安全性的重视是非常高的,一般来说在浏览器安全方面的一些革新和措施都是google先发起,然后各家先后跟风,比如之前对各种违规的CA厂商的不再信任的措施,而我用的一般又都是chrome比较新的版本,顺着这个思路,准备尝试着换一个比较旧的版本来试一下,下载了一个Chrome 42的版本之后,发现果然就没再遇到之前的问题
这样基本上就可以确认是Chrome版本的问题了,很有可能是google又出了什么安全措施,导致了这个问题,之后又google一下报错的代码,果然发现了不少事情
原来是Chrome已经停止了对很多过时的协议以及加密算法的支持,这也导致用这些加密算法的连接都不会被chrome接受,比如PCT 1.0 SSL 2.0 SSL 3.0 以及RC2 128/128 RC2 56/128等等
问题既然确认了,那么如何解决呢,首先先安利一些很好用的工具和网站
1.https://www.ssllabs.com/ssltest/
这个网站也可以查看网站的证书信息,使用的加密算法,并且还会对其进行评级,对于查看这种因为算法和协议引起的问题实在是再好不过了,有兴趣的可以试试,以下是测评的一个截图
2.TestSSLServer
这是个本地的小工具,可以看到本地服务器使用的协议和算法
最后问题是怎么解决的,有两种办法
解决办法之一:禁用以下协议和加密算法,稍微麻烦点
MultiProtocol Unified Hello
PCT 1.0
SSL 2.0
SSL 3.0
preferred via registry like:
; Disable PCT 1.0
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
; Disable SSL 2.0
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]
"DisabledByDefault"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
"Enabled"=dword:00000000
; Disable SSL 3.0
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000
and
NULL Cipher
DES 56/56
RC2 (fully)
RC4 (fully)
via
; Disable weak ciphers
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\DES 56/56]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\NULL]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 128/128]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 40/128]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 56/128]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 56/56]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 64/128]
"Enabled"=dword:00000000
解决办法之二,介绍一个很厉害的小工具,下边是下载地址,这个工具可以支持一键设置服务器,自动配置成最佳实践的状态,省去了不少时间
https://www.nartac.com/Products/IISCrypto
下载完成后,接受用户协议
然后可以看到当前服务器使用的加密算法和协议
接下来直接点击左下角的best practices,然后重启服务器
重启之后chrome问题解决,我只想说,实在是太特么方便了
最后,问题解决,皆大欢喜。