web.config带有asp.net mvc网站的数据库连接字符串。数据库和站点在同一服务器上。需要安全性吗?

时间:2019-04-06 04:40:46

标签: c# asp.net asp.net-mvc database web-config

我已经阅读了很多有关加密web.config文件,仅加密数据库字符串或具有完全独立的数据库连接字符串文件的信息。

我也知道网上有足够的资料,但是我找不到确切的答案。

当数据库和站点托管在同一服务器上时,是否需要以某种方式保护asp.net mvc应用程序的web.config?

如果是这样,什么是最佳做法? 由于这是关于安全性的,因此我确实会担心。

1 个答案:

答案 0 :(得分:1)

我将根据组织的情况进行回答。不建议再将db连接字符串存储在appsettings.json文件的config中。我们的审核员会不断浏览回购协议,以检查是否有人这样做。

作为最佳实践,我们将连接字符串放入azure密钥库中。它负责在存储时进行加密和在获取时进行解密。如果您不想使用第三方解决方案,那么只要注意以下几点,就可以了-

  • 加密密码或整个连接字符串,仅在代码中保留密钥(而不在配置中保留密钥)
  • 如果数据库位于同一服务器上,则可以完全禁用sql server身份验证,而仅使用Windows身份验证。这将使外界很难有人破解。
  • 从步骤2开始,要进一步尝试从SSCM禁用TCP / IP并仅使用named pipes。这样一来,任何人都不可能从计算机外部连接到您的数据库。

如果没有在应用程序中正确配置安全性,还有很多其他事情可能会出错。如果您的服务帐户被盗用,即使第三点也无法保存您的数据库。我建议继续阅读,并将其视为永无止境的清单。