您好,登錄后才能下訂單哦!
應(yīng)用程序池(w3wp.exe 工作進(jìn)程)是以我們指定的用戶身份運(yùn)行的,IIS 需要使用這個(gè)用戶身份訪問各種系統(tǒng)資源和網(wǎng)絡(luò)資源,如訪問磁盤資源、執(zhí)行某些系統(tǒng)功能、訪問寄存器,以及訪問網(wǎng)絡(luò)資源等。IIS 默認(rèn)的用戶身份是 Network Service 賬號(hào),這個(gè)賬號(hào)對(duì) Web 服務(wù)器和網(wǎng)絡(luò)只有有限的訪問權(quán)限,但是在運(yùn)行標(biāo)準(zhǔn) Web 網(wǎng)站時(shí)具有完全的權(quán)限。 IIS 7.0 為用戶提供了 3 種內(nèi)置的賬戶。
內(nèi)置的賬戶包括:Network Service、Local Service、Local System
Network Service 賬號(hào)
應(yīng)用程序池默認(rèn)的用戶是內(nèi)置的 Network Service 賬號(hào)。 Network Service 賬號(hào)對(duì)本地計(jì)算機(jī)和網(wǎng)絡(luò)資源只擁有最小訪問權(quán)限。當(dāng)訪問同一個(gè)域中(或同一個(gè)信任域中)的另一個(gè)設(shè)備中的某個(gè)資源時(shí),服務(wù)器可以使用 Network Service 賬號(hào)的網(wǎng)絡(luò)證書進(jìn)行身份驗(yàn)證。這個(gè)設(shè)備可以是一個(gè)數(shù)據(jù)庫,也可以是一個(gè) UNC 共享,還可以是任何能夠通過網(wǎng)絡(luò)訪問的資源。Network Service 賬號(hào)的證書形式為 DomainName\ServerName$。例如,在 DomainA 域中,如果一個(gè)名為 WebServer1 的服務(wù)器使用 Network Service 賬號(hào)運(yùn)行一個(gè)網(wǎng)站的過程中,同時(shí)還運(yùn)行了一個(gè)名為 SQLServer1 的數(shù)據(jù)庫,那么為了正常運(yùn)行名為 SQLServer1 的數(shù)據(jù)庫,我們必須為 DomainA\WebServer1$ 賬號(hào)授予必要的 SQL 訪問權(quán)限。
下面的權(quán)限將被顯式地指派給 Network Service 賬號(hào)。
1、為一個(gè)進(jìn)程調(diào)整內(nèi)存配額
2、繞過漫游檢查
3、創(chuàng)建全局對(duì)象
4、生成安全審計(jì)
5、身份驗(yàn)證過程結(jié)束之后模擬一個(gè)客戶
6、替換一個(gè)進(jìn)程級(jí)令牌
作為 Everyone 組的成員,Network Service 賬號(hào)還繼承了以下權(quán)限:
7、從網(wǎng)絡(luò)訪問計(jì)算機(jī)
最后,作為 IIS_IUSRS 組的成員,Network Service 賬號(hào)還繼承了以下權(quán)限:
8、作為一個(gè)批處理作業(yè)登錄
Local Service 賬號(hào)
內(nèi)置的 Local Service 賬號(hào)無法像 Network Service 賬號(hào)那樣訪問網(wǎng)絡(luò)資源,但是具有與 Network Service 賬號(hào)類似的本地資源訪問權(quán)限。在 Windows Vista 和 Windows Server 2008 中,Local Service 賬號(hào)擁有以下本地資源訪問權(quán)限,而這些權(quán)限是 Network Service 賬號(hào)所不具備的:
1、修改系統(tǒng)時(shí)間
2、修改系統(tǒng)時(shí)區(qū)
如果不需要訪問網(wǎng)絡(luò)資源,那么就可以使用 Local Service 賬號(hào)。
Local System 賬號(hào)
內(nèi)置的 Local System 賬號(hào)具有對(duì)本地系統(tǒng)的完全訪問權(quán)限。但是當(dāng)我們使用 Local System 賬號(hào)時(shí),務(wù)必加以小心,盡可能地避免使用這個(gè)賬號(hào)。當(dāng)一個(gè)未授權(quán)的用戶瀏覽服務(wù)器中的某個(gè)網(wǎng)站時(shí),或者當(dāng)這個(gè)未授權(quán)的用戶上傳自己的內(nèi)容時(shí),如果應(yīng)用程序池以 Local System 賬號(hào)身份運(yùn)行,那么這個(gè)用戶可以在 Web 服務(wù)器中執(zhí)行任何操作。
盡管 Local System 賬號(hào)可能會(huì)帶來大量的安全風(fēng)險(xiǎn),但是 Local System 賬號(hào)仍然具有實(shí)際用途。如果需要對(duì) Web 網(wǎng)站中的錯(cuò)誤進(jìn)行定位,同時(shí),將應(yīng)用程序池標(biāo)識(shí)設(shè)置為 Local System 賬號(hào)標(biāo)識(shí),并在此基礎(chǔ)上進(jìn)行測(cè)試,且假設(shè)網(wǎng)站的錯(cuò)誤是由應(yīng)用程序池身份標(biāo)識(shí)的權(quán)限問題所引發(fā)的,那么我們就可以迅速發(fā)現(xiàn)問題的根源。當(dāng)然,這種錯(cuò)誤定位方式還需要考慮其他因素。成功定位錯(cuò)誤之后,我們必須將應(yīng)用程序池身份標(biāo)識(shí)設(shè)置為具有合理權(quán)限的用戶身份。
自定義的用戶賬號(hào)
與 IIS 6.0 類似,IIS 7.0 同樣允許我們創(chuàng)建一個(gè)自定義用戶。這個(gè)用戶既可以是一個(gè)本地 Windows 用戶,也可以是一個(gè)域用戶。至于創(chuàng)建哪一類用戶,完全取決于 IIS 7.0 的應(yīng)用環(huán)境以及我們的具體需要。如果創(chuàng)建的是一個(gè)域用戶,那么便可以像使用 UNC 共享那樣訪問網(wǎng)絡(luò)資源,或者像訪問一個(gè)數(shù)據(jù)庫那樣訪問網(wǎng)絡(luò)資源。此時(shí)我們只需要令應(yīng)用程序池用戶具備訪問網(wǎng)絡(luò)資源的權(quán)限即可。之所以需要?jiǎng)?chuàng)建一個(gè)自定義用戶,處于以下幾個(gè)原因:
1、現(xiàn)有的內(nèi)置賬戶無法滿足我們的需求。例如,假如 Local Service 賬號(hào)權(quán)限不足,而 Local System 賬號(hào)權(quán)限又太高,那么就可以根據(jù)所需要的權(quán)限創(chuàng)建一個(gè)合適的賬號(hào)。
2、為了保護(hù)網(wǎng)站,需要將網(wǎng)站進(jìn)行分隔。在一個(gè)共享環(huán)境中,如果一個(gè) Web 服務(wù)器中運(yùn)行了多個(gè)網(wǎng)站,而這些網(wǎng)站彼此之間又互不信任,那么我們就可以使用自定義用戶的方法解決問題。一個(gè)共享的 Web 主機(jī)環(huán)境是使用自定義用戶的主要原因。即使在同一個(gè)機(jī)構(gòu)中,將不同的 Web 網(wǎng)站彼此分隔也非常有意義,這是因?yàn)椋涸诠蚕淼?Web 主機(jī)環(huán)境中,如果一個(gè) Web 網(wǎng)站受到了危害,那么,只要我們對(duì)系統(tǒng)進(jìn)行了合理配置,其他 Web 網(wǎng)站、應(yīng)用程序池中的應(yīng)用程序都不會(huì)受到影響。
3、需要使用應(yīng)用程序池身份訪問一個(gè)網(wǎng)絡(luò)資源。如果需要訪問一個(gè)網(wǎng)絡(luò)資源,那么可以創(chuàng)建一個(gè)自定義的域用戶,并將應(yīng)用程序池的用戶標(biāo)識(shí)指派為這個(gè)自定義用戶。這樣一來,如果以這個(gè)應(yīng)用程序池的用戶標(biāo)識(shí)運(yùn)行的程序需要訪問一個(gè)網(wǎng)絡(luò)資源,那么,程序?qū)⑹褂眠@個(gè)自定義用戶身份訪問網(wǎng)絡(luò)資源。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。