Asp.net web配置安全性



我正在考虑asp.net应用程序中web配置文件的安全性,从web配置文件通常包含到应用程序数据库的连接字符串的角度来看,因此安全性很重要。

在asp.net应用程序中,可以使用以下命令从web配置文件中检索连接字符串:

ConfigurationManager.ConnectionStrings["connectionstring"]

假设有人获得了连接字符串的密钥,他们是否能够以某种方式将该请求发送到服务器并获得响应,或者是否存在某种安全措施来防止这种情况发生。

如果他们能够这样做,他们怎么能做到这一点,可以做些什么来防止这种情况,例如加密连接字符串?

编辑:这不是一个重复的问题加密连接字符串在web。配置我的问题是问是否有可能欺骗服务器提供这些信息,如果是这样,我们如何防止它。命名的问题是询问如何加密数据,这是相关的,但不是相同的

. NET永远不会服务于整个web。所以答案是否定的,你不应该担心这个。

如果你仍然担心网络的内容。配置文件以某种方式暴露,请查看加密文件。

特别是对于连接字符串,您还可以使用集成安全性,这样,您甚至不必在连接字符串中公开DB用户/通道。

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

IIS默认配置为不提供某些类型的文件,此列表中包含的一个默认类型是任何扩展名为.config的文件。然而,管理员可能会犯重命名web的错误。配置为服务的类型,例如,web。旧的,而他们测试不同的配置设置,这将意味着它实际上可以服务。类似地,很可能有人错误地从未提供服务的IIS类型过滤器中删除.config类型。

因此,推荐的做法是加密配置文件或节。Microsoft提供了一种这样的方法作为标准,它在您链接到的另一个问题中有完整的描述和解释: https://msdn.microsoft.com/en-us/library/zhhddkxy%28v=vs.140%29.aspx

特定IIS实例的服务类型列表可以在IIS7+的IIS管理器的"请求过滤"的"文件名扩展名"选项卡中找到。

考虑到你使用的是asp.net应用程序,用户不应该有访问web.config.

只要你不让"connectionstring"可替换或配置管理器。ConnectionStrings["connectionstring"]数据暴露,应该没问题

最新更新