实体数据模型向导说:
此连接字符串似乎包含连接到数据库所需的敏感数据(例如密码)。在连接字符串中存储敏感数据可能存在安全风险。您想在连接字符串中包含这些敏感数据吗?
我在很多现场项目中都包含了 db 密码,它有多大风险?
这一切都是为了最大限度地降低您的风险。假设攻击者找到了一种从服务器获取代码副本的方法,但没有找到在服务器上执行代码的方法:
风险是只有你可以评估的东西。它是您卧室中未连接到互联网的测试服务器吗?风险不大。它是没有任何真正敏感信息的小公司的内部公司服务器吗?可能风险不大。
它连接到互联网吗?这是有风险的。如果您连接到互联网,这总是有风险的。为什么?因为互联网不是一个安全的地方。不管你有多大或多小,你都是一个目标。有自动漫游器在网络上漫游,寻找易受攻击的系统并自动接管它们。然后,他们用恶意软件感染系统以传播给您的用户。或者他们将您的凭据出售给其他黑客,以便他们可以将您的服务器用作垃圾邮件网络的指挥和控制中心。或任何数量的其他情况。
如果您在互联网上,您将处于危险之中。时期。因此,请始终认真对待安全。
您应该使用aspnet_regiis加密连接字符串也请查看此链接(如何加密 web.config),以获取一些有用的信息。
关于 Web 应用程序的其他方面,您需要确保设置尽可能低的权限,确保研究所有 Web 应用程序漏洞以及如何防范这些漏洞。
归结为您的网络服务器上的域和 IIS 的安全性如何?IIS 和 web.config 位于 Web 应用程序的根目录。如果您在域安全方面遇到问题,并且人们能够访问您的 inetpub 或 wwwroot 目录及其子目录,那么您的网站总是处于危险之中。如果您使用第三方提供商,例如 go daddy 或 1 and 1,它们相对安全。
如果您自己托管它,您希望限制访问,尤其是目录列表权限。您希望尽可能地减轻权限。此外,您还可以使用用于 Web 应用程序的 SQL 帐户,限制数据库权限并尽可能减少访问权限。也不要使用通用帐户进行访问,并让每个 Web 应用程序都有自己的帐户。在域中,您要确保在 DMZ 中采取必要的预防措施,以帮助保护位于网络边缘的 Web 服务器。
内部威胁比外部威胁更普遍。那些已经在您的域中具有提升权限的人可能已经可以在您不知道的情况下访问您的 Web 应用程序的根目录!密切关注您的委托帐户,以及 IIS 用于 Web 应用程序和 Web 服务的帐户。
将连接字符串中的用户名和密码替换为集成安全性。确保使用连接的进程与已在 SQL 服务器上注册的用户一起执行,该用户具有(刚好足够)执行其任务的权限。这应该可以最大限度地降低系统受到威胁的风险。