Alan Tsai 的學習筆記


學而不思則罔,思而不學則殆,不思不學則“網貸” 記錄軟體開發的點點滴滴 著重於微軟技術、網頁開發、DevOps、C#, Asp .net Mvc、Azure、AI、Chatbot、Docker、Data Science

[iis]為什麼ssl cipher suite關閉了檢查還是有出現問題 - 如何local檢查ssl和cipher suite

2017-11-30 星期四
image
圖片來源:https://pixabay.com/en/despair-alone-being-alone-archetype-513528/

之前有介紹透過使用IISCrypto來快速設定SSL相關的資安設定。正常來說只要重啟以後禁用的ssl和cipher suite應該就不會出現。

不過如果用一些檢測工具,例如透過Qualys SSL Lab的SSL ServerTest,那麼有可能還是會看到已經禁用的cipher suite

這是為什麼呢?這樣到底如何驗證設定是否有成功?這篇將會介紹如何透過local檢測的方式確認修改是否有成功。

發生原因

有時候web的機器本身是我們管理,但是整個架構並不是,因此並不知道是不是還有什麼在Server外面, 以我遇到的例子來看,很有可能是在Server外面還有一層Web Application Framework(WAF)導致。

所以就算Server那台透過IISCrypto設定好了,但是假設外面那台沒有設定,那麼當使用網路的服務像是ssl labs的測試,檢測到的其實是外面那台,而不是Server本身。

image
線上測試不通過

解決方式 - 使用TestSSLServer工具做local測試

既然不知道Server外面有什麼可能導致線上測試不準確,那麼可以使用工具local直接測試機器是否設定成功。

一開始使用的工具是:nmap - 但是我自己在測試的時候並沒有成功,並且這個需要安裝的東西比較多(都是檢測用的),因此就放棄使用。

最後使用的是:TestSSLServer

TestSSLServer工具檔案

TestSSLServer的使用方式

這個是一個command line的工具,下載下來之後,使用cmd執行即可。

最簡單的使用方式就是輸入:TestSSLServer4.exe localhost

image
執行出來的結果

從上面的截圖可以看出其實3DES相關的cipher沒有了,但是網路的測試還是又出現。

如果想要把結果儲存起來,可以使用TestSSLServer4.exe -text result.txt localhost - 這個就是把結果匯出到檔案result.txt

TestSSLServer cipher suite強度介紹

這個工具其實也可以看出目前允許使用的cipher suite強度如何。

在第一欄(Server)有三個值:

  1. 第一個值有三種值(0代表非加密,1代表非常弱,2代表弱,3代表強)
  2. 第二個值如果是f表示支援前向安全性(Forward Secrecy),如果不支援則是-
  3. 第三個值如果是A表示anonymous,要不然就是-

理論上3f-是最強的suite。

image
機器的檢測結果

從截圖裡面可以看出這台的強度都至少在3,因此強度來說應該都沒有問題。

結語

有時候明明設定好了,但是測試不通過的原因是因為被測試的並不是你改的機器,因此用local的工具來測試比較準確。

以這個例子來說,至少有證據表示local看起來設定沒問題,至於線上測試有問題可能就是別的系統(非我們可以控制的部分)導致。

標籤: ,,

如果文章對您有幫助,就請我喝杯飲料吧
街口支付QR Code
街口支付QR Code
街口支付QR Code
支付寶QR Code
街口支付QR Code
微信支付QR Code
2017-11-30 星期四
comments powered by Disqus