asp網站檔案夾使用權限設定

來源:互聯網
上載者:User

        以win2003作業系統,硬碟採用NTFS檔案系統。網站的使用權限設定包含兩部分:主要是網站檔案夾與檔案的存取權限,其次是IIS中的internet 匿名使用者的存取權限。

一、網站檔案夾與檔案存取權限的設定

       假設ASP網站在以下檔案夾中:web 、bbs,我們稱其為網站根資料夾。

1、相同的設定

(1)本機使用者一般都要對網站內的檔案夾和檔案進行維護,所以所有的檔案夾和檔案必須給予本地超級使用者完全控制的許可權(不要忘記給超級使用者佈建強大 的密碼)。

(2)我們知道網站中大部分檔案都是asp程式,這些檔案必須具有“讀取和運行”的許可權。所以要給web、bbs根資料夾添加internet來賓 使用者,設定讀取和啟動並執行許可權,並讓它們底下的所有子檔案夾和檔案繼承到這個許可權。(請注意:先不要取消子檔案夾的繼承權——特殊的畢竟是“少數分子”,我 們後面來個別對付它們)

(3)所有的檔案夾只保留administrator和internet來客使用者,其它的使用者都刪除。[注意:如果同時有.net環境還需要 USERS使用者!]

       使許可權可編輯的操作方法:檔案夾的許可權預設是繼承來的,而繼承的許可權不能直接編輯。操作方法如下,以web為例,開啟該檔案夾的屬性 對話方塊,點擊“安全”標籤,點擊“進階”按鈕,把“允許把來自父系的可繼承許可權傳播給該對象”的複選框中的鉤去掉,然後,又會彈出一對話方塊,點擊“複 制”,這樣,這個檔案夾就複製到了預設的那些許可權(不是繼承的),就可以編輯了。

2、web的設定

如上所述,現在,web網站內的所有檔案internet來客使用者都有“讀取和運行”的許可權。在此基礎上,需要進行特別設定的有(不作特別說明,都 指internet來客使用者):

database、 count:再添加“修改”的許可權。

各頻道(如article)內的UploadFiles和js檔案夾:添加“修改”許可權。

3、動網BBS:Data、UploadFiles、UploadFaces、 Dv_ForumNews這幾個檔案夾都添加“修改”的許可權。

4、再次強調:那些需要寫入/修改許可權的只是被改動的檔案或檔案夾,比如資料庫檔案、資料庫檔案夾;用來進行數 據庫操作的asp檔案不需要設定為修改/寫入許可權,它們只需要統一設定為讀取和運行!

二、IIS中的internet匿名使用者存取許可權的設定

        一般地,IIS中,Asp網站中大多數的檔案夾和檔案要給予internet匿名使用者“讀取”和“純指令碼”的執行許可,切記不能選“寫入”,其它的用預設 設定。

        但是,對那些在檔案夾使用權限設定時,給了internet來客使用者“修改”權的,要在IIS中重新設定它們的“執行許可”權:如果檔案夾中沒有asp 和js檔案的(如:data、UploadFiles),鉤選“讀取”,執行許可都設定為“無”,即不允許任何指令碼運行。這樣,即使這個檔案夾中被寫入了 惡意程式,也不能運行。

三、卸載最不安全的組件
最簡單的辦法是直接卸載後刪除相應的程式檔案。將下面的代碼儲存為一個.BAT檔案,( 以下均以 WIN2000 為例,如果使用2003,則系統檔案夾應該是 C:\WINDOWS\ )
regsvr32/u C:\WINDOWS\System32\wshom.ocx
del C:\WINDOWS\System32\wshom.ocx
regsvr32/u C:\WINDOWS\system32\shell32.dll
del C:\WINNT\WINDOWS\shell32.dll 

現在很多人的伺服器都開始用Apache平台,雖然Apache的名聲可能比IIS好,但IIS來做Web伺服器的人一定也不少,因為很多站長都是從 asp慢慢走過來的,然後慢慢到php、jsp……
海天這幾天搞一個cms的網站,但不知道用什麼核心,網上找了下,貌似jtbc的程式二次開發 的擴充性很大,於是就決定用這個核心了,但總不能老是上傳到伺服器上測試吧,於是自己在XP環境下安裝搭建了一個IIS,來用作測試。

IIS 簡單的設定,海天原來也用過,但一直沒深入瞭解每個選項是做什麼用的,正好這次搭建後檔案夾有一點許可權的問題,就在網上找了一篇不錯的文章,瞭解不少安全 相關的設定。就比如開啟網站所在檔案夾的“寫入”許可權,和在IIS中控制台開啟寫入許可權,效果是截然不同的,後者直接能被駭客利用,可見使用權限設定還是很 重要的啊。

IIS Web伺服器的使用權限設定有兩個地方,一個是NTFS檔案系統本身的使用權限設定,另一個是IIS下網站->網站->屬性->主目錄(或網站 下目錄->屬性->目錄)的面板上。

