【问题标题】:How to prevent other admin user to decrypt web config如何防止其他管理员用户解密 Web 配置
【发布时间】:2020-09-02 00:39:45
【问题描述】:

我想使用我的 windows 10 pro 桌面作为 LAN 中的 Web 服务器。我使用 IIS,并且已经成功部署了 Web 应用程序。现在,我想保护网络配置。所以我在谷歌搜索,发现我可以用 aspnet_regiis 加密它。我已经成功使用aspnet_regiis -pef "connectionStrings" "D:\TEST" 加密并使用aspnet_regiis -pdf "connectionStrings" "D:\TEST" 解密

现在,我的问题是如果我的电脑有其他管理员级别的 Windows 用户,他/她也可以使用aspnet_regiis -pdf "connectionStrings" "D:\TEST" 命令解密我的网络配置。如何防止他/她解密我的网络配置?

【问题讨论】:

  • 我认为如果您的威胁级别具有管理权限,那么游戏就结束了。 regiis 依赖于机器密钥,虽然您可以告诉它使用特定的密钥容器stackoverflow.com/questions/7998666/…,但任何管理员都可以重置对该容器的访问权限并自己获取它。..
  • 在某些场景下,我们需要使用特定的密码学方法进行加解密。为了实现这一点,我们可以将自定义 web.config 加密与“受保护的配置提供程序”一起使用。但是正如您所说,如果您需要在用户级别实现安全性,我认为您可能需要阅读此 [Microsoft('docs.microsoft.com/en-us/previous-versions/aspnet/…

标签: asp.net iis encryption web-config


【解决方案1】:

默认情况下,机器上的解密使用 DPAPI 完成,这意味着任何有权访问机器的人都可以加密/解密。如果您只想允许管理员和 Web 应用程序可以执行解密,那么您需要使用 RSA 提供程序(而不是 DPAPI)。这将允许您在密钥容器中创建密钥,然后您可以将 DACL 分配给要访问密钥的帐户的密钥容器。

ASP.NET web.config encryption security

https://inthetechpit.com/2019/05/21/encrypt-web-config-with-rsa-encryption/

【讨论】:

    猜你喜欢
    • 2011-01-17
    • 2013-01-11
    • 2010-11-12
    • 1970-01-01
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    相关资源
    最近更新 更多