windows IIS許可權經典設定教程

來源:互聯網
上載者:User

前 言
  根據最新的駭客攻擊方法顯示,如果在IIS的網站屬性開啟了“寫入”許可權,則被黑是輕而易舉事。而一般在我們使用時,要求大家開啟網站所在檔案夾的“寫入”許可權,很多使用者以為是在IIS中開啟,這是錯誤的,這樣做的結果就是讓駭客利用寫入許可權上傳任意檔案。IIS中的“寫入許可權”則一定要關閉!這樣的設定已經可以確保資料庫是可以更新,可以產生HTML,可以重新整理JS檔案等所有正常操作。

  下面我們進入正題
  雖然 Apache 的名聲可能比 IIS 好,但我相信用 IIS 來做 Web 服務器的人一定也不少。說實話,我覺得 IIS 還是不錯的,尤其是 Windows 2003 的 IIS 6,效能和穩定性都相當不錯。但是我發現許多用 IIS 的人不太會設定 Web 服務器的許可權,因此,出現漏洞被人黑掉也就不足為奇了。但我們不應該把這歸咎於 IIS 的不安全。如果對網站的每個目錄都配以正確的許可權,出現漏洞被人黑掉的機會還是很小的(Web 應用程式本身有問題和通過其它方式入侵黑掉伺服器的除外)。
  下面是在配置過程中總結的一些經驗,希望對大家有所協助。 
  (本來想加片說明的,忙了一晚上,就不加了,這個挺重要的,小心行得萬年船呀!)
  IIS Web 服務器的使用權限設定有兩個地方,一個是 NTFS 檔案系統本身的使用權限設定,另一個是 IIS 下網站->網站->屬性->主目錄(或網站下目錄->屬性->目錄)面板上。這兩個地方是密切相關的。下面我會以執行個體的方式來講解如何設定許可權。

  IIS 下網站->網站->屬性->主目錄(或網站下目錄->屬性->目錄)面板上有:
  指令碼資源訪問
  讀取
  寫入
  瀏覽
  記錄訪問
  索引資源
  6 個選項。這 6 個選項中,“記錄訪問”和“索引資源”跟安全性關係不大,一般都設定。但是如果前面四個許可權都沒有設定的話,這兩個許可權也沒有必要設定。在設定許可權時,記住這個規則即可,後面的例子中不再特別說明這兩個許可權的設定。
  另外在這 6 個選項下面的執行許可權下拉式清單中還有:
  無
  純指令碼
  純指令碼和可執行程式
  3 個選項。
  而網站目錄如果在 NTFS 分區(推薦用這種)的話,還需要對 NTFS 分區上的這個目錄設定相應許可權,許多地方都介紹設定 everyone 的許可權,實際上這是不好的,其實只要設定好 Internet 來賓帳號(IUSR_xxxxxxx)或 IIS_WPG 組的帳號許可權就可以了。如果是設定 ASP、PHP 程式的目錄許可權,那麼設定 Internet 來賓帳號的許可權,而對於 ASP.NET 程式,則需要設定 IIS_WPG 組的帳號許可權。在後面提到 NTFS 使用權限設定時會明確指出,沒有明確指出的都是指設定 IIS 屬性面板上的許可權。

下面的例子很精彩啊!這麼好的東西你就信手回複一下吧!

