【问题标题】:Setting validationKey at server vs. site vs. app level在服务器、站点和应用级别设置validationKey
【发布时间】:2011-09-14 18:53:28
【问题描述】:

我们的生产环境有三台负载平衡的服务器。在每台服务器上,IIS 中有九个站点。在每个站点中,有 1 到 15 个不同的应用程序。

为了在所有三个服务器之间保持正确的加密/解密,应为相应的应用使用相同的验证密钥和解密密钥。这可以设置在三个级别: - machine.config 中的服务器级别 - web.config 中的站点级别 - web.config 中的应用级别

在每个级别设置它显然有利有弊,但我想知道是否有人可以给出一些具体的理由来在服务器、站点和应用程序中这样做。

在 machineKey Web Farm Deployment Considerations 部分,有一个简介

如果您想将您的应用程序与其他应用程序隔离开 同一台服务器,将其放在 Web.config 文件中 场中每台服务器上的每个应用程序。

validationKey 是否是一个足够大的威胁向量,足以证明在三台服务器上的约 100 个不同应用程序上使用不同的密钥是合理的?我知道我知道。我愿意承担多大的风险?我在哪个行业?我希望别人用我的数据做什么?等等。

当然,我怀疑最终我们会将其放在所有三个级别上,以确保在添加新网站或应用程序时全面覆盖我们的基础。但我并不真正期待回归测试工作。

谢谢, 马特

【问题讨论】:

    标签: asp.net web-config machinekey machine.config


    【解决方案1】:

    部分归结为偏好,主要与个人认为配置文件中的“噪音”有关,但在任一级别(当然,适当地)存储配置在功能上是相同的。

    例如,如果您有一些设置在同一服务器上的所有应用程序之间共享,那么它可能是 machine.config 的一个很好的候选者,而不是在您可能拥有的每个 web.config 中重复它。

    在我看来,验证/加密密钥的位置在 web.config 文件中 - 您不想在同一台服务器上的多个(尤其是不相关的,与身份验证级别)网络应用程序之间共享这些(明显的安全问题)。

    在所有可用级别放置相同的设置,“只是为了确保”,是愚蠢的(因为缺乏更好的词)。不。将来(当您离开时)您会迷惑一些维护人员,而额外的和“不必要的”通常是滥用的邀请。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多