下面我就介紹2種解決辦法,實(shí)現(xiàn)將IP地址信息替換為域名信息的目的,幫助系統(tǒng)管理員消除內(nèi)部網(wǎng)的IP地址泄漏隱患。
什么是IIS對(duì)頁(yè)面文件的響應(yīng)信息
當(dāng)我們使用瀏覽器訪問IIS網(wǎng)站W(wǎng)eb服務(wù)器上的頁(yè)面內(nèi)容時(shí),IIS將返回給用戶一個(gè)完整的響應(yīng)信息。簡(jiǎn)單情況下,我們可以認(rèn)為這個(gè)響應(yīng)信息包含2部分內(nèi)容:
1、系統(tǒng)信息:
諸如訪問狀態(tài)、服務(wù)器信息、文件類型、正文長(zhǎng)度等內(nèi)容。
2、正文信息:
通常情況下就是我們?cè)跒g覽器中看到的頁(yè)面內(nèi)容,也就是在瀏覽器中可以查看到的頁(yè)面源代碼內(nèi)容。
當(dāng)我們使用高級(jí)語(yǔ)言中的相關(guān)Internet控件訪問一個(gè)頁(yè)面內(nèi)容時(shí),比如使用VB的InternetControl控件來(lái)編寫自己的瀏覽器或者程序,最終就會(huì)得到包含上述2部分內(nèi)容的完整響應(yīng)信息。
首先我們來(lái)看看一個(gè)例子,它顯示了默認(rèn)安裝情況下IIS對(duì)HTML文件的響應(yīng)信息:
HTTP/1.1 200OK
Server:Microsoft-IIS/5.0
Content-Location:http://192.168.1.1/index.htm
Date:Wed, 31Oct200104:19:40GMT
Content-Type:text/html
Accept-Ranges:bytes
Last-Modified:Fri, 12Oct200107:48:06GMT
ETag:"03f7e3af252c11:9a2 "
Content-Length:7141
上面響應(yīng)信息的第3行內(nèi)容包含了內(nèi)部網(wǎng)的IP地址信息,這是我們不希望的。我們希望IIS響應(yīng)如下的內(nèi)容:
HTTP/1.1 200OK
Server:Microsoft-IIS/5.0
Content-Location:http://www.mywebsite.com/index.htm
Date:Wed, 31Oct200104:19:40GMT
Content-Type:text/html
Accept-Ranges:bytes
Last-Modified:Fri, 12Oct200107:48:06GMT
ETag:"03f7e3af252c11:9a2 "
Content-Length:7141
也就是說(shuō),將第3行內(nèi)容中的IP地址信息替換為域名信息。下面來(lái)看看解決辦法。
解決方法一:執(zhí)行腳本程序Adsutil.vbs
通過修改IIS數(shù)據(jù)庫(kù)中的一個(gè)數(shù)值,就可以達(dá)到將Content-Location文件頭中的IP地址信息轉(zhuǎn)換為域名信息的目的。
第一種方法是通過執(zhí)行一個(gè)VBS腳本程序完成IIS數(shù)據(jù)庫(kù)的相關(guān)修改工作,這個(gè)腳本程序叫做Adsutil.vbs,它隨IIS安裝后生成。
注意:由于實(shí)際的應(yīng)用環(huán)境不同,微軟公司沒有擔(dān)保這個(gè)軟件的使用安全性。所以,我建議在執(zhí)行這個(gè)腳本程序前,做好服務(wù)器上的重要數(shù)據(jù)備份。
對(duì)于IIS4.0服務(wù)器,執(zhí)行步驟如下:
1、點(diǎn)擊“開始/運(yùn)行”,輸入“cmd”,點(diǎn)擊“確定”,進(jìn)入命令行狀態(tài)窗口。
2、切換到IIS4.0系統(tǒng)程序安裝目錄,一般是c:\winnt\system32\inetsrv\adminsamples 。
3、執(zhí)行以下命令,修改IIS數(shù)據(jù)庫(kù)相關(guān)數(shù)值,設(shè)置Content-Location文件頭使用域名信息:
adsutilsetw3svc/UseHostNameTrue
4、執(zhí)行以下命令,關(guān)閉Internet服務(wù)程序:netstopiisadmin/y
5、執(zhí)行以下命令,重新啟動(dòng)相關(guān)Internet應(yīng)用程序:netstartw3svc
注意:在執(zhí)行完第4步后,要觀察一下都有哪些Internet應(yīng)用程序被停止,然后在第5步中依次重新啟動(dòng)它們。
對(duì)于IIS5.0服務(wù)器,執(zhí)行步驟如下:
1、點(diǎn)擊“開始/運(yùn)行”,輸入“cmd”,點(diǎn)擊“確定”,進(jìn)入命令行狀態(tài)窗口。
2、切換到IIS5.0系統(tǒng)程序安裝目錄,一般是c:\inetpub\adminscripts 。
3、執(zhí)行以下命令,修改IIS數(shù)據(jù)庫(kù)相關(guān)數(shù)值,設(shè)置Content-Location文件頭使用域名信息:adsutilsetw3svc/UseHostNameTrue
4、執(zhí)行以下命令,關(guān)閉Internet服務(wù)程序:netstopiisadmin/y
5、執(zhí)行以下命令,重新啟動(dòng)相關(guān)Internet應(yīng)用程序:netstartw3svc
同樣請(qǐng)注意:在執(zhí)行完第4步后,要觀察一下都有哪些Internet應(yīng)用程序被停止,然后在第5步中依次重新啟動(dòng)它們。
解決方法二:將.htm文件改名為.ASP文件,并定制文件頭信息
我要介紹的第二種方法采取了一種間接處理的方式:
1、首先將.HTM文件改名為.ASP文件。
2、因?yàn)镮IS對(duì)ASP文件的響應(yīng)中,并不包含Content-Location'>文件頭內(nèi)容,所以接著要在IIS管理器中為之創(chuàng)建一個(gè)定制文件頭,以返回特殊的Content-Location文件頭內(nèi)容。
下面我們來(lái)看看具體的操作步驟:
1、將靜態(tài)頁(yè)面文件(比如 .htm,.html)改名為.asp文件。注意,經(jīng)過這樣的文件改名后,當(dāng)訪問原來(lái)的.htm文件時(shí),將啟動(dòng)ASP引擎,從性能上來(lái)看,是稍稍有些降低的。
2、啟動(dòng)Internet服務(wù)管理器
3、雙擊“Internet信息服務(wù)”,擴(kuò)展下屬內(nèi)容
4、點(diǎn)擊要處理服務(wù)器名字左邊的+號(hào),擴(kuò)展下屬內(nèi)容
5、右鍵點(diǎn)擊“默認(rèn)Web站點(diǎn)”,選擇“屬性”
6、點(diǎn)擊“頭”選項(xiàng)卡
7、在“自定義頭”部分,點(diǎn)擊“添加”
8、在“自定義頭名稱”處輸入“Content-Location”,在“自定義頭值”處輸入你期望的域名信息,比如“ttp://www.mywebsite.com”:
9、依次點(diǎn)擊“確定”,完成全部修改工作