Iis

如何設置 ASP.NET 應用程序的權限以在具有 Windows 身份驗證的 IIS6 下執行但不具有“世界可讀性”

  • June 3, 2011

我們有一個執行 Server 2003、IIS 6 和 SQL Server Express 的部門 Web 伺服器。IIS 配置為僅用於 Windows 身份驗證,並且所有應用程序池都配置為使用網路服務帳戶。我們執行多個 ASP.NET 應用程序,其中大部分訪問 SQL Server DB。在這些應用程序的 web.config(或其他地方)中,我們擁有訪問數據庫所需的連接字元串。

我最近意識到任何人都可以瀏覽保存 Web 伺服器文件的共享(“Authenticated Users”具有讀取權限),因為它位於伺服器上出於各種原因共享的另一個目錄下。

我試圖刪除“世界讀取”訪問權限,但隨後使用者無法再執行應用程序(他們無法讀取文件共享,這是預期的行為,但這也阻止了他們執行應用程序)。我仍然可以執行這些應用程序,因為我是仍然可以完全控制應用程序文件夾的管理員組的一員。

我的問題(最後)是:我可以使用什麼 Windows 權限和 IIS 設置組合來滿足這些需求:

  1. 我們需要知道哪些使用者正在使用該應用程序,並確定目前使用者在每個應用程序中具有哪些角色/權限。
  2. 我們需要/希望將數據庫連接字元串保留在 web.config 或其他應用程序文件中(工作量太大,無法將它們全部移動到其他地方)。
  3. 我們需要防止使用者瀏覽文件共享和讀取應用程序內的連接字元串等內容。(我們不希望將應用程序移動到新共享!)

我已經為此苦苦掙扎了一段時間,如果有任何建議,我將不勝感激!

您需要將這些文件從共享中移出。這是唯一的方法。其他任何事情都會破壞 Windows 身份驗證或允許在共享上讀取這些文件。IIS 和 SMB 都評估相同的 NTFS 權限,因此無法將它們應用於其中一個而不將它們應用於另一個。

引用自:https://serverfault.com/questions/276806