【问题标题】:SelfSSL issue - 2 secure sites running on same box with selfssl certificatesSelfSSL 问题 - 2 个使用 selfssl 证书在同一个盒子上运行的安全站点
【发布时间】:2010-07-13 14:50:37
【问题描述】:

对于我们的一个项目环境服务器上遇到的问题,我有点担心。我正在尝试从 2 个不同的代码库运行我们网站的 2 个不同版本。该站点具有安全和非安全区域。

正如预期的那样,我可以创建任意数量的非安全站点。

我遇到的问题是,我似乎无法让两个安全站点在同一个盒子上共存。

我已经为每个站点使用 SelfSSL 创建了证书。正如您所期望的,每个站点都在其自己的端口上,分别为 443 和 444。

我发现,一旦我让安全站点 A 运行,那么安全站点 B 就会停止工作,尽管它有自己的证书。然后当我修复站点 B 时,站点 A 停止工作。

有什么建议吗?

我使用的 SelfSSL 命令示例如下:

C:\Program Files\IIS Resources\SelfSSL>selfssl /T /V:600 /S:162950877 /P:444 /N:
CN=SITEREFRESH

服务器运行的是 Windows Server 2003,所以我认为是 IIS5

【问题讨论】:

    标签: iis ssl webserver security iis-5


    【解决方案1】:

    我知道这是一个老问题,但不久前我发现自己遇到了同样的麻烦,我想我会发布我是如何解决这个问题的。首先,这是一个非常古老的问题: https://blogs.msdn.microsoft.com/david.wang/2005/04/20/bug-selfssl-allows-only-one-website-to-have-ssl-at-a-time/

    经过大量试验和错误后,如果绑定在您运行 selfssl 之前已经存在,那么证书将适用于这些绑定。例如:

    appcmd set site "[site-name]" /+bindings.[protocol='https',bindingInformation='*:44302:']
    selfssl /N:CN="[cert name]" /S:[site_id] /P:44302 /Q /T
    
    appcmd set site "[other-site-name]" /+bindings.[protocol='https',bindingInformation='*:44301:']
    selfssl /N:CN="[other cert name]" /S:[site_id] /P:44301 /Q /T
    

    这将在两个都有效的不同站点上创建两个绑定(https://[site-name]:44301https://[other-site-name]:44302)。看起来 selfssl 不会创建和签署多个绑定,它只会签署多个绑定。

    PS。如果您想了解有关该工具的更多信息,请参阅appcmd docs 了解更多信息。

    【讨论】:

      【解决方案2】:

      为什么不在两个站点上重复使用相同的证书?任何 SSL 证书都旨在识别主机(服务器),而不是在不同端口(但主机名/FQDN 相同)上运行的服务器的子实例。

      很可能 IIS 看到在两个不同证书中使用的相同身份之间存在冲突,并且拒绝让两个站点运行以证明具有不同证书的相同身份。在生产环境下,这可以被认为是试图用另一个证书来欺骗服务器的身份,这会导致安全极客不寒而栗并尖叫着从房间里跑出来。

      【讨论】:

        【解决方案3】:
        猜你喜欢
        • 2023-03-24
        • 1970-01-01
        • 2015-06-10
        • 2015-01-18
        • 2015-10-10
        • 2011-03-10
        • 1970-01-01
        • 1970-01-01
        • 2020-09-07
        相关资源
        最近更新 更多