c# - 将 ASP.NET 连接到 SQL Server 的最佳实践

标签 c# asp.net .net sql-server security

我们有一个 ASP.NET 4.0 Web 应用程序,它通过 LAN 连接到单独机器上的 SQL Server。我使用存储在我的 Web.config 中的 ConnectionString(带有 SQL Server 身份验证)来执行此操作。基本上,这是一种相当传统的 Web-Server-to-SQL 策略。

但是,我们的一位客户认为这种策略并不安全。这个客户说我们应该只通过一个单独的 Web 服务层连接到 SQL Server。

我真的不想为了满足这个客户而重写这个应用程序。我应该告诉他什么?有谁知道我如何最好地反驳这一点?

提前致谢...

最佳答案

安全始终是一种权衡。客户真正害怕的是什么?

拥有“明文”的数据库凭证?我看到审计员指出这是一个潜在的漏洞,但实际上,如果有人破坏了您的 Web 服务器,他们可以对数据库运行任意代码,因此加密数据库凭据并不能给您带来多大好处。

您的网络应用程序应该使用最低权限的用户连接到数据库,因此破坏网络服务器应该只给您读取和更新数据的权限。如果一切都通过 Web 服务层,情况会发生怎样的变化?同样,转到 Web 服务层会产生非常实际的成本 - 在复杂性和性能方面。只有客户才能回答这笔费用是否值得。

关于c# - 将 ASP.NET 连接到 SQL Server 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10339266/

相关文章:

c# - 什么代表sql server中的double?

asp.net - 用户角色 - 为什么不在 session 中存储?

c# - 使用c#编写adobe插件

c# - 将 base 64 字符串插入 SQL Server 数据库

c# - 如何在NopCommerce中添加新表?

asp.net - Visual Studio 无法识别 css

.net - 无法从 OwinContext 访问某些服务器变量

.net - 输出使用 Entity Framework 4.1 Code-First 创建 SQL

c# - 将具有配置文件的网站转换为 Web 应用程序项目

c# - 将字节数组从服务器传输到浏览器