IIS 是微軟的組件中漏洞最多的一個,平均兩三個月就要出一個漏洞,而微軟的 IIS 預設安裝又實在不敢恭維。
首先在 D:根目錄建立一個 wwwroot 檔案夾,用來做為 WEB 伺服器網站的根目錄,裡面存放不同網站的檔案夾。例如建立第一個網站存放檔案的目錄 WebSite1,為了杜絕跨站攻擊等各種相關安全問題,實現各個虛擬機器主機目錄有獨立許可權的訪問機制,我們要給每個目錄分配一個匿名訪問的使用者帳號。
依次右擊案頭我的電腦----->管理------>本機使用者與組,然後建立一個使用者 IISUSER_01,選中使用者不能更改密碼和密碼永不到期,去掉其餘兩項複選。(當然,如果您的 WEB SERVER 上有 50 個虛擬機器主機的話,可以再以同樣的方法新增一些使用者)。可以給每個新增使用者設定個密碼,當然,其實為空白也無大礙,因為這是用來為 IIS 匿名訪問使用者而設的,對系統安全基本不會有影響。
新增使用者後因為預設新增使用者自動加入 Users 組內,要分別去除掉它們 User 組的許可權,並重新分別把它們只歸屬於 Guests 組,這一步一定要記住了,安全問題很關鍵。設定完成後,為了方便統一划分 WEB 網站匿名訪問使用者的許可權,再建立一個使用者組,例如為 IISUSER_GROUP,把 IISUSER_01 使用者添加到 IISUSER_GROUP 組內。
使用者和組設定好後,我們再次開啟 d 盤的 wwwroot,右擊 website1 檔案夾在屬性配置的安全選項裡,添加 IISUSER_01 使用者權限(如果是單純的 HTML 網站可以只給讀取許可權即可,如果是 ASP+ACESS 資料庫或需要進行 FSO 操作的網站,同時還需要加上"寫入"許可權或一般我們將“完全控制”權給 IISUSER_01 使用者)。
如果想進行更嚴密的安全配置,可以設定IISUSER_01 使用者在website1目錄的許可權為讀取,在需要更新或寫入操作的圖片上傳目錄或資料庫目錄上才賦予寫入許可權,這樣更為安全。做完這一步,網站的目錄安全性就夠了嗎?不,利用一些 FSO 等木馬一樣還可以進行跨站進行讀取,雖然跨站後沒有許可權修改,但比如用海洋頂端的檔案夾打包功能,仍能進行跨站瀏覽系統磁碟及包操作並下載!解決的方法是,右擊 C 和 D 盤符選擇屬性中的安全選項,添加剛才我們建立的使用者組(包含有 IISUSER_01 或新增的其它 WEB 網站目錄使用者),禁止該組的所有操作許可權。
(注意子目錄繼承許可權的設定,WebSite1 目錄不要繼承父目錄的該許可權。)
這樣一來,每個網站的瀏覽者(匿名訪問使用者)也只能對該站目錄內檔案進行一定的許可權操作,即使 ASP 木馬上傳到其中一個網站目錄,不會對別的網站造成任何影響,更不會對伺服器的安全有任何危險。
檔案夾安全配置完後,我們下一步將進行 IIS 的配置。
首先開啟 IIS 管理器—》主目錄,為了方便統一管理,將預設網站重新命名為 WebSite1 並將主目錄指向 D:\wwwroot\WebSite1 目錄。
然後點擊本視窗的配置按鈕進入應用程式配置,在應用程式擴充欄中刪除必須之外的任何無用映射, 只保留你確實需要用到的檔案類型,比如 ASP,ASPX,shtml 等,一般的 WEB 伺服器應用有了其中兩個映射就夠了,其它的映射在以往的自由微軟漏洞中都發生過太多的安全性漏洞事件,不信你可以去查查以前的漏洞列表。開始把不用的擴充一個個刪除掉吧。
配置完這一項,再點擊本視窗上方的選項欄,一般在大部分的 ASP 程式中,我們都會在代碼中調用父路徑,我們在這一頁中勾選中[啟用父路徑]的複選框,當然如果你確定你的程式不會有調用父路徑的代碼,最好不要選擇此項,安全性會更強一些。最後,再點擊本視窗上方的調試欄,在指令碼錯誤的錯誤訊息選項中,選中[向用戶端發送下列文本錯誤訊息]項否則 ASP 指令碼出錯時,出錯資訊很可能會向用戶端顯示你的資料庫路徑(即駭客常說的暴庫),程式碼,結構,參數等重要訊息。
為了避免 cgi 漏洞掃描器掃描到 IIS 漏洞的安全隱患,在 IIS 管理面板中將 HTTP404 Object Not Found 出 錯 頁 面 通 過 URL 重 定 向 到 一 個 定 制 HTM 文 件 , 我 們 可 以 更 改C:/WINDOWS/Help/iisHelp/common/404b.htm 內容改為:<META http-equiv="REFRESH" content="5;URL=您的網站首頁">,或者可在 IIS 管理面板中的自訂錯誤欄修改 404 錯誤頁的 HTML 檔案路徑並做相應修改最後,我們還要把之前在為該網站建立的匿名使用者帳號綁定到此網站的目錄安全性中的存取權限來。開啟網站的屬性頁面中的"目錄安全性"選項卡,點身分識別驗證和存取控制的"編輯"
勾選啟用匿名訪問,並點擊該欄的瀏覽按鈕,選擇我們之前為此網站(WebSite1)分配的匿名使用者帳號 IISUSER_01, 輸入該使用者的口令,提示再次輸入確認密碼。如無則留空即可。
經過設定匿名訪問帳號後,"WebSite1"網站的使用者,使用 ASP 的 FileSystemObject 組件 或 其 它 木 馬 程 序 入 侵 攻 擊 服 務 器 時 , 也 只 能 訪 問 “ WebSite1 ” 的 網 站 目 錄 :d:\wwwroot\WebSite1 下的內容,當試圖訪問其他內容時,會出現諸如"沒有許可權"、"硬碟未準備好"、"500 伺服器內部錯誤"等出錯提示了(曾試過用 asp 海洋頂端 2006 木馬進行全面測試,對伺服器安全不構成任何影響)。
如果你的 WEB 伺服器需要放置多個 WEB 網站,那麼最簡單的方法就是配置主機頭的方法。
在這裡以建立兩 個網 站分別為 www.alixixi.com 和 www.ejchina.com 為例。首先將www.alixixi.com 和 www.ejchina.com 兩個網域名稱的 DNS 解析到伺服器的 IP 位址。比如www.alixixi.com 就存放在上面我們配置的 d:wwwroot\WebSite1 目錄中,這樣我們開啟 IIS管理器,右擊 WebSite1 網站屬性。
點擊 IP 位址的進階按鈕,修改 IP 位址的主機頭為 www.gzidc.me。
這樣,第一個網站就設定成功了,接著我們可以繼續添加第二個網站了,以同樣的方法,在添加時不用更改 TCP/IP 的連接埠,直接設定另一網站的主機頭為 www.ejchina.com 就可以完成第二個網站的建立了。利用主機頭方式建立多網站,必須使用友好網址才能訪問,同樣也可通過 IP連接埠和多 IP 位址實現多網站,但這裡不再詳細介紹。如果需要做泛網域名稱解析,則將該網站設定為空白主機頭,並在網域名稱 DNS 建立一個*.網域名稱.com 解析到伺服器 IP 就可以實現泛網域名稱解析。
最後,別忘了備份 IIS 的配置,在災難性系統崩潰或 IIS 出現重大錯誤需要重新安裝等緊急事故,可以快速的恢複 IIS 的安全配置,恢複網站的正常運行,備份功能很簡單,IIS 管理面板的操作工具列—》所有任務—》進行備份。
如想瞭解更多的備份及相關技術資訊,請點擊 IIS 協助,在 IIS6 管理員指南中查閱。
以下是摘自管理員指南中的一段相關備份的資料:
實際上,設定資料庫是指 MetaBase.xml 與 MBSchema.xml 檔案的組合以及駐留記憶體的 配 置 資料庫 。IIS 配 置資訊儲存在 MetaBase.xml 文 件 中 ,而配置數 據 庫 架構儲存在MBSchema.xml 檔案中。當啟動 IIS 時,這些檔案會由儲存層讀取,然後通過管理基本對象(ABO) 寫入到記憶體中的設定資料庫中…
說到 MetaBase.xml,隨便提到一點 IIS6 常遇到的問題,就是無法上傳大檔案的問題,IIS 6出於安全考慮, 預設最大請求 200K(也即最大提交資料限額為 200KByte, 204800Byte)。通常200K 的大小是不能滿足我們網站的需求的,解決的方法如下:
1. 關閉 IIS Admin Service 服務
2. 開啟 \Windows\system32\inesrv\metabase.xml
3. 修改 ASPMaxRequestEntityAllowed 的值為自己需要的, 預設為 204800,即限制上傳檔案最大 200KB。
4. 啟動 IIS Admin Service
其實如果你對編程有些瞭解,仔細查看 metabase.xml 檔案中的內容,你會發現,很多 IIS配置同樣可以在裡面修改,當然,除非你很熟悉,否則不建議直接修改。
配置到這一步,我們已經成功的配置了一台安全性較高的 WEB 伺服器,但要實現功能強大的應用於 internet 的伺服器,單單僅 WEB 功能還是不夠的,為了日常的檔案上傳下載及維護管理,我們還要架設功能強大的 FTP 伺服器!
轉自:http://blog.sohu.com/people/!aWRjbWlubWluQDE2My5jb20=/226632512.html