ASP提供了強大的檔案系統存取能力,可以對伺服器硬碟上的任何檔案進行讀取、寫入、複製、刪除、改名等操作,這對學校網站的安全造成巨大的威脅。現在很多校園主機都遭受FSO木馬的侵擾。但是禁用FSO元件後,造成的後果就是所有利用這個元件的ASP程式將無法運作,無法滿足客戶的需求。如何既允許FileSystemObject元件,又不影響伺服器的安全性呢(即:不同虛擬主機使用者之間不能使用該元件讀寫別人的檔案)?以下是筆者多年來摸索出來的經驗:
第一步是有別於Windows 2000設定的關鍵:右鍵點擊C盤,點擊“共享與安全性”,在出現在對話框中選擇“安全性”選項卡,將Everyone、Users組刪除,刪除後如果你的網站連ASP程式都不能運作,請新增IIS_WPG群組(圖1),並重新啟動電腦。
經過這樣設計後,FSO木馬就已經不能運作了。如果你要進行更安全等級的設置,請分別對各個磁碟分割區進行如上設置,並為各個網站設置不同匿名存取使用者。以下以實例來介紹(假設你的主機上E碟Abc資料夾下設Abc.com網站):
1. 開啟“電腦管理→本機使用者和群組→使用者”,建立Abc用戶,並設定密碼,並將「使用者下次登入時須更改密碼」前的對號去掉,勾選「使用者不能變更密碼」和“密碼永不過期”,並把使用者設定為隸屬於Guests群組。
2. 右鍵點選E:Abc,選擇「屬性→安全」選項卡,此時可以看到該資料夾的預設安全設定是「Everyone」完全控制(視不同情況顯示的內容不完全一樣),刪除Everyone的完全控制(如果無法刪除,請點選[進階]按鈕,將「允許父項的繼承權限傳播」前面的對號去掉,並刪除所有),新增Administrators及Abc用戶對本網站目錄的所有安全權限。
3. 開啟IIS管理器,右鍵點選Abc.com主機名,在彈出的選單中選擇「屬性→目錄安全性」選項卡,點選身分驗證和存取控制的[編輯],彈出圖2所示對話框,匿名存取使用者預設的就是“IUSR_機器名稱”,點擊[瀏覽],在“選擇使用者”對話方塊中找到前面建立的Abc帳戶,確定後重複輸入密碼。
經過這樣設置,訪問網站的用戶就以Abc帳戶匿名身份訪問E:Abc資料夾的站點,因為Abc帳戶只對此資料夾有安全權限,所以他只能在本資料夾下使用FSO。
常見問題:
如何解除FSO上傳程式小於200k限制?
先在服務裡關閉IIS admin service服務,找到WindowsSystem32Inesrv目錄下的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資料夾下設Abc.com網站):
1. 開啟“電腦管理→本機使用者和群組→使用者”,建立Abc用戶,並設定密碼,並將「使用者下次登入時須更改密碼」前的對號去掉,勾選「使用者不能變更密碼」和“密碼永不過期”,並把使用者設定為隸屬於Guests群組。
2. 右鍵點選E:Abc,選擇「屬性→安全」選項卡,此時可以看到該資料夾的預設安全設定是「Everyone」完全控制(視不同情況顯示的內容不完全一樣),刪除Everyone的完全控制(如果無法刪除,請點選[進階]按鈕,將「允許父項的繼承權限傳播」前面的對號去掉,並刪除所有),新增Administrators及Abc用戶對本網站目錄的所有安全權限。
3. 開啟IIS管理器,右鍵點選Abc.com主機名,在彈出的選單中選擇「屬性→目錄安全性」選項卡,點選身分驗證和存取控制的[編輯],彈出圖2所示對話框,匿名存取使用者預設的就是“IUSR_機器名稱”,點擊[瀏覽],在“選擇使用者”對話方塊中找到前面建立的Abc帳戶,確定後重複輸入密碼。
經過這樣設置,訪問網站的用戶就以Abc帳戶匿名身份訪問E:Abc資料夾的站點,因為Abc帳戶只對此資料夾有安全權限,所以他只能在本資料夾下使用FSO。