IIS權(quán)限設(shè)置 IIS部署
發(fā)表時(shí)間:2023-07-28 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]關(guān)于IIS的設(shè)置作為web開(kāi)發(fā)的程序員或是管理員是必須掌握的,對(duì)于網(wǎng)站的安全非常重要。雖然 Apache 的名聲可能比 IIS 好,但我相信用 IIS 來(lái)做 Web 服務(wù)器的人一定也不少。說(shuō)實(shí)話(huà),我...
關(guān)于IIS的設(shè)置作為web開(kāi)發(fā)的程序員或是管理員是必須掌握的,對(duì)于網(wǎng)站的安全非常重要。
雖然 Apache 的名聲可能比 IIS 好,但我相信用 IIS 來(lái)做 Web 服務(wù)器的人一定也不少。說(shuō)實(shí)話(huà),我覺(jué)得 IIS 還是不錯(cuò)的,尤其是 Windows 2003 的 IIS 6(馬上 Longhorn Server 的 IIS 7 也就要來(lái)了,相信會(huì)更好),性能和穩(wěn)定性都相當(dāng)不錯(cuò)。但是我發(fā)現(xiàn)許多用 IIS 的人不太會(huì)設(shè)置 Web 服務(wù)器的權(quán)限,因此,出現(xiàn)漏洞被人黑掉也就不足為奇了。但我們不應(yīng)該把這歸咎于 IIS 的不安全。如果對(duì)站點(diǎn)的每個(gè)目錄都配以正確的權(quán)限,出現(xiàn)漏洞被人黑掉的機(jī)會(huì)還是很小的(Web 應(yīng)用程序本身有問(wèn)題和通過(guò)其它方式入侵黑掉服務(wù)器的除外)。下面是我在配置過(guò)程中總結(jié)的一些經(jīng)驗(yàn),希望對(duì)大家有所幫助。
IIS Web 服務(wù)器的權(quán)限設(shè)置有兩個(gè)地方,一個(gè)是 NTFS 文件系統(tǒng)本身的權(quán)限設(shè)置,另一個(gè)是 IIS 下網(wǎng)站->站點(diǎn)->屬性->主目錄(或站點(diǎn)下目錄->屬性->目錄)面板上。這兩個(gè)地方是密切相關(guān)的。下面我會(huì)以實(shí)例的方式來(lái)講解如何設(shè)置權(quán)限。
IIS 下網(wǎng)站->站點(diǎn)->屬性->主目錄(或站點(diǎn)下目錄->屬性->目錄)面板上有:
腳本資源訪(fǎng)問(wèn)
讀取
寫(xiě)入
瀏覽
記錄訪(fǎng)問(wèn)
索引資源
6 個(gè)選項(xiàng)。這 6 個(gè)選項(xiàng)中,“記錄訪(fǎng)問(wèn)”和“索引資源”跟安全性關(guān)系不大,一般都設(shè)置。但是如果前面四個(gè)權(quán)限都沒(méi)有設(shè)置的話(huà),這兩個(gè)權(quán)限也沒(méi)有必要設(shè)置。在設(shè)置權(quán)限時(shí),記住這個(gè)規(guī)則即可,后面的例子中不再特別說(shuō)明這兩個(gè)權(quán)限的設(shè)置。
另外在這 6 個(gè)選項(xiàng)下面的執(zhí)行權(quán)限下拉列表中還有:
無(wú)
純腳本
純腳本和可執(zhí)行程序
3 個(gè)選項(xiàng)。
而網(wǎng)站目錄如果在 NTFS 分區(qū)(推薦用這種)的話(huà),還需要對(duì) NTFS 分區(qū)上的這個(gè)目錄設(shè)置相應(yīng)權(quán)限,許多地方都介紹設(shè)置 everyone 的權(quán)限,實(shí)際上這是不好的,其實(shí)只要設(shè)置好 Internet 來(lái)賓帳號(hào)(IUSR_xxxxxxx)或 IIS_WPG 組的帳號(hào)權(quán)限就可以了。如果是設(shè)置 ASP、PHP 程序的目錄權(quán)限,那么設(shè)置 Internet 來(lái)賓帳號(hào)的權(quán)限,而對(duì)于 ASP.NET 程序,則需要設(shè)置 IIS_WPG 組的帳號(hào)權(quán)限。在后面提到 NTFS 權(quán)限設(shè)置時(shí)會(huì)明確指出,沒(méi)有明確指出的都是指設(shè)置 IIS 屬性面板上的權(quán)限。
例1 —— ASP、PHP、ASP.NET 程序所在目錄的權(quán)限設(shè)置:
如果這些程序是要執(zhí)行的,那么需要設(shè)置“讀取”權(quán)限,并且設(shè)置執(zhí)行權(quán)限為“純腳本”。不要設(shè)置“寫(xiě)入”和“腳本資源訪(fǎng)問(wèn)”,更不要設(shè)置執(zhí)行權(quán)限為“純腳本和可執(zhí)行程序”。NTFS 權(quán)限中不要給 IIS_WPG 用戶(hù)組和 Internet 來(lái)賓帳號(hào)設(shè)置寫(xiě)和修改權(quán)限。如果有一些特殊的配置文件(而且配置文件本身也是 ASP、PHP 程序),則需要給這些特定的文件配置 NTFS 權(quán)限中的 Internet 來(lái)賓帳號(hào)(ASP.NET 程序是 IIS_WPG 組)的寫(xiě)權(quán)限,而不要配置 IIS 屬性面板中的“寫(xiě)入”權(quán)限。
IIS 面板中的“寫(xiě)入”權(quán)限實(shí)際上是對(duì) HTTP PUT 指令的處理,對(duì)于普通網(wǎng)站,一般情況下這個(gè)權(quán)限是不打開(kāi)的。
IIS 面板中的“腳本資源訪(fǎng)問(wèn)”不是指可以執(zhí)行腳本的權(quán)限,而是指可以訪(fǎng)問(wèn)源代碼的權(quán)限,如果同時(shí)又打開(kāi)“寫(xiě)入”權(quán)限的話(huà),那么就非常危險(xiǎn)了。
執(zhí)行權(quán)限中“純腳本和可執(zhí)行程序”權(quán)限可以執(zhí)行任意程序,包括 exe 可執(zhí)行程序,如果目錄同時(shí)有“寫(xiě)入”權(quán)限的話(huà),那么就很容易被人上傳并執(zhí)行木馬程序了。
對(duì)于 ASP.NET 程序的目錄,許多人喜歡在文件系統(tǒng)中設(shè)置成 Web 共享,實(shí)際上這是沒(méi)有必要的。只需要在 IIS 中保證該目錄為一個(gè)應(yīng)用程序即可。如果所在目錄在 IIS 中不是一個(gè)應(yīng)用程序目錄,只需要在其屬性->目錄面板中應(yīng)用程序設(shè)置部分點(diǎn)創(chuàng)建就可以了。Web 共享會(huì)給其更多權(quán)限,可能會(huì)造成不安全因素。
站長(zhǎng)總結(jié):也就是說(shuō)一般不要打開(kāi)-主目錄-(寫(xiě)入),(腳本資源訪(fǎng)問(wèn)) 這兩項(xiàng)以及不要選上(純腳本和可執(zhí)行程序),選(純腳本)就可以了.需要asp.net的應(yīng)用程序的如果應(yīng)用程序目錄不止應(yīng)用程序一個(gè)程序的可以在應(yīng)用程序文件夾上(屬性)-目錄-點(diǎn)創(chuàng)建就可以了.不要在文件夾上選web共享.
例2 —— 上傳目錄的權(quán)限設(shè)置:
用戶(hù)的網(wǎng)站上可能會(huì)設(shè)置一個(gè)或幾個(gè)目錄允許上傳文件,上傳的方式一般是通過(guò) ASP、PHP、ASP.NET 等程序來(lái)完成。這時(shí)需要注意,一定要將上傳目錄的執(zhí)行權(quán)限設(shè)為“無(wú)”,這樣即使上傳了 ASP、PHP 等腳本程序或者 exe 程序,也不會(huì)在用戶(hù)瀏覽器里就觸發(fā)執(zhí)行。
同樣,如果不需要用戶(hù)用 PUT 指令上傳,那么不要打開(kāi)該上傳目錄的“寫(xiě)入”權(quán)限。而應(yīng)該設(shè)置 NTFS 權(quán)限中的 Internet 來(lái)賓帳號(hào)(ASP.NET 程序的上傳目錄是 IIS_WPG 組)的寫(xiě)權(quán)限。
如果下載時(shí),是通過(guò)程序讀取文件內(nèi)容然后再轉(zhuǎn)發(fā)給用戶(hù)的話(huà),那么連“讀取”權(quán)限也不要設(shè)置。這樣可以保證用戶(hù)上傳的文件只能被程序中已授權(quán)的用戶(hù)所下載。而不是知道文件存放目錄的用戶(hù)所下載。“瀏覽”權(quán)限也不要打開(kāi),除非你就是希望用戶(hù)可以瀏覽你的上傳目錄,并可以選擇自己想要下載的東西。
劍心總結(jié):一般的一些asp.php等程序都有一個(gè)上傳目錄.比如論壇.他們繼承了上面的屬性可以運(yùn)行腳本的.我們應(yīng)該將這些目錄從新設(shè)置一下屬性.將(純腳本)改成(無(wú)).
例3 —— Access 數(shù)據(jù)庫(kù)所在目錄的權(quán)限設(shè)置:
許多 IIS 用戶(hù)常常采用將 Access 數(shù)據(jù)庫(kù)改名(改為 asp 或者 aspx 后綴等)或者放在發(fā)布目錄之外的方法來(lái)避免瀏覽者下載它們的 Access 數(shù)據(jù)庫(kù)。而實(shí)際上,這是不必要的。其實(shí)只需要將 Access 所在目錄(或者該文件)的“讀取”、“寫(xiě)入”權(quán)限都去掉就可以防止被人下載或篡改了。你不必?fù)?dān)心這樣你的程序會(huì)無(wú)法讀取和寫(xiě)入你的 Access 數(shù)據(jù)庫(kù)。你的程序需要的是 NTFS 上 Internet 來(lái)賓帳號(hào)或 IIS_WPG 組帳號(hào)的權(quán)限,你只要將這些用戶(hù)的權(quán)限設(shè)置為可讀可寫(xiě)就完全可以保證你的程序能夠正確運(yùn)行了。
劍心總結(jié):Internet 來(lái)賓帳號(hào)或 IIS_WPG 組帳號(hào)的權(quán)限可讀可寫(xiě).那么Access所在目錄(或者該文件)的“讀取”、“寫(xiě)入”權(quán)限都去掉就可以防止被人下載或篡改了
例4 —— 其它目錄的權(quán)限設(shè)置:
你的網(wǎng)站下可能還有純圖片目錄、純 html 模版目錄、純客戶(hù)端 js 文件目錄或者樣式表目錄等,這些目錄只需要設(shè)置“讀取”權(quán)限即可,執(zhí)行權(quán)限設(shè)成“無(wú)”即可。其它權(quán)限一概不需要設(shè)置。
好了,我想上面的幾個(gè)例子已經(jīng)包含了大部分情況下的權(quán)限設(shè)置,其它情況根據(jù)這些例子,我想你一定可以想到該如何設(shè)置了吧。
學(xué)習(xí)教程快速掌握從入門(mén)到精通的電腦知識(shí)