【问题标题】:Client Certs on IIS - not sure I get it - experiences please?IIS 上的客户端证书 - 不确定我是否明白 - 请体验一下?
【发布时间】:2010-10-10 05:22:27
【问题描述】:

寻求一些关于使用客户端证书来改进现有应用的访问控制的建议。

我们公司有一个现有的 Intranet 应用程序(经典 ASP/IIS),我们将其许可给其他人。到目前为止,它已托管在每个使用它的组织内,安全性包括“如果您能够访问 Intranet,您就能够访问该应用程序”。

我现在正在寻找一种在外部托管此应用程序的方法,以便其他不希望自己托管它的组织可以使用它(每个新客户都有自己的安装)。

新组织中的所有用户都将拥有一个客户端证书,所以我想做的是在 IIS 中使用“需要客户端证书”的东西。它允许您说“如果 Organisation=BigClientX 则假装他们是本地用户”。

我更喜欢的是“如果 Organisation=BigClientX 则让他们访问 virtualdirectoryZ 中的资源,否则忽略它们”。

如果这是最好的方法,我会很乐意购买一个插件(也许是一个 ISAPI 过滤器?)它会为我做这件事。 欢迎任何建议/战争故事

【问题讨论】:

    标签: iis asp-classic certificate digital-certificate


    【解决方案1】:

    您可能想要这样做。客户端证书实际上是用于第二个身份验证因素,但不是主要来源。换一种说法,您仍然需要为您的应用程序配置基本或表单身份验证。

    公钥/私钥背后的技术坚如磐石。但是,您需要一个非常成熟的 IT 组织来处理证书生命周期管理。如果你没有这个,你会遇到无数的失败场景,因为证书已经过期,没有复制到新的计算机等等。

    在您的应用程序面向 Internet 的场景中尤其如此(在您的“托管”场景中)——您几乎无法控制向用户颁发证书。

    【讨论】:

      【解决方案2】:

      我做过类似的事情......

      从贵组织的域控制器内部生成证书。将它们导出为 PFX 格式以供分发,并以 CER 格式导出以供您在 IIS 中导入。

      为您的 DC 分发 PFX 格式导出以及 CA 证书,以便您的客户机器将“信任”您的 CA。

      现在在应用程序属性 IIS 中,转到目录安全选项卡,然后在“安全通信”下单击“编辑”。在那里,单击“接受客户端证书”、“启用客户端证书映射”,然后单击“编辑”。

      在一对一选项卡下,单击“添加”并导入 CER 文件。输入您要将此证书映射到的帐户。

      至于“让他们访问资源”,我建议通过他们映射的用户帐户来执行此操作 - 也就是说,您可以通过 NTFS 权限或通过代码提供对基于该帐户的资源的访问权限识别登录用户的安全上下文。

      【讨论】:

      • 感谢您的回复,我很感激......并为缓慢的确认道歉。
      猜你喜欢
      • 1970-01-01
      • 2012-09-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-20
      • 1970-01-01
      • 1970-01-01
      • 2017-05-18
      • 2013-04-05
      相关资源
      最近更新 更多