簡體   English   中英

System.Diagnostics將允許用戶殺死IIS7中自己的進程

[英]System.Diagnostics will allow user kill their own process in IIS7

IIS7中的托管客戶可以使用asp.net和System.Diagnostics列出所有系統的進程ID。 他們還可以殺死屬於自己的應用程序池的應用程序。 對於共享主機環境,IIS7中似乎存在很大的安全問題。 關於如何防止普通用戶訪問System.Diagnostics的任何建議? 如何僅將其限制為管理員?

與Windows 2003和IIS6不同,許多共享的Windows 2008 / IIS7托管環境為客戶提供了專用的應用程序池和完全信任。

盡管客戶可以啟動並殺死他們自己的進程(包括他們自己的工作進程),但前提是該網站所運行的帳戶的身份已被鎖定,那么就不會造成真正的危害。 如果客戶的代碼不斷地殺死自己的應用程序池(除了強制重新啟動工作進程以允許Application_Start類型的事件在需要重新加載某些設置的情況下觸發),這對客戶有什么好處?

我在一家共享主機托管公司工作,實際上,我們通過管理系統為客戶提供了啟動,停止和回收其專用池的能力,他們在代碼中所做的幾乎是同一回事。

可能發生的最壞情況是,客戶啟動了一個消耗大量內存或CPU的進程(但即使這樣做,他們自己的ASP.NET代碼也可能失控)。 我們會持續監控服務器是否存在此類異常行為,並且可以在收到警報后的2-3分鍾內追查罪魁禍首。 最終用戶將得到友好的警告,並被告知不要再次執行此操作,如果這樣做,則其站點將立即關閉。

我唯一擔心的是托管者是否在完全信任的情況下運行共享池,但是如果這樣做,則他們還有其他安全難題要克服,進程終止將是他們的后顧之憂。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM