2010-02-09 44 views
6

我的網絡應用在Windows Server 2003下的IIS 6.0中運行,我們都知道在這種情況下,IIS使用用戶帳戶「網絡服務」。向管理員組添加「網絡服務」帳戶

我碰巧必須允許某個用戶在我的網頁上執行某些操作,並且該操作需要管理員權限。

最懶的解決方案似乎給管理員組添加了「網絡服務」,並且它確實有效。

我的問題是,如何危險這個解決方案是什麼,它以什麼方式危害我的網絡服務器的安全?

+1

可能有一些事情比你更危險。但我懷疑它。 – SLaks

回答

5

這通常是「一個壞主意」。如果這是一個面向公衆的服務器,那麼這是一個非常糟糕的主意。

你應該做的,這是我們如何處理的問題,如這是沙盒,你需要在另一個進程中進行,如Windows服務已提升權限的具體管理任務。

然後,我們在Windows服務承載遠程處理服務器,並與服務無論在命名管道或TCP/IP通訊(如機器到機器,這是在後端專用網絡)。

欲瞭解更多信息,請參閱有關類似的問題這個答案,我留給其他用戶:

Windows User Account that executes only IIS7 Provisions

一個更好的方法是永遠不會有網絡之間的直接通信應用程序和Windows服務,但需要通過中介(如作業或消息隊列)。您的低權限應用程序會請求執行管理任務,您提升的特權服務會從隊列中讀取這些任務並將其執行。

在這兩種情況下,您都應該確保您不會超出每項任務的責任。即確保如果任務是在服務器上創建新的Windows帳戶,則不允許該新帳戶獲得比其需要更多的權限。

2

如果我寫的,需要箱級admin一些網絡功能,我會做,它在自己的應用程序池自己的應用程序,能夠緊緊地鎖定該應用程序,因爲我可以,給該應用程序池指定帳戶(一個域資源(如果在Active Directory上)),然後在該框上給予該帳戶管理權限。將其保留在自己的應用程序池中可以有效地將其從常規應用程序中鎖定。

NT Authority/Network Service與機器上的大量內容進行交互。我無法想出獲得網絡服務管理權限的任何理由。

1

在任何情況下都不會這樣做。

如果添加網絡服務來管理組,那麼所有匿名用戶訪問您的Web應用程序會默認與損害潛在的管理員是巨大的。

根據您的問題

我碰巧有允許特定用戶到我的網頁上執行一些操作,而操作需要管理員權限。

這很好 - 該網頁上使用Windows身份驗證,使用戶一個普通的Windows管理員。現在,他們和所有其他管理員可以執行您設置的任務。