天天看點

IIS安全加強政策-應對攻擊入侵政策

1. 緩沖區溢出

  簡單解釋一下,緩沖區溢出主要因為送出的資料長度超出了伺服器正常要求,導緻伺服器檢查代碼錯誤。而溢出的方法有可以分為:基于堆棧的溢出和基于堆的溢出。在IIS 6以前的版本,Web服務是運作在LocalSystem賬戶下,當某個黑客利用緩沖區溢出的漏洞入侵後,當然就可以執行大部分的管理者指令了。

  利用該漏洞比較名的病毒是“紅色代碼(Redcode)”和“尼姆達(Nimda)”。eEye Digital Security 公司早于1996年就發現了這類漏洞的代表作HTR緩沖區漏洞。eEye發現,IIS抵抗力十分脆弱。如果攻擊傳遞給IIS,那麼輸入值将不是一串字母而是可以執行的系統指令。HTR檔案的解釋程式是将一個以.htr結尾的超長檔案在ism.dll中造成輸入緩沖區溢出。

  我們早已用不到HTR了(筆者個人的了解),那隻是早些時候,微軟腳本程式設計用到的,早已經被ASP技術取代。

  說明:根據上文的說明我們知道一個漏洞的根源就是.htr檔案與System32目錄下的ism.dll存在着關聯,如果将ism.dll和.htr檔案之間存在的映射關系斷開,或者删除了ism.dll,就可以解決了。

  2. 臭名昭著的Unicode

  首先要知道什麼是Unicode二次解碼漏洞?打開IE,選擇“檢視→編碼→Unicode(UTF-8)”,在沒有創造Unicode之前,沒有一個編碼可以包含足夠的字元來容納數百種的數字編碼。比如我們要看一個繁體中文(BIG5)的網頁,在你的簡體中文版的Windows 系統上,沒有Unicode的支援就不可能實作。

  如果非法使用者送出一些特殊的編碼,将導緻IIS錯誤地打開或者執行某些Web根目錄以外的檔案。那麼,未經授權的使用者可以利用IUSR_machinename賬号通路使用者目錄的任何檔案。同時,我們有知道這個賬号在預設情況下屬于Everyone和Users組,Windows 2000 Server預設的安全權限是“Everyone完全控制”是以任何能被這些使用者組通路的檔案都可能被删除、修改或執行。

  說明:可以限制網絡使用者通路和調用CMD指令的權限;若沒必要使用Scripts和Msadc目錄,可以删除或者重新命名;還有一個問題,安裝Windows NT系統時不使用預設的WINNT路徑。

  3.FrontPage 伺服器擴充漏洞

  對于安裝FrontPage伺服器的網站,通常會在Web目錄(預設)下有若幹個以字母“_vti”開頭的目錄,正是這些目錄為黑客提供了可乘之機。我們可以從搜尋引擎上搜尋預設的Frontpage目錄,這時我們能從引擎上傳回大量的資訊。

  說明:你真的需要FrontPage 伺服器擴充嗎?我是從來沒有用過,這都是預設安裝的時候為我們帶來的隐患。如果不需要,直接解除安裝了該服務就沒問題了。

  IIS加強政策的建議

  你得到的網站源代碼不會完全一樣,而大多數程式員不會為你隻提供一種類型的代碼。是以不要完全按照下面的加強清單操作,尤其在加強之前要和程式的提供商取得聯系。在得到他們确認後,修改本文中涉及到伺服器擴充内容。

  1. 調整IIS日志

  當您希望确定伺服器是否被攻擊時,日志記錄是極其重要的。預設的日志不會為我們搜尋黑客記錄提供很大的幫助,是以我們必須擴充W3C日志記錄格式,步驟如下:

  ★檢查是否啟用了日志記錄,右鍵單擊所述站點,然後從上菜單中選擇啟用“屬性→Web 站點→啟用日志記錄”複選框。

  ★更改日志的預設路徑,黑客成功入侵一個系統後,臨走時要做的一件事就是清除日志,如果以圖形界面的遠端控制軟體或是從終端登入進入,我們自然是無法保護日志的。不過,現在比較流行的日志清除工具,大多以指令行方式删除預設的W3C日志記錄,是以可以将圖1所示的路徑改寫,達到簡單保護的功能。

  ★從“活動日志格式”下拉清單中選擇“W3C 擴充日志檔案格式”。單擊“屬性→擴充屬性”頁籤,然後添加以下資訊的記錄:客戶IP 位址、使用者名、方法、URI 資源、HTTP 狀态、Win32 狀态、使用者代理、伺服器IP 位址、伺服器端口。

  日志記錄是我們被入侵後惟一能夠找到自身漏洞的地方。就比如有些人鐘愛的“動網上傳檔案”漏洞,如果你能在日志當中發現“HTTP GET 200(檔案上傳成功)”,沒什麼可以辯解的,肯定是沒有更新更新檔或者開放了上傳權限。是以說日志防護是每個管理者必備的知識。

  2. 删除IIS所有預設示例

  這是一個在Windows 2000和Windows Server 2003上都在安裝的時候保留的内容,因為隻能從本地通路這些檔案,是以這些預設的示例不會為伺服器帶來威脅。如果不需要它們作為建立站時的參照以及遠端的管理幫助,可以删除它們,同時起到優化系統的功能(需要關閉IIS服務)。

  3. 删除不必要擴充映射

  IIS 5被預先配置為支援如.asp這樣的動态程式檔案,但除了我們常用的幾個檔案格式之外,還支援了本文中提到的可能造成緩沖區溢出的檔案類型。IIS 接收到這些類型的檔案請求時,該調用由 DLL 處理,是以最好删除它們。

  選擇“WWW服務→編輯→主目錄→應用程式配置”,參照下表有針對性的選擇删除對象:

  IIS 6 的全新奉獻

  我們常在網上看到關于Windows Server 2003 已經非常安全的報道,但是我們的管理者不是每天做個更新檔更新的工作嗎?其實,Windows Server 2003中給我帶來最直接的感覺就是IIS 6的安全性,直到現在為止筆者确實沒有發現IIS 6中有什麼重大的漏洞可以被黑客利用。

  工作程序隔離(Worker Process Isolation)以及URL的授權通路,我在以前版本裡面根本就沒有奢念。不僅如此,最主要的改進就是IIS本身的“預設可用性”和“預設鎖定擴充服務” (如圖2)。

  當把伺服器更新到Windows Server 2003的時候,如果你沒有運作IISLockdown工具,伺服器竟然禁止我們提供Web服務。

繼續閱讀