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