我应该在生产环境中使用“Integrated Security = True”吗?

问题描述:

在ASP.NET的生产服务器上使用Integrated Security=True是不好的做法吗?我应该在生产环境中使用“Integrated Security = True”吗?

+0

这是用于配置文件中的连接字符串吗? – slugster 2010-10-18 11:19:52

+0

是的配置文件 – user441365 2010-10-18 11:27:30

都能跟得上 - 万无一失*

所有你做的是说,你要使用的进程正在为了与SQL Server进行验证运行(通常情况下)Windows用户的凭据(而不是提供用户名和密码)。

其实一般使用集成的安全性被认为是更安全的。

(*),当然,这总是取决于你的具体情况,但在一般情况下是它的罚款。

+1

嗯,你认为这可能不一定适用于Web服务器?如果它受到损害,dbase商店也是开放的。在服务器上保持密码安全并不困难,服务器机房门上有锁。 – 2010-10-18 11:55:27

+2

@Hans除非你在开玩笑,这是一个可怜的理由。如果服务器受到攻击,攻击者也可以访问基于SQL的连接u/p,所以它不会比集成的更好。在这两种情况下,攻击者可以轻松地从该位置获取数据库以及他们可以执行多少操作都会因具体配置而异。如果你真的想要防范这种情况,你就不会让Web服务器直接击中数据库。 – eglasius 2010-10-18 12:31:44

+0

@eglasius - nope,没有使用笑脸。您从假设攻击者会使用现有连接开始工作。如果集成安全性打开,这就是* hard *的方式。他可以创建自己的连接,不需要提供难以猜测的用户名和密码。 – 2010-10-18 13:03:39

这可能是好事还是取决于IIS使用运行Web应用程序的帐户是一件坏事。

在任何情况下,存在的SQL用户ID和口令不出现在连接字符串中具有明显的优势;总是一件好事。

然而,你需要仔细设置您的生产环境。我建议您为IIS创建一个独特的用户帐户以用于运行该Web应用程序。该用户帐户可以配置为只能访问您的应用程序所需的SQL资源。这样可以保护您免受其他应用程序在您的Web应用程序的安全性受到影响时轻松受到危害。

我听说那里与用户ID和口令SQL连接字符串被加载在运行时从加密资源:-)

+1

杂技?内置支持加密的SQL连接字符串。这并不是特别困难。 – Brian 2010-10-18 17:29:09

+1

@Brian - 锁定SQL帐户的权限比单独加密连接字符串要好得多。我更喜欢使用100%的SQL访问存储过程,并且只允许用户执行权限。这种方式即使攻击者拥有密码,他所能做的也不过是应用程序本身所能做的。但是,同时使用SQL权限和加密的连接字符串将是最佳选择。 – NightOwl888 2010-10-19 05:24:03

+0

@ NightOwl888 - 我同意采取多种预防措施是很好的做法。 [如何在使用数据源控件时保护连接字符串](https://msdn.microsoft.com/zh-cn/library/ms178372.aspx) – myidealab 2017-05-17 21:15:34

答案的标题问题的程序员做杂技:
你应该在您遇到此类问题或怀疑时,不要触摸(少用)任何生产环境!

答身体问题:在生产
SQL服务器不应该为SQL Server身份验证在所有

更新启用:
我很惊讶地看到,所有的答案使用概率“这个要看”,“中一些情况“,”更多“的可能性。