FSO(HTTP://www.aliyun.com/zixun/aggregation/19352.html">FileSystemObject)是微軟ASP的一個對檔操作的控制項,該控制項可以對伺服器進行讀取、新建 、修改、刪除目錄以及檔的操作。 是ASP程式設計中非常有用的一個控制項。 但是因為許可權控制的問題,很多虛擬主機伺服器的FSO反而成為這台伺服器的一個公開的後門,因為客戶可以在自己的ASP網頁裡面直接就對該控制項程式設計,從而控制該伺服器甚至刪除伺服器上的檔。 因此不少業界的虛擬主機供應商都乾脆關掉了這個控制項,讓客戶少了很多靈活性。
ASP提供了強大的檔案系統訪問能力,可以對伺服器硬碟上的任何檔進行讀、寫、複製、刪除、改名等操作,這給學校網站的安全帶來巨大的威脅。 現在很多校園主機都遭受過FSO木馬的侵擾。 但是禁用FSO元件後,引起的後果就是所有利用這個元件的ASP程式將無法運行,無法滿足客戶的需求。 如何既允許FileSystemObject元件,又不影響伺服器的安全性呢(即:不同虛擬主機使用者之間不能使用該元件讀寫別人的檔)?
如何解除FSO上傳程式小於200k限制?
先在服務裡關閉IIS admin service服務,找到Windows\System32\Inesrv目錄下的Metabase. xml並打開,找到ASPMaxRequestEntityAllowed,將其修改為需要的值。 預設為204800,即200K,把它修改為51200000(50M),然後重啟IIS admin service服務。
ASP提供了強大的檔案系統訪問能力,可以對伺服器硬碟上的任何檔進行讀、寫、複製、刪除、改名等操作,這給學校網站的安全帶來巨大的威脅。 現在很多校園主機都遭受過FSO木馬的侵擾。 但是禁用FSO元件後,引起的後果就是所有利用這個元件的ASP程式將無法運行,無法滿足客戶的需求。 如何既允許FileSystemObject元件,又不影響伺服器的安全性呢(即:不同虛擬主機使用者之間不能使用該元件讀寫別人的檔)? 以下是筆者多年來摸索出來的經驗:
第一步是有別于Windows 2000設置的關鍵:右擊C盤,點擊「共用與安全」,在出現在對話方塊中選擇「安全」選項卡,將Everyone、Users組刪除,刪除後如果你的網站連ASP程式都不能運行,請添加IIS_ WPG組(圖1),並重啟電腦。
經過這樣設計後,FSO木馬就已經不能運行了。 如果你要進行更安全級別的設置,請分別對各個磁碟分割進行如上設置,並為各個網站設置不同匿名存取使用者。 下面以實例來介紹(假設你的主機上E盤Abc資料夾下設Abccom網站):
1 打開「電腦管理→本地使用者和組→使用者」,創建Abc使用者,並設置密碼,並將「使用者下次登錄時須更改密碼」前的對號去掉,選中「使用者不能更改密碼」和「密碼永不過期」,並把使用者設置為隸屬于Guests組。
2 右擊E:Abc,選擇「屬性→安全」選項卡,此時可以看到該資料夾的預設安全設置是「Everyone」完全控制(視不同情況顯示的內容不完全一樣),刪除Everyone的完全控制(如果不能刪除,請點擊[高級]按鈕,將「 允許父項的繼承許可權傳播」前面的對號去掉,並刪除所有),添加Administrators及Abc使用者對本網站目錄的所有安全許可權。
3 打開IIS管理器,右擊Abccom主機名稱,在彈出的功能表中選擇「屬性→目錄安全性」選項卡,點擊身份驗證和存取控制的[編輯],彈出圖2所示對話方塊,匿名存取使用者預設的就是「IUSR_機器名」,點擊[流覽],在「選擇使用者」 對話方塊中找到前面創建的Abc帳戶,確定後重複輸入密碼。
經過這樣設置,訪問網站的使用者就以Abc帳戶匿名身份訪問E:Abc資料夾的網站,因為Abc帳戶只對此資料夾有安全許可權,所以他只能在本資料夾下使用FSO。 。