【问题标题】:Encrypt Connection String in Web.Config - Why?在 Web.Config 中加密连接字符串 - 为什么?
【发布时间】:2011-09-07 09:18:35
【问题描述】:

我知道可以加密存储在 web.config 中的连接字符串,
而且我知道您永远不会太安全,但是由于无法查看或下载 web.config,为什么需要它?哪种方式更安全?

[编辑:]我没有使用共享托管服务器。

【问题讨论】:

  • 更正:web.config 应该不可见。存在许多暴露此文件内容的安全漏洞(并且在野外可见)。它是关于采取“分层”的安全方法。
  • 能否提供此类漏洞的链接\KB?
  • 虽然有很多,但您不只是想考虑可能已修补的 IIS/windows 中的问题;安全问题可能会以多种方式无意中引入。您的 ftp 服务器可能存在允许任意代码执行的缓冲区溢出,您可能不小心将本地文件包含漏洞写入您的 webapp,您的图像上传代码可能无法验证文件是否具有嵌入脚本并允许执行,您您的 svn 存储库的密码可能很弱,或者您甚至可以在编辑 web.config 时使用保存 .bak 文件的编辑器。

标签: security web-config


【解决方案1】:

如果您将网站部署到客户的网络服务器并希望对凭据保密。

【讨论】:

  • 但是考虑到我使用的是自己的专用服务器?
  • 再一次,如果通过某种形式的泄漏(无论是在您的软件中、在 IIS 中、在 Windows 中还是在其他应用程序中),任何人都获得了 web.config,他们仍然一无所获。跨度>
  • 我不能说我皈依了,但至少我明白其中的道理,谢谢!
【解决方案2】:

如果有人闯入您的服务器,他无法在没有任何进一步工作的情况下查看所有敏感信息。而且,如果您将应用程序部署到某个“云”服务,您的凭据将不会暴露给维护该服务的每个人。

编辑:还有一些管理员或有权访问服务器的用户将无法读取明文凭据。

【讨论】:

    【解决方案3】:

    我想你已经回答了自己的问题,说“你永远不会太安全”

    无法查看或下载 web.config 的事实并不能保证不会发生来自组织内部的攻击。具有正确访问权限的人可能会破坏安全性并获取数据,如果它是显而易见的。虽然如您所说,通过 Http 进行的攻击不太可能获取此文件,但其他有权访问的人仍然可以通过其他方式进行访问,例如远程文件访问、远程桌面等。加密+分配适当的访问/授权变得更加困难攻击者试图破坏您的系统。

    在安全方面,您只需保持偏执并采取您认为可能的一切措施,以使数据尽可能安全,您的工作就是让攻击者难以检索任何信息。我认为没有 100% 安全的东西。从某种意义上说,您总是容易受到安全威胁的影响,我们所能做的就是尽可能地减少它。

    【讨论】:

      猜你喜欢
      • 2010-12-14
      • 2012-06-18
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      • 2011-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多