1 刪除IIS默認站點
把IIS默認安裝的站點刪除或禁用掉。
2 禁用不必要的Web服務擴展
打開IIS 管理器,檢查是否有不必要的“Web服務擴展”,如果有則禁用掉。如下圖所示:
3 IIS訪問權限配置
如果IIS中有多個網站,建議為每個網站配置不同的匿名訪問賬戶。
方法:
a. 新建一個賬號,加入Guests組
b. “網站屬性”--->“目錄安全性”--->“身份驗證和訪問控制”,把“啟用匿名訪問”處,用剛新建的賬戶代替默認賬戶,下圖所示。
4 網站目錄權限配置
原則(如圖10):
目錄有寫入權限,一定不要分配執行權限
目錄有執行權限,一定不要分配寫入權限
網站上傳目錄和數據庫目錄一般需要分配“寫入”權限,但一定不要分配執行權限
其他目錄一般只分配“讀取”和“記錄訪問”權限即可
5 只保留必要的應用程序擴展
根據網站的實際情況,只保留必要的應用程序擴展,其他的一律刪除,尤其是像cer、asa這樣極其危險的擴展,而且一般網站也不需要它,如圖11。
6 修改IIS日志文件配置
無論是什么服務器,日志都是應該高度重視的部分。當發生安全事件時,我們可以通過分析日志來還原攻擊過程,否則將無從查起。有條件的話,可以將日志發送到專門的日志服務器保存。
先檢查是否啟用了日志記錄,如未啟用,則啟用它。日志格式設置為W3C擴展日志格式,IIS中默認是啟用日志記錄的。
接着修改IIS日志文件保存路徑,默認保存在“C:\WINDOWS\system32\LogFiles”目錄下,這里修改為自定義路徑。建議保存在非系統盤路徑,並且IIS日志文件所在目錄只允許Administrators組用戶和SYSTEM用戶訪問,如圖12。
7 防止信息泄露
a. 禁止向客戶端發送詳細的ASP錯誤信息
“IIS管理器”--->“屬性”--->“主目錄”--->“配置”--->“調試”,選擇“向客戶端發送下列文本錯誤消息”項,自定義出錯時返回的錯誤信息,如圖13。
b. 修改默認錯誤頁面
“IIS管理器”--->“屬性”--->“自定義錯誤”,用自定義的錯誤頁面替換默認的默認頁面。下面是我自定義的一個404錯誤頁面,當網站發生404錯誤時,將向客戶端返回這個頁面,如圖14。
8 自定義IIS Banner信息
默認Banner信息會泄露服務器類型、版本等相關信息,我們需要對其進行修改,這樣可以防止信息泄露,還可以騙過一些自動化掃描、攻擊工具。
a. 修改默認HTTP頭信息
在修改之前,我們先來看下默認的HTTP頭信息是什么樣的。我們向IIS服務器發一個請求,然后用抓包工具分析它返回的數據,就可以發現HTTP頭信息,如圖15所示: