iis6另類優化及安全配置

 小知識:爲什麼Windows Server 2003缺省沒有安裝IIS 6.0?

  在過去,包括微軟在內的廠商打包一系列的樣本腳本,文件處理和給管理員提供的必要的便於是用的小型的文件系統許可在網絡服務器默認安裝程序中。然而,這樣一來增加了被攻擊的可能性,而且也是多種對IIS進行攻擊的基礎。因此,IIS6.0比其以前的版本都要安全。其中最爲顯著的改變是IIS6.0不是作爲windows server 2003的缺省安裝。

  在Windows Server 2003安裝IIS 6.0:

  單擊“開始”“控制面板”→“添加/刪除程序”→“添加/刪除 Windows 組件”按鈕,啓動“Windows 組件嚮導”。在“Windows 組件”列表中,選中“應用程序服務器”旁的複選框,單擊“詳細信息”。在“應用程序服務器”→“應用程序服務器子組件”下方,突出顯示“Internet 信息服務 (IIS)”,單擊“詳細信息”。在“Internet 信息服務 (IIS) 子組件”列表中,選擇“萬維網服務”,單擊“詳細信息”。要添加可選組件,選中要安裝的組件旁的複選框。單擊“下一步”,然後單擊“完成”。


圖1

  在解釋IIS 6.0安全性配置之前,首先應該介紹一下IIS 6.0的幾個不安定因素:IIS管理服務(inetinfo.exe,提供IIS的管理工作,SMTP,NNTP,FTP等服務),WWW管理服務(WAS,工作處理程序管理,組態管理),HTTP.sys(負責出來Request,提供Cache,Queue等功能),工作處理程序(W3Wp.exe)。接下來筆者圍繞這些因素談談相關安全配置的取捨。

  WEB應用程序(如ASP)緩衝池

   實驗證明,在給網站配備了應用程序緩衝池之後,網站的訪問效率提高的幾倍甚至十幾倍。IIS 6.0最大的改進之一就是應用程序緩衝池允許隔離。IIS 5.0中,所有WEB應用程序只允許共用一個緩衝池。由於將web應用程序隔離在獨立的單元將會導致嚴重的性能下降,因此沒有實現應用程序隔離。

    通常一個web應用程序的失敗會影響同一服務器上其他應用程序。然而,IIS 6.0在處理請求時,通過將應用程序隔離成一個個叫做應用程序池的孤立單元這種設計上的改變,成倍的提高了性能。每個應用程序池中通常由一個或多個工作進程。這樣就允許確定錯誤的位置,防止一個工作進程影響其他工作進程。這種機制也提高了服務器以及其上應用的可靠性。

   這樣的結構明顯很不合理,造成了權限的混亂。而在IIS 6.0中,也許是微軟汲取了非典期間的智慧,把各個緩衝池進行了隔離。可以設定多個緩衝池,定義它們的名字。指定在網站,目錄,甚至虛擬目錄中的WEB程序到任何一個緩衝池。

   首先要選擇到底採用IIS 5.0還是採用IIS 6.0的隔離措施。出於對舊版本的兼容性,IIS 6.0允許仍然採用IIS 5.0的方式。但兩種方式不能同時啓用。
  
   點擊“開始”→“設置”→“控制面板”→“管理工具”→“IIS管理器”,右鍵單擊網站,點擊“屬性”→“服務”,把“以IIS 5.0的隔離模式運行WWW服務”複選框前的鉤去掉。


圖2


圖3

[page]

    單擊“應用程序池”,右鍵單擊右邊空白處,點擊“新建”→“應用程序池”,給新建的應用程序池設置一個名字,點擊確定即可。這裏所謂的依照某一模板新建,是指新建的應用程序池的屬性配置與之前建好的某應用程序池。點擊“網站”前的加號,展開當前目錄下的所有網站,右鍵單擊目標網站,點擊“屬性”→“主目錄”→“應用程序池”,選定剛剛建好的緩衝池。重複這些步驟,便可爲不同的網站設立不同的應用程序緩衝池。這些緩衝池是隔離開的,提高了服務器的穩定性和安全性。

圖4

 

圖5

 

   1.右擊適當的應用程序池,然後單擊“屬性”。出現應用程序池的屬性對話框。 單擊“回收”選項卡,然後設置適當的應用程序池設置。“內存回收”是等效於 memoryLimit ASP.NET 進程模型設置的應用程序池設置。它指定輔助進程可以使用的最大內存量。如果輔助進程超出了這一數量,將創建新的進程來替換它,並且當前所有請求都被重新分配給該新進程。

圖6

 

    2.右擊適當的應用程序池,然後單擊“屬性”。出現應用程序池的屬性對話框。 單擊“性能”選項卡,然後設置適當的應用程序池設置。“空閒超時”是指定輔助進程或應用程序池在開始處於不活動狀態後,過多長時間將其關閉。

    默認情況“空閒超時”是啓用的而且設置爲 20 分鐘。通過更改數值調節框中的值,可以指定一個不同的時間限制。“請求隊列限制”指定在異常終止後等待輔助進程啓動時在 ASP.NET ISAPI 中排隊的請求的最大數目。默認情況下“請求隊列限制”是啓用的而且設置爲 1000 個請求。通過更改數值調節框中的值,可以對排隊的請求的數目指定不同的限制。

 

圖7

 

    3.右擊適當的應用程序池,然後單擊“屬性”。出現應用程序池的屬性對話框。 單擊“健全”選項卡,然後設置適當的應用程序池設置。“啓用 ping”是指定 ASP.NET ISAPI 檢查輔助進程是否存在的時間間隔。如果沒有輔助進程,則重新啓動輔助進程。默認情況下“啓用 ping”是啓用的而且設置爲 30 秒。

    通過更改數值調節框中的值,可以指定一個不同的時間間隔。“關閉時間限制”是指定提供給輔助進程的用來正常關閉的時間長度。如果輔助進程在指定的時間長度內沒有關閉,則 ASP.NET ISAPI 將結束該輔助進程。默認情況下“關閉時間限制”設置爲 90 秒。通過更改數值調節框中的值,可以指定一個不同的時間限制。

發佈了5 篇原創文章 · 獲贊 0 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章