以下內容需要回複才能看到
  例1 —— ASP、PHP、ASP.NET 程式所在目錄的使用權限設定:
  如果這些程式是要執行的,那麼需要設定“讀取”許可權,並且設定執行許可權為“純指令碼”。不要設定“寫入”和“指令碼資源訪問”,更不要設定執行許可權為“純指令碼和可執行程式”。NTFS 許可權中不要給 IIS_WPG 使用者組和 Internet 來賓帳號設定寫和修改許可權。如果有一些特殊的設定檔(而且設定檔本身也是 ASP、PHP 程式),則需要給這些特定的檔案配置 NTFS 許可權中的 Internet 來賓帳號(ASP.NET 程式是 IIS_WPG 組)的寫入權限,而不要配置 IIS 屬性面板中的“寫入”許可權。
  IIS 面板中的“寫入”許可權實際上是對 HTTP PUT 指令的處理,對於普通網站,一般情況下這個許可權是不開啟的。
  IIS 面板中的“指令碼資源訪問”不是指可以執行指令碼的許可權,而是指可以訪問原始碼的許可權,如果同時又開啟“寫入”許可權的話,那麼就非常危險了。
  執行許可權中“純指令碼和可執行程式”許可權可以執行任意程式,包括 exe 可執行程式,如果目錄同時有“寫入”許可權的話,那麼就很容易被人上傳並執行木馬程式了。
  對於 ASP.NET 程式的目錄,許多人喜歡在檔案系統中設定成 Web 共用,實際上這是沒有必要的。只需要在 IIS 中保證該目錄為一個應用程式即可。如果所在目錄在 IIS 中不是一個應用程式目錄,只需要在其屬性->目錄面板中應用程式設定部分點建立就可以了。Web 共用會給其更多許可權,可能會造成不安全因素。 
  溫馨提示:也就是說一般不要開啟-主目錄-(寫入),(指令碼資源訪問) 這兩項以及不要選上(純指令碼和可執行程式),選(純指令碼)就可以了。需要asp.net的應用程式的如果應用程式目錄不止應用程式一個程式的可以在應用程式檔案夾上(屬性)-目錄-點建立就可以了。不要在檔案夾上選web共用。
  例2 —— 上傳目錄的使用權限設定:
  使用者的網站上可能會設定一個或幾個目錄允許上傳檔案,上傳的方式一般是通過 ASP、PHP、ASP.NET 等程式來完成。這時需要注意,一定要將上傳目錄的執行許可權設為“無”,這樣即使上傳了 ASP、PHP 等指令碼程式或者 exe 程式,也不會在使用者瀏覽器裡就觸發執行。
  同樣,如果不需要使用者用 PUT 指令上傳,那麼不要開啟該上傳目錄的“寫入”許可權。而應該設定 NTFS 許可權中的 Internet 來賓帳號(ASP.NET 程式的上傳目錄是 IIS_WPG 組)的寫入權限。
  如果下載時,是通過程式讀取檔案內容然後再轉寄給使用者的話,那麼連“讀取”許可權也不要設定。這樣可以保證使用者上傳的檔案只能被程式中已授權的使用者所下載。而不是知道檔案存放目錄的使用者所下載。“瀏覽”許可權也不要開啟,除非你就是希望使用者可以瀏覽你的上傳目錄,並可以選擇自己想要下載的東西。
  溫馨提示:一般的一些asp.php等程式都有一個上傳目錄。比如論壇,他們繼承了上面的屬性可以運行指令碼的,我們應該將這些目錄從新設定一下屬性,將(純指令碼)改成(無)。
  例3 —— Access 資料庫所在目錄的使用權限設定:
  許多 IIS 使用者常常採用將 Access 資料庫改名(改為 asp 或者 aspx 尾碼等)或者放在發布目錄之外的方法來避免瀏覽者下載它們的 Access 資料庫。而實際上,這是不必要的。其實只需要將 Access 所在目錄(或者該檔案)的“讀取”、“寫入”許可權都去掉就可以防止被人下載或篡改了。你不必擔心這樣你的程式會無法讀取和寫入你的 Access 資料庫。你的程式需要的是 NTFS 上 Internet 來賓帳號或 IIS_WPG 組帳號的許可權,你只要將這些使用者的使用權限設定為可讀可寫就完全可以保證你的程式能夠正確運行了。
  溫馨提示:Internet 來賓帳號或 IIS_WPG 組帳號的許可權可讀可寫.那麼Access所在目錄(或者該檔案)的“讀取”、“寫入”許可權都去掉就可以防止被人下載或篡改了。
  例4 —— 其它目錄的使用權限設定:
  你的網站下可能還有純圖片目錄、純 html 模版目錄、純用戶端 js 檔案目錄或者樣式表目錄等,這些目錄只需要設定“讀取”許可權即可,執行許可權設成“無”即可。其它許可權一概不需要設定。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.