IIS WEB伺服器下網站->網站->屬性->主目錄(或網站下目錄->屬性->目錄)面板上有:指令碼資源訪問、讀取、寫入、瀏 覽、記錄訪問、索引資源6 個選項。在這6個選項中,其中“記錄訪問”和“索引資源”跟安全性關係不大,一般可以設定。但如果前四個許可權都沒有設定的話,這兩個許可權也沒有必要設定。 在設定許可權時,記住這個規則即可,後面的例子中不再特別說明這兩個許可權的設定。
另外在這 6 個選項下面的執行許可權下拉式清單中還有:無、純指令碼、純指令碼和可執行程式3 個選項。
[原圖需在原文查看]

現在的網站目錄大多是在 NTFS分區,這樣還需要對NTFS 分區上的這個目錄的檔案夾設定相應許可權,許多地方都介紹設定使用everyone的許可權來達到控制存取權限,實際上這是不好的。其實只要設定好 Internet來賓帳號(IUSR_xxxxxxx)或IIS_WPG 組的帳號許可權就可以了。如果是設定 ASP、PHP 程式的目錄許可權,那麼只需要設定Internet 來賓帳號的許可權,而對於ASP.NET 程式,則需要設定 IIS_WPG 組的帳號許可權。
[原 圖需在原文查看]
有些人在XP系統下可能會發現沒有“安全”設定選項,你只需要開啟我的電腦-工具-檔案夾選項-查看,將“使用簡單檔案分享權限設定(推 薦)”這個選項的勾去掉,就可以了。

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 共用會給其更多許可權,可能會造成不安全因素。 
總結:也 就是說一般不要開啟IIS控制台下主目錄的(寫入),(指令碼資源訪問) 這兩項,以及不要選上(純指令碼和可執行程式),選(純指令碼)就可以了。需要asp.net的應用程式的如果應用程式目錄不止應用程式一個程式的可以在應用 程式檔案夾上(屬性)-目錄-點建立就可以了。不要在檔案夾上選web共用。

上傳目錄的使用權限設定:
網站上可能會設定一個或幾個目錄允許上傳檔案,上傳的方式一般是通過ASP、PHP、ASP.NET等程式來完成。這時需要注意,一定要將上傳 目錄的執行許可權(IIS控制台下的)設為“無”,這樣即使駭客上傳了 ASP、PHP 等指令碼程式或者exe程式,也不能在使用者瀏覽器裡就觸發執行。
同 樣,如果不需要使用者用PUT指令上傳,那麼不要開啟控制台該上傳目錄的“寫入”許可權。而應該設定目錄的NTFS許可權中的Internet來賓帳號 (ASP.NET 程式的上傳目錄是 IIS_WPG 組)的寫入權限。
如果下載時,是通過網站程式讀取檔案內容然後再轉寄給使用者的話,那麼連 IIS控制台的“讀取”許可權也不要設定。這樣可以保證使用者上傳的檔案只能被網站程式中已授權的使用者所下載。而不是知道檔案存放目錄的使用者所下載。“瀏 覽”許可權也不要開啟,除非你就是希望使用者可以瀏覽你的上傳目錄,並可以選擇自己想要下載的東西。
總結:一些 asp.php等程式都有一個上傳目錄。比如論壇,他們繼承了上面的屬性可以運行指令碼的,我們應該將這些目錄從新設定一下屬性,將執行許可權(純指令碼)改成 (無)。

Access資料庫所在目錄的使用權限設定:
許多IIS使用者常常採用將Access 資料庫的尾碼名mdb改名(改為asp或者aspx等)或者放在發布目錄之外的方法來避免瀏覽者下載資料庫。而實際上,這是不必要的。其實只需要在IIS 控制台設定資料庫所在目錄(或者該檔案)的“讀取”、“寫入”許可權都去掉就可以防止被人下載或篡改了。
不必擔心這樣設定,網站程式會無法讀取和 寫入你的 Access 資料庫。網站程式需要的是NTFS 上Internet來賓帳號或IIS_WPG組帳號的許可權,你只要將這些使用者的使用權限設定為可讀、可寫就完全可以保證網站程式能夠正確運行了。
總 結:NTFS設定Internet 來賓帳號或IIS_WPG組帳號的許可權可讀可寫.那麼IIS控制台中資料庫所在目錄(或者該檔案)的“讀取”、“寫入”許可權都去掉就可以防止被人下載或 篡改了。

其它目錄的使用權限設定:
你的網站下可能還有純圖片目錄、純 html 模版目錄、純用戶端 js 檔案目錄或者樣式表目錄等,這些目錄只需要ISS控制台設定“讀取”許可權即可,執行許可權設成“無”即可。其它許可權一概不需要設定。

其 實,海天的理解就是:IIS控制台設定的是訪客在IE瀏覽器下瀏覽的許可權,而NTFS檔案夾設定是給網站程式執行時需要的許可權。
還有其他需要注 意的設定,大家知道的話補充下,讓更多人多注意一下網站的安全。
對了,還有誰比較瞭解JTBC的,聯絡下,海天以後有問題去請教了。  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.