萬盛學電腦網

 萬盛學電腦網 >> 健康知識 >> 給IIS Web虛擬主機服務器裝上一把鎖

給IIS Web虛擬主機服務器裝上一把鎖

  為了提高IIS的安全性,微軟提供了兩個工具:IIS Lockdown和URLScan,其中IIS Lockdown 2.1包含了URLScan。IIS Lockdown 2.1具有如下功能:⑴ 禁用或者刪除不必要的IIS服務和組件。⑵ 修改默認配置,提高系統文件和Web內容目錄的安全性。⑶ 用URLScan來過濾HTTP請求。本文介紹如何運用IIS Lockdown 2.1的前兩項功能。注意本文的說明針對 IIS Lockdown 2.1版本,以前版本的用法大不相同。一、注意事項IIS Lockdown會改變IIS的運行方式,因此很可能與依賴IIS某些功能的應用沖突。特別地,如果要在一個運行Microsoft Exchange 2000 Server、Exchange Server 5.5或Microsoft SharePoint Portal Server的服務器上安裝IIS Lockdown和URLScan,應當加倍小心。微軟的兩篇文章解釋了可能遇到的困難和解決辦法:《XADM:在Exchange 2000環境中使用IIS Lockdown向導的已知問題和調整策略》(?scid=kb;en-us;q309677),以及《SPS:IIS Lockdown工具影響SharePoint Portal Server》(?scid=kb;en-us;q309675)。另外,在正式應用IIS Lockdown或URLScan之前,務必搜索微軟的知識庫,收集可能出現問題的最新資料。掌握這些資料並了解其建議之後,再在測試服務器上安裝IIS Lockdown,全面測試Web應用需要的IIS功能是否受到影響。最後,做一次全面的系統備份,以便在系統功能受到嚴重影響時迅速恢復。二、安裝IIS Lockdown 2.1可以從?releaseid=33961下載。下載之後得到一個iislockd.exe,雙擊運行,把它解壓縮到一個臨時目錄並啟動IIS Lockdown向導。但是,如果要用IIS Lockdown來保護多個服務器,最好按照下文的說明把它解壓縮到一個專用目錄,這樣就不必每次運行IIS Lockdown都要重新解壓縮了。必須注意的是,下載得到的是一個自解壓縮的執行文件,這個執行文件與壓縮包裡面的應用執行文件同名。因此,如果把iislockd.exe解壓縮到它本身所在的目錄,就會引起文件名稱沖突。請按照下面的安裝步驟執行,以避免可能出現的問題:㈠ 將iislockd.exe下載到一個臨時目錄。㈡ 打開控制台窗口,進入臨時目錄,執行命令“iislockd.exe /q /c /t:c:\IISLockdown”解開壓縮,/q要求以“安靜”模式操作,/c要求IIS Lockdown只執行提取文件的操作,和-t選項一起使用,-t選項指定了要把文件解壓縮到哪一個目錄(例如在本例中,要求把文件解壓縮到c:\IISLockdown目錄)。表一列出了iislockd.exe解壓縮得到的主要文件,注意iislockd.exe包含了URLScan的文件,但本文不准備詳細探討URLScan。表一:IIS Lockdown 2.1主要文件IIS Lockdown文件 說明iislockd.exe IIS Lockdown主執行文件。iislockd.ini 配置和選項文件。iislockd.chm 聯機幫助。runlockdunattended.doc 有關“無人值守”運行方式的文檔。404.dll “文件沒有找到”應答文件。URLScan文件 說明urlscan.exe URLScan安裝程序包。urlscan.doc URLScan文檔。urlscan*.ini 配置和選項文件。urlscan_unattend.txt 無人值守方式安裝URLScan的配置文件。readme.txt 針對無人值守方式運行URLScan的說明unattend.cmd 無人值守方式安裝URLScan的命令文件。三、實踐應用IIS Lockdown的用法很簡單。雙擊啟動iislockd.exe,出現Internet Information Services Lockdown向導,按照向導的提示一步一步操作,很快就可以為Web服務器加上一把鎖。首先出現的是歡迎屏幕,點擊“下一步”出現最終用戶許可協議屏幕,選中I Agree選項,點擊“下一步”進入服務器模板選擇對話框.選擇一個最接近當前服務器配置的模板,本文假定使用Static Web Server(靜態Web服務器)模板。選中View Template Settings選項,向導將顯示出一系列有關該模板類型的對話框,如果不選中這個選項,向導將跳過這些對話框,直接進入URLScan安裝過程。點擊“下一步”,出現Internet Services對話框,如圖二,這是第一個真正配置IIS加鎖選項的頁面。IIS Lockdown能夠禁用或刪除四種IIS服務:HTTP,FTP,SMTP,以及NNTP(Network News Transport Protocol,網絡新聞傳輸協議)。怎樣才能知道哪些服務才是必需的呢?除了前面選擇的服務器模板類型可資參考之外,個人經驗、全面地測試也同樣重要。Internet Services對話框中的IIS服務選項有三種狀態:㈠ 啟用:選項處於選中狀態,檢查框有標記,例如圖二的Web services。清除檢查框的標記將禁用服務。㈡ 啟用,但推薦禁用,例如圖二的E-mail service:選項沒有選中,檢查框沒有標記。如果保留檢查框的清除狀態,服務將被禁用。㈢ 禁用,且不可選擇,例如圖二的File Transfer service:如果一個選項變灰,它的檢查框也沒有選中標記,則表示不允許修改該服務,可能是因為服務沒有安裝,也可能是因為當前選擇的服務器模板需要該服務。如果服務器的用途不是經常改變,最好徹底刪除不用的服務,這樣就再也沒有人會意外地激活它了。點擊“下一步”,向導顯示出Script Maps(腳本映射)對話框。腳本映射是指把特定的文件擴展名關聯到ISAPI(Internet Server API)執行文件,由指定的ISAPI文件來解釋該類文件的內容。例如,.asp文件類型映射到asp.dll。如果禁用了某種類型的腳本文件,IIS Lockdown會把腳本映射指向一個特殊的DLL,當用戶試圖運行該類腳本文件時這個DLL會返回“文件沒有找到”的信息。要禁用某種類型的文件,,只需在圖三對話框中清除該類文件的檢查框。點擊“下一步”,進入最後一個IIS Lockdown的選項對話框Additional Security,如圖四所示,通過這個對話框可以刪除不需要的目錄,禁止未經授權的用戶訪問文件系統。IIS安裝好之後會有許多用於開發和學習的虛擬目錄,正式向用戶提供服務的環境不需要這些目錄,IIS Lockdown將刪除圖四對話框中選中的虛擬目錄,但仍會完好地保留這些目錄包含的數據。 默認情況下,IIS會限制對Web內容目錄的匿名訪問,但還應該加上一層對系統工具(如cmd.exe)的保護,以防止未經授權的用戶在系統安全出現漏洞時訪問這些工具。如果選中圖四對話框中的Running system utilities (for example, Cmd.exe, Tftp.exe)檢查框,IIS Lockdown將修改\%windir%目錄及其子目錄下所有執行文件的訪問控制屬性(ACE,Access Control Entry),明確地禁止本地Web匿名用戶組和Web用戶組的運行權限。如果選中Writing to content directories 檢查框,IIS Lockdown還會加強所有Web內容目錄的安全性,即設置ACE,禁止本地Web匿名用戶組和We應用組的寫入權限。窗口底部有一個Disable Web Distributed Authoring and Versioning(WebDAV)選項,即禁用Web分布式創作和版本控制。WebDAV功能用來支持遠程Web內容創作和管理,如果確實不必用到該功能,那就可以選中Disable Web Distributed Authoring and Versioning檢查框。選中該選項之後,IIS Lockdown將設置httpext.dll(實現WebDAV功能的執行文件)的ACE,禁止將httpext.dll文件裝入inetinfo.exe的進程,從而也就禁止了WebDAV功能。對話框的“下一步”,IIS Lockdown將詢問是否要安裝URLScan,如圖五。如果要用篩選器來禁止IIS處理某些可能有惡意的URL,即經常被黑客用來攻擊系統的URL,那就可以用URLScan作為守衛IIS的前門(即篩選器)。本文不准備詳細介紹URLScan,請訪問?url=/technet/security/tools/urlscan.asp了解更多有關URLScan的說明。取消安裝URLScan的選項,點擊“下一步”,IIS Lockdown顯示出一系列將要執行的操作,如圖六。點擊“取消”可以放棄操作,點擊“下一步”則開始執行圖六清單中列出的“加鎖”操作。加鎖操作一旦開始,中途不能停止。依賴於具體的修改操作,IIS Lockdown可能在\%windir%\system32\inetsrv目錄下創建幾個日志文件和IIS元數據備份文件,如表二所示。雖然沒有人要求我們一定要保證這些IIS Lockdown日志文件和元數據備份文件的安全,但如果要手工撤銷IIS Lockdown所做的操作,或者需要重新安裝OS,那就要用到這些文件。因此,最好把這些文件復制到另一個磁盤,或者把它們保存到另一個服務器。表二:IIS Lockdown日志和元數據備份文件.log或.md0文件 說明oblt-log.log IIS Lockdown為了提高服務器安全性而執行的一系列操作的清單。oblt-rep.log 加鎖過程的一個簡短總結。加鎖過程結束後,點擊View Report按鈕可以看到這個文件。oblt-undo.log IIS Lockdown為了撤銷加鎖操作而采取的一系列動作的清單。metaback\oblt-mb.md0 IIS元數據的備份文件。metaback\oblt-beforeundo-mb.md0 在IIS Lockdown Undo命令恢復元數據備份之前備份的IIS元數據。如果在正式為用戶提供服務的機器上運行IIS Lockdown,一定要安排在正常的關機維護期間進行。IIS Lockdown開始執行修改操作時會關閉Web服務,安排在正常的維護期間進行修改可以避免給用戶帶來不必要的麻煩。四、嘗嘗後悔藥只要能夠找到oblt-log.log文件,IIS Lockdown就給你後悔的機會。如果你打算讓服務器采用一種新的IIS Lockdown配置,首先必須撤銷前一次操作,然後再啟動IIS Lockdown,按照新的配置運行向導。如果已經在前一次加鎖操作時刪除了不必要的服務,那就必須用控制面板中的添加/刪除程序功能重新安裝服務。類似地,如果已經在加鎖過程中安裝了URLScan,也要用添加/刪除程序功能刪除它。IIS Lockdown的撤銷操作會重新啟用在加鎖操作之前備份的元數據副本。因此,加鎖操作和撤銷操作之間的所有對IIS的修改都會丟失。不過,IIS Lockdown的撤銷操作會在啟用上次備份的元數據之前另行備份當時的元數據,因此必要時可以重新執行丟失的修改操作。五、無人值守要用無人值守方式運行IIS Lockdown也很簡單。用記事本打開iislockd.ini,修改[Info]部分的兩個鍵,使之成為:Unattended=TRUEUnattendedServerType= ServerType的取值從ServerTypesNT4和ServerTypes鍵列出的值選擇,這兩個鍵也屬於[info]部分。IIS Lockdown 2.1不支持命令行參數,因此修改iislockd.ini是唯一實現自動加鎖的辦法。由於這一局限,如果要針對幾類不同的服務器配置使用IIS Lockdown加鎖,就會遇到一
copyright © 萬盛學電腦網 all rights reserved