首先在這個(gè)網(wǎng)站上測(cè)試一下自己的服務(wù)器究竟處于什么水平。
https://www.ssllabs.com/ssltest/
測(cè)試結(jié)果顯示是支持SSL3.0的并且不支持TLS 1.2。證書(shū)使用SHA1簽名算法不夠強(qiáng)。這點(diǎn)比較容易接受,因?yàn)閃indows服務(wù)器默認(rèn)并沒(méi)有開(kāi)啟TLS1.2。
要提高服務(wù)器的評(píng)級(jí),有3點(diǎn)需要做。
使用SHA256簽名算法的證書(shū)。
禁用SSL3.0,啟用TLS1.2
禁用一些弱加密算法。
由于目前服務(wù)器使用的證書(shū)是近3年前購(gòu)買(mǎi)的,正好需要重新購(gòu)買(mǎi),順便就可以使用SHA256簽名算法來(lái)買(mǎi)新的證書(shū)就可以了。在生產(chǎn)環(huán)境部署之前,先用測(cè)試機(jī)測(cè)試一下。
根據(jù)這篇文章中的3條命令把證書(shū)頒發(fā)機(jī)構(gòu)的簽名算法升級(jí)上去。測(cè)試環(huán)境是Windows2012 R2,默認(rèn)的簽名算法是SHA1
UpgradeCertification Authority to SHA256
http://blogs.technet.com/b/pki/archive/2013/09/19/upgrade-certification-authority-to-sha256.aspx
certutil -setreg ca/csp/CNGHashAlgorithm SHA256
net stop certsvc
net start certsvc
然后,在服務(wù)器中添加注冊(cè)表鍵值并重啟已啟用TLS1.2和禁用SSL3.0
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/SecurityProviders/SCHANNEL/Protocols/TLS1.2/Server/Enabled REG_DWORD類型設(shè)置為1.
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/SecurityProviders/SCHANNEL/Protocols/SSL3.0/Server Enabled REG_DWORD類型設(shè)置為0.
重新啟動(dòng)服務(wù)器,是設(shè)置生效。
由于測(cè)試機(jī)沒(méi)有公網(wǎng)地址,所以去下載個(gè)測(cè)試工具,方便測(cè)試。
http://www.bolet.org/TestSSLServer/
可以下載到EXE或者JAVA版本的測(cè)試工具,方便的在內(nèi)網(wǎng)測(cè)試服務(wù)器支持的加密方式。
測(cè)試了一下,發(fā)現(xiàn)TLS1.2沒(méi)有啟用。
難道是啟用方法不對(duì)?于是開(kāi)始檢查各種服務(wù)器的日志,也的確發(fā)現(xiàn)了TLS1.2不能建立的報(bào)錯(cuò)了。
網(wǎng)上查了很多文章,也沒(méi)有說(shuō)什么解決辦法。后來(lái)?yè)Q了下證書(shū),用回SHA1的證書(shū),TLS1.2就能顯示成功啟用了。
難道是證書(shū)有問(wèn)題,于是就各種搜索SHA1證書(shū)和SHA256證書(shū)的區(qū)別,同時(shí)也測(cè)試了一些別人的網(wǎng)站,結(jié)果發(fā)現(xiàn)別人用SHA256證書(shū)也能支持TLS1.2. 難道是我的CA有問(wèn)題?
又研究了幾天,也測(cè)試了2008 R2的機(jī)器還是同樣的問(wèn)題。正好新買(mǎi)的公網(wǎng)證書(shū)也下來(lái)了。就拿這張證書(shū)先放到測(cè)試服務(wù)器上測(cè)試,結(jié)果還是不行。但是別人的服務(wù)器的確可以啊。
在此期間發(fā)現(xiàn)兩篇比較好的文章,用Powershell來(lái)幫助我們啟用TLS1.2以及如何設(shè)定服務(wù)器的加密算法順序。
Setupyour IIS for SSL Perfect Forward Secrecy and TLS 1.2
https://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12
EnablingTLS 1.2 on IIS 7.5 for 256-bit cipher strength
http://jackstromberg.com/2013/09/enabling-tls-1-2-on-iis-7-5-for-256-bit-cipher-strength/
那么問(wèn)題究竟出在哪呢?可能的問(wèn)題,SHA256證書(shū)有問(wèn)題?服務(wù)器不支持TLS1.2?然后根據(jù)Windows日志中的錯(cuò)誤繼續(xù)查找,都沒(méi)能找到什么有用的信息。
于是求助朋友,朋友發(fā)來(lái)一段信息。
|
新聞熱點(diǎn)
疑難解答
圖片精選