2

我们有一个 Web 应用程序,它由 Internet 上的 IIS Web 服务器和 IIS 通过 VPN 链接访问的数据库服务器组成。

我们遇到的问题是我们需要将连接字符串存储在某个地方(显然不能在数据库中)。

我注意到可以使用 aspnet_regiis 加密 web.config 连接字符串:

https://msdn.microsoft.com/en-us/library/dx0f3cf2%28v=vs.85%29.aspx

任何人都可以评论这是多么强大。我们不希望数据库被互联网入侵。

我关心的一件事是 aspnet_regiis 用于解密和加密并安装在机器本身上。因此,如果机器被入侵并且这个 exe 文件在那里,那么发现密码就不会那么难了。

因此,假设不推荐这种保护密码的方法,我还有什么其他选择。

请注意,如果相关,IIS 将在 IIS APPPOOL\DefaultAppPool 帐户的上下文中运行。

谢谢。

4

2 回答 2

0

您不会加密您的配置文件以防止被互联网黑客入侵。IIS 永远不会提供 *.config 文件。您加密配置文件以向服务器管理员隐藏其中的信息。

如果远程攻击者可以访问服务器并且可以运行任意可执行文件,那么所有的赌注都没有了。在那之后,您无法保护服务器。

如何防止服务器被远程访问过于笼统,无法回答,请查看OWASP以获得一般提示。

于 2015-08-04T13:31:05.503 回答
0

如果可能,请授予您的应用程序池标识(在您的情况下为 IIS APPPOOL\DefaultAppPool)访问 SQL Server。

然后在连接字符串中使用集成身份验证而不是密码和用户名:

Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
于 2015-08-04T13:38:42.887 回答