ASP.NET集成身份验证的安全问题
我们目前使用连接字符串来验证数据库凭据。由于增长和法规遵从性,开发人员不再被允许“查看”我们网站使用的数据库凭据。解决这个问题的方法是使用集成身份验证。我们计划为每个应用程序池设置一个用户,然后允许该用户访问数据库ASP.NET集成身份验证的安全问题,asp.net,sql-server,security,iis-7,Asp.net,Sql Server,Security,Iis 7,我们目前使用连接字符串来验证数据库凭据。由于增长和法规遵从性,开发人员不再被允许“查看”我们网站使用的数据库凭据。解决这个问题的方法是使用集成身份验证。我们计划为每个应用程序池设置一个用户,然后允许该用户访问数据库 我的问题是:这种方法是否存在安全问题?就从连接字符串中删除DB凭据而言,有没有更好(更简单或更容易)的方法可以/应该采取?如果您的连接字符串存储在web.config文件中,您可以创建一个开发人员看不到的该文件的单独生产版本。这比使用应用程序池的集成身份验证更容易测试和设置 不过有一
我的问题是:这种方法是否存在安全问题?就从连接字符串中删除DB凭据而言,有没有更好(更简单或更容易)的方法可以/应该采取?如果您的连接字符串存储在
web.config
文件中,您可以创建一个开发人员看不到的该文件的单独生产版本。这比使用应用程序池的集成身份验证更容易测试和设置
不过有一点要警告:如果你对开发人员的限制太多,就会减慢他们的变更速度。由于世界其他地方确实在不断移动,这通常会导致应用程序成为一个死气沉沉的遗留包。如果您计划增长、改进或扩展,这是很危险的。如果您的连接字符串存储在
web.config
文件中,您可以创建一个开发人员看不到的该文件的单独生产版本。这比使用应用程序池的集成身份验证更容易测试和设置
不过有一点要警告:如果你对开发人员的限制太多,就会减慢他们的变更速度。由于世界其他地方确实在不断移动,这通常会导致应用程序成为一个死气沉沉的遗留包。这是危险的,如果你打算成长,提高或扩展。 < p>使用池的身份可以很复杂的设置,考虑问题。
一个更好的选择是使用加密。 应用程序池的身份设置可能相当复杂,考虑问题。
更好的选择是使用加密。如果您需要保护和审核对生产数据库的访问,则Windows身份验证比Sql身份验证更好,原因有很多:
您使用的IIS版本使这一点更加复杂。如果您需要保护和审核对生产数据库的访问,则Windows身份验证比Sql身份验证更好,原因如下:
您正在使用的IIS版本使这一点更加复杂。在word Sarbox中,我们别无选择,只能限制开发人员的访问?这将如何迫使您限制开发人员而不是系统管理员访问?它强制分离关注点,开发人员不能对数据库进行管理访问,也不能部署自己的代码。至少根据安永会计师事务所的说法,这是一件好事,也是一件坏事——正如安多玛指出的,它会使发布周期变慢,阻碍开发人员访问生产系统会使解决问题和部署变得更加困难。另一方面,健壮的部署实践和更好的诊断也是一件好事。这要视情况而定,但如果你想要SOX,那么这种职责分离是很常见的