伺服器安全之iis使用權限設定篇

來源:互聯網
上載者:User
  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 檔案目錄或者樣式表目錄等,這些目錄只需要設定“讀取”許可權即可,執行許可權設成“無”即可。其它許可權一概不需要設定。

  上面的幾個例子已經包含了大部分情況下的使用權限設定,只要掌握了設定的基本原理,也就很容易地完成能其它情況下的使用權限設定。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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