就應用程序池的安全性而言,我們必須保證 w3wp.exe 工作進程可以讀取 IIS 配置數據,因為這是 w3wp.exe 工作進程正常工作的基礎。w3wp.exe 工作進程必須能夠讀取其所服務的網站的 IIS 設置。這意味著 w3wp.exe 工作進程必須對 applicationHost.config 文件中配置的大多數內容具有 Read 訪問權限。問題是:如果每個應用程序池都可以讀取整個配置文件,那么,配置文件中的所有信息就都暴露給每一個應用程序池了。因此,我們必須確保:就 applicationHost.config 文件中的整體內容而言,不允許每一個應用程序池都具有對這些整體內容的 Read 權限或 Write 權限。否則,某些用戶就可以獲取對敏感信息的訪問權限。
為了解決這個問題,IIS 開發(fā)團隊提出了一種方法,允許 w3wp.exe 工作進程讀取與其有關的所有設置,但是同時又不需要訪問其他應用程序的信息,也不能訪問敏感的全局設置數據,這樣就能夠在不同的應用程序工具之間做到完全的配置隔離。
當應用程序池第一次啟動時,Windows Process Activation Service(WAS)僅獲得與該應用程序池有關的信息,并且在 C:\inetpub\temp\appPools\ 目錄下創(chuàng)建了一個臨時文件夾,為這個應用程序池設置 ACL,然后將信息保存在這個臨時文件夾中。下圖顯示了這個保存了 WCF.Inventory.config 文件的文件夾。
十余年建站經驗, 成都做網站、網站制作客戶的見證與正確選擇。創(chuàng)新互聯(lián)提供完善的營銷型網頁建站明細報價表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。
.config 文件中的數據大多數與 applicationHost.config 文件中的數據相同,但是沒有保存任何其他應用程序池中的 Web 網站信息。我們沒有必要在 .config 文件中保存其他應用程序池中的 Web 網站信息,因為w3wp.exe 工作進程是由 WAS 管理的,而且 w3wp.exe 工作進程也不需要使用自身的信息。
如果與該文件有關的數據發(fā)生了變更,那么這個臨時文件也會隨之更新,否則,這個文件就一直保存在上述目錄中,直到 IIS 停止運行。如果我們刪除這個文件,那么 IIS 將無法正常執(zhí)行該應用程序池的功能,所有與該應用程序池有關的操作都會發(fā)生失效,并且僅當 IIS 重啟后,在重新生成這個被刪除的文件之后,這個問題才能得到解決。如果我們僅僅是回收這個應用程序池,那么這個被刪除的文件不會被重新生成,因此無法解決這個問題。所以,除非錯誤定位時必須使用這些文件,并且確實能夠理解這些文件的功能和各種方式,否則最好不要對這些文件進行操作。
在 IIS 7.0 中創(chuàng)建臨時文件的整個過程都是全新開發(fā)的,從而確保了一個應用程序池中的惡意代碼無法從應用程序池中讀取敏感配置數據。
分享文章:應用程序池配置隔離
路徑分享:http://chinadenli.net/article20/gshsco.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站改版、品牌網站建設、小程序開發(fā)、電子商務、響應式網站、云服務器
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)