微軟的一個補丁,讓所有的應用當機,可怕

datapeng發表於2017-03-16

    最近在阿里雲上部署了一臺機器,安裝了sql server2012資料庫,把原來的資料遷移過來,結果悲劇了,日誌裡報出如下錯誤:

com.microsoft.sqlserver.jdbc.SQLServerException: 驅動程式無法透過使用安全套接字層(SSL)加密與 SQL Server 建立安全連線。錯誤:“SQL Server 返回的響應不完整。連線已關閉。
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1667)

    感覺很奇怪,作業系統沒有變化,都是由阿里雲提供安裝的,資料庫版本也沒有變化,也是一樣的介質安裝的,結果就搞不懂了,出現一種非常惡劣的情況,幾臺應用突然因為連線洩露,全部當機,直接讓生產歇菜,這下日誌難過了。開始還以為是程式的問題,結果程式方面進行全面的檢查,也沒有發現什麼。
    後來諮詢了微軟的一位比較資深的人士,他告訴我們可能是由於以下補丁的安全信任機制引起的,具體補丁如下:
    KB3172605、KB3172614、KB3161608、KB3161606、KB3156418
有了這個,當然也就有了解決方法,解除安裝補丁了。

處理方法1:
    我們程式中搜尋了以上補丁,在我們機器上只有KB3172605這個補丁。與原來老的機器比較,老的機器確實沒有這個補丁。
    我們透過平臺把補丁解除安裝了,然後把TLS_DHE_RSA_WITH_AES_128_CBC_SHA   TLS_DHE_RSA_WITH_AES_256_CBC_SHA這兩個ssl密碼套件的值清理掉,作業系統重啟後,再啟應用,再也沒有報錯。
後來,我們從google上搜尋,網上也給出了第二種解決方案,如下:
處理方法2:
1 在命令提示符或搜尋中,輸入gpedit.msc,然後點選確定或Enter鍵,進入“本地組策略編輯器”。
2 在編輯器左側“本地計算機策略”中,依次選擇“計算機配置”-->“管理模板”-->“網路”-->“SSL 配置設定”。
3 在編輯器右側雙擊設定下的“SSL 密碼套件順序”。進入“SSL 密碼套件順序”編輯器。
4 選擇“已啟用”。
5 刪除“選項”中“SSL 密碼套件”的值中如下兩個套件:
TLS_DHE_RSA_WITH_AES_128_CBC_SHA   TLS_DHE_RSA_WITH_AES_256_CBC_SHA
6 點選右下角的“應用”後,點選“確定”。
7 重啟計算機。

同樣,在java平臺上也給出瞭解決方案,1.6及1.6以下的版本,需要打補丁。

微軟也是坑人呀,阿里也是坑人的,沒有驗證的補丁,不具備通用性,也直接加進去,我算是被坑了一把,還一直怪人家程式有問題,殊不知是自己的問題,掉大了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29371470/viewspace-2135441/,如需轉載,請註明出處,否則將追究法律責任。

相關文章