加密 Windows 身份验证连接字符串

3

我正在使用Windows身份验证访问SQL Server数据库

  1. 我需要在web.config中加密连接字符串吗?
  2. 连接字符串(或数据库)的名称是否对安全性有影响?例如:ApplicationServices
2个回答

3
  1. 不可以。使用Windows身份验证时,您的应用程序连接的是从代码打开DBConnection的用户,通常是网络服务(如果是Web应用程序)。

  2. 不行,除非该名称也是您的域管理员密码。

编辑:在一个疯狂的世界里,如果您的数据库服务器名称是保密的,那么加密连接字符串可能是有意义的。


3

我不同意klausbyskov的观点。我建议你无论如何都要加密连接字符串。确实,只有服务器名称被暴露了出来。但是这至少会成为一个攻击目标。加密连接字符串可以消除这个目标。

知道就是一半胜利。

至于连接字符串的名称,我建议保持模糊,不要使用生产数据库服务器的名称或类似的名称。


我同意。加密web.config部分是廉价的,并受到各种管理工具的支持(不像加密app.config部分...)。除了隐藏服务器/数据库名称之外,还有其他好处:1)连接字符串无法在web.config中更改以劫持应用程序,2)使用SSPI的事实也被隐藏。 - Remus Rusanu
1
它是加密还是混淆?如果有人能读取web.config,那么你已经输了,因为你的代码可以被反向工程化吗? - gbn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接