我正在pipe理Windows 2008 ADCS CA,并意识到使用SAN颁发证书时存在安全风险。 所以我testing了在请求中发布一个带有SAN的PKCS10文件,并且在它应该被阻塞的时候它与SAN一起发布了证书。
可以肯定的是,我使用命令certutil -setreg policy \ EditFlags -EDITF_ATTRIBUTESUBJECTALTNAME2(注意减号)删除SAN标志,如果它存在,而不是。 图片
然而,这样做,阻止添加额外的请求属性使用类似这样的SAN: san:dns=webmail.domainc.com&dns=mail.domainc.com&dns=autodiscover.domainc.com
那么是否有办法完全阻止已颁发证书的SAN,而不pipe它们在哪里指定?
那么,其实你已经做了你应该做的事情,以防止通过自动请求批准在证书中注册不起来的主题名称。 只要SAN扩展通过身份validation(embedded在CSR中),就可以拥有SAN扩展。 马克·亨德森在他的评论中是正确的,你错误地理解了这个问题。 真正的问题不在于SAN,而在于如何增加CSR。 从未经validation的属性允许SAN是不好的,因为它们被处理并包含在没有validation的证书中。
您还可以做什么:要求CApipe理员批准所有使用来自传入请求(不是来自Active Directory)的请求值的证书模板。 不可信来源的SAN值检查仍然是必要的。 对于从AD自动构build主题的模板,不需要这样做,因为这些模板将完全忽略请求中包含的主题信息,因此它们不受影响。