如何處理IIS 6.0 HTTP Header含有內部IP資訊問題

這個問題,其實在資安團隊班傑明的文章([筆記]HTTP標頭洩露內部IP資安問題解決方法)中就有了,只是大家都不太注意到,而會再度貼這張帖主要的原因,是因為在微軟上面的KB,確實是無法完整的修補這個弱點…

這個問題,其實在資安團隊班傑明的文章([筆記]HTTP標頭洩露內部IP資安問題解決方法)中就有了,只是大家都不太注意到,而會再度貼這張帖主要的原因,是因為在微軟上面的KB,確實是無法完整的修補這個弱點,而網路上又一堆人在問這個該如何處理,即然KB解決不了,我們轉個彎來處理吧!

這個問題在資訊安全的弱點掃描部份,是屬於資訊收集的部份,透過IIS HTTP檔頭去得知伺服器所在的內部資訊(IP、FQDN),也許大家覺的,這個還好嘛!!不足以構成什麼威脅,而當一個駭客在收集完一些您不覺的怎樣的資訊後,組合成為一個更大的資訊範圍時,你可能才會有感覺了,首先我們必須先了解一個問題,因為它HTTP header中所載的資訊是比較常見的資訊,幾乎隨手可得,而造成資訊外洩的就是Content-Location,因此即然修補不掉,我們就直接讓它查詢到的是外部的Content-Location,其修改的步驟如下:

IIS 6.0(含以下)

首先於IIS管理員中,開啟站台的內容項目。

IIS開內容

接下來切換至HTTP標頭中,點下自訂HTTP標頭的新增按鈕

HTTP標頭內容

並且於名稱欄位中輸入Content-Location,於值中則是輸入該網站的FQDN(本例以www.jason.com.tw)。

設定content-location

完成後如下圖:

設定完成

 

如何測試

透過nc(NetCat)或者是Telnet去連接測試的主機的80Port

nc www.jason.com.tw 80
telnet www.jason.com.tw 80

 

接下來於指令連入後執行下列語法

GET / HTTP/1.0

完成後,連續按下兩個Enter,即會顯示下列視窗,若未修正,則像是圖一(看到Content-Location)欄位中含有內部IP

 欄位中含有內部IP

若已完成修正,則會像下列圖二,在Content-Location中的則是這個站台的FQDN,這個方法適用於多站台共用80Port。

Content-Location中的則是這個站台的FQDN

本文相關KB

網際網路資訊伺服器傳回 HTTP 標頭 (內容位置) 中的IP 位址 http://support.microsoft.com/kb/q218180/
在 TCP 標頭在 IIS 6.0 中的 [內容位置] 欄位中顯示的是 IP 位址 http://support.microsoft.com/kb/834141/

 

希望本文可以給大家另一個解決方法,有任何問題歡迎大家一起提出討論!


Anything keeps Availability.
Anywhere keeps Integrity.
Anytime keeps Confidentiality.
keep A.I.C. = Information Security