Windows-Server-2008
“NETWORK SERVICE”帳戶在我的 Windows 2008 SP2(標準)安裝中似乎具有很高的特權
我在 Godaddy 專用主機帳戶中全新安裝了 Windows 2008 Standard。我將安裝升級到 SP2。
多個應用程序在 IIS 中執行,在應用程序池中使用“NetworkService”作為池標識。我正在通過網際網路匿名訪問這些應用程序。
與 Windows 2003 不同,這似乎是一個高度特權的帳戶。我發現我的應用程序對磁碟上的每個目錄都有讀取權限。我通過在 IIS 中創建一個簡單的應用程序來驗證這一點,該應用程序讀取任意目錄的內容並列印它遇到的第一個文本文件的內容。這適用於我嘗試過的每個文件夾,包括 C:\Windows\System32。但是,嘗試寫入失敗。
我的直覺告訴我這不可能是正確的行為,但我的 Win2k8-fu 並不強大。
我看到的正常嗎?我應該使用不同的身份執行應用程序池嗎?
你看到的很正常。“網路服務”賬戶相當於本地的SYSTEM賬戶,是一個非常有特權的賬戶。IIRC,網路服務與本地服務或系統不同,在域上下文中它可以訪問遠端電腦上的資源;分配給機器帳戶的權限限制了它在域上可以看到的內容。
IIS7 應用程序使用的帳戶由支持的應用程序池使用的帳戶定義。
“ApplicationPoolIdentity”是 IIS7 的一個新特性。有關設置權限的詳細資訊,有一個涵蓋此內容的伺服器故障問題(連結)。最安全的方法是在該框上為應用程序池創建一個自定義使用者,並將權限分配給該使用者。
要進入上述下拉螢幕:
- 打開 IIS 管理器。
- 打開應用程序池。
- 選擇有問題的應用程序池。
- 在右側框架中,選擇“高級設置”
- 在“流程模型”下,您將找到“身份”。這是下拉菜單的位置。