我刚刚在雷德蒙德接受采访,他们向我询问了围绕asp.net的大量安全性问题.他们提出的一个问题是如何配置安全的Intranet应用程序以使用约束委派来访问SQL Server.在此方案中,AD用户帐户被委派访问SQL Server.当然,完整的目的是:a)不在Web服务器(web.config)的任何地方存储任何用户名/密码,b)提供可在Active Directory中管理的抽象安全模型.
这让我想到这些年来我一直在为匿名访问配置我的网站.通常,我将使用默认的匿名帐户运行我的IIS网站,并将连接字符串存储在web.config中(加密,有时以明文形式).当然,这需要您的SQL Server以混合模式运行.所以我的问题是,如果我们根本没有将连接字符串存储在web.config中,并且只为特定网站创建了一个唯一的匿名域帐户,该帐户将在SQL Server中具有db_datareader访问权限?有什么理由为什么这样做是个坏主意?
我试图想到所有这些都是个坏主意的场景,我唯一能想到的是"黑客"破坏了Web服务器上的代码,然后以某种方式访问了你的SQL Server.但是这可能发生在任何一种情况下.
有谁知道这里的最佳做法?