介紹 IIS 7.5 的應(yīng)用程序池與新增的「虛擬帳戶」特性
從 Windows 7 與 Windows Server 2008 R2 開始,新增了兩種特殊的帳戶類型,分別是「受管理的服務(wù)帳戶(Managed service accounts)」與「虛擬帳戶(virtual accounts)」,可有效隔離各種網(wǎng)路服務(wù)以提升安全性,我今天會(huì)集中在講解 IIS 7.5 與虛擬帳戶之間的實(shí)際運(yùn)用與范例。
要學(xué)會(huì)設(shè)定 IIS 一定要熟悉應(yīng)用程式集區(qū)(Application Pool)與身份識(shí)別(Identity)的關(guān)系,我們都知道 IIS6 與 IIS7 預(yù)設(shè)的應(yīng)用程式集區(qū)身份識(shí)別都是 NETWORK SERVICE 這個(gè)系統(tǒng)帳戶,不過 NETWORK SERVICE 這個(gè)帳戶可不是只有 IIS 在用而已,還有許多其他系統(tǒng)中與網(wǎng)路有關(guān)的服務(wù)程序也是用 NETWORK SERVICE 這個(gè)身份在運(yùn)作,例如:SQLEXPRESS 服務(wù)。
這也代表著就算 IIS 沒有淪陷,只要有其他使用 NETWORK SERVICE 的網(wǎng)路服務(wù)淪陷的話,也會(huì)有可能連帶影響 IIS 的運(yùn)作。這樣說你可能沒感覺,我反過來說,如果 IIS 被植入木馬程式,駭客可以大搖大擺的利用 NETWORK SERVICE 下載你的 SQLEXPRESS 資料庫備份檔、刪除備份檔、刪除或下載你暫時(shí)卸離的資料庫、甚至于偷天換日將另一組資料庫上傳上去,讓你完全不知發(fā)生何事。
礙于時(shí)間與篇幅我沒辦法說太多,如果有機(jī)會(huì)我可以做很多現(xiàn)場的展示,包你大開眼界,資訊安全這檔事真的是博大精深,不瞭解各種細(xì)節(jié)與原理的人永遠(yuǎn)是在霧裡看花。
有了「虛擬帳戶」的概念,各種不同的網(wǎng)路服務(wù)不需要再共用同一組 NETWORK SERVICE 身份識(shí)別,甚至于同一個(gè) IIS 下個(gè)別不同的應(yīng)用程式集區(qū)也可以用完全區(qū)隔開來的「虛擬帳戶」執(zhí)行 Web 應(yīng)用程式,除了工作處理程序 (Worker Process) (w3wp.exe) 執(zhí)行的身份可以完全切開外,對于不同站臺(tái)所操作的檔案或目錄也可以將 NTFS 權(quán)限的設(shè)定做有效區(qū)隔,讓不同工作處理程序之間對系統(tǒng)或檔案安全性的影響降至最低,非常的有意義!
首先,我們先來看看 IIS 7.5 內(nèi)建的 DefaultAppPool 應(yīng)用程式集區(qū)的 [進(jìn)階設(shè)定]
在這裡你會(huì)看到 IIS 7.5 這次才新增的 ApplicationPoolIdentity 內(nèi)建帳戶,而這就是為 IIS 7.5 特別訂製的「虛擬帳戶」。
當(dāng)我們的 ASP.NET 程式需要上傳或?qū)懭霗n案到 Web Server 時(shí),就必須要設(shè)定目錄的 NTFS 權(quán)限讓工作處理程序能夠?qū)懭霗n案,在以往我們要設(shè)定的是 NETWORK SERVICE 帳戶,但現(xiàn)在要輸入的卻是一組特殊的「虛擬帳戶」,我們在檔案總管設(shè)定權(quán)限時(shí)「虛擬帳戶」是無法被選取的,只能手動(dòng)輸入這組特殊的帳戶名稱,IIS 應(yīng)用程式集區(qū)的虛擬帳戶名稱表示方式為:【IIS AppPool\應(yīng)用程式集區(qū)名稱】,例如內(nèi)建的應(yīng)用程式名稱就稱為: 【IIS AppPool\DefaultAppPool】,如果你新增了一個(gè)應(yīng)用程式集區(qū)名為 MyAppPool 的話,虛擬帳戶的表示法就是:【IIS AppPool\MyAppPool】。
如下圖示,在設(shè)定 NTFS 權(quán)限選取使用者時(shí)需先手動(dòng)輸入虛擬帳戶帳號(hào)
當(dāng)按下 [檢查名稱] 或 [Check Names] 時(shí),名稱若出現(xiàn)「底線」就代表該「虛擬帳戶」是有效的:
最后,我們看一下 [工作管理員] 中呈現(xiàn)的工作處理程序 (w3wp.exe) 的執(zhí)行身份也是虛擬帳戶DefaultAppPool 這個(gè)身份。
我覺得虛擬帳戶這個(gè)概念實(shí)在是太棒了,以后在設(shè)定多個(gè)站臺(tái)時(shí)也不需要新增一堆無意義的系統(tǒng)帳戶或人工管理這堆系統(tǒng)帳戶的密碼與到期日,對于系統(tǒng)的可管理性也增強(qiáng)了,當(dāng)你不需要虛擬帳戶時(shí),也可以選擇原本的 NetworkService 或自行指定帳戶執(zhí)行。
---
虛擬帳戶雖然在 Windows 7 與 Windows Server 2008 R2 才出現(xiàn),但 Windows Server 2008 在更新到 Service Pack 2 (SP2) 之后也會(huì)支援虛擬帳戶的設(shè)定,只是經(jīng)我實(shí)測后發(fā)現(xiàn) Windows Server 2008 SP2 雖然有支援虛擬帳戶,在 IIS 7 的應(yīng)用程式集區(qū) [進(jìn)階設(shè)定] 視窗中也會(huì)看到 ApplicationPoolIdentity 的選項(xiàng),但在檔案總管中設(shè)定 NTFS 權(quán)限時(shí)卻無法透過 [檢查名稱] 或 [Check Names] 按鈕進(jìn)行名稱檢查,因此你將無法透過 GUI 介面設(shè)定授權(quán)給虛擬帳戶,只能透過 icacls 工具設(shè)定檔案或目錄權(quán)限,使用范例如下:
‧設(shè)定 UploadFiles 目錄授予 IIS AppPool\DefaultAppPool 虛擬帳戶擁有完全控制(Full)權(quán)限
icacls C:\Inetpub\wwwroot\UploadFiles /grant "IIS AppPool\DefaultAppPool":F
相關(guān)連結(jié)
- Service Accounts Step-by-Step Guide
- Application Pool Identities
- IIS7 in Windows Server 2008 R2
- Service Pack 2 for Windows Server 2008 and Windows Vista
- IIS 7 技術(shù)文章列表
- New in IIS 7 - App Pool Isolation
- What account is your AppPool running as?
- Display Virtual User Accounts in permission dialog | Microsoft Connect
相關(guān)文章
Windows?Server?2019服務(wù)器安全設(shè)置之防火墻、限制遠(yuǎn)程訪問和IP黑名單
這篇文章主要介紹了Windows?Server?2019?防火墻與IP黑名單的設(shè)置方法,需要的朋友可以參考下2023-04-04Win2008 R2下配制負(fù)載均衡方法(圖文簡潔版)
這篇文章主要介紹了Win2008 R2下配制負(fù)載均衡方法(圖文簡潔版),需要的朋友可以參考下2016-10-10windows下指定IP地址遠(yuǎn)程訪問服務(wù)器的設(shè)置方法
這篇文章主要為大家詳細(xì)介紹了windows下指定IP地址進(jìn)行遠(yuǎn)程訪問服務(wù)器設(shè)置方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09Windows2003 服務(wù)器安全配置詳細(xì)篇
今天演示一下服務(wù)器權(quán)限的設(shè)置,實(shí)現(xiàn)目標(biāo)是系統(tǒng)盤任何一個(gè)目錄asp網(wǎng)馬不可以瀏覽,事件查看器完全無錯(cuò),所有程序正常運(yùn)行.2010-03-03win10 DVWA下載安裝配置圖文教程詳解(新手學(xué)滲透)
這篇文章主要介紹了win10 DVWA下載安裝配置教程詳細(xì),本文通過文字圖文相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-04-04IIS服務(wù)器中 ASP.NET State Service 開啟后 Session 仍容易丟失的問題終極解決辦法
IIS服務(wù)器中 ASP.NET State Service 開啟后 Session 仍容易丟失的問題終極解決辦法,碰到此問題的朋友可以參考下。2011-07-07IIS HTTP 錯(cuò)誤 404.17 - Not Found 解決方法
這篇文章主要介紹了IIS出現(xiàn)Errore HTTP 404.2 - Not Found" IIS 7.5 請求的內(nèi)容似乎是腳本,因而將無法由靜態(tài)文件處理程序來處理問題的解決方法,需要的朋友可以參考下2014-05-05