是单个子域名所需的通配符SSL吗?

一个典型的SSL证书有时也基于域(domain.com)的通用名称(www.domain.com)。

我知道什么是通配符证书(* .domain.com),它会/应该validation该域的所有子域

如果我想要一个覆盖有SSL证书(mail.domain.com)的单个子域,是唯一的select是通配符证书吗? 或者是否可以使用为该单个子域名颁发的标准SSL证书?

我不是要求最佳实践,也不是为什么一个'只应该使用通配符证书'的原因。 我从技术的angular度要求,可以使用不是通配符的SSL域validation证书来保护单个子域。

您可以使用只为mail.domain.com发行的SSL证书,没有任何问题。 通配符证书的最大优点是只有“一个证书来统治所有人” – 你不需要pipe理几十个证书。

如果您拥有“domain.com”,则还可以申请“mail.domain.com”的证书。 你只需要certificate你对根域的所有权。

是的,您可以拥有一个只覆盖特定子域的证书。 您也可以拥有一个涵盖多个子域而不是通配符的证书。

请注意,SSL / TLS传统上只允许每个IP /端口组合使用一个证书。 有一个名为SNI的扩展可以解决这个问题,但仍然有一些不支持它的老客户(Windows XP上的大多数Internet Explorer)。

起初我对这个问题有点困惑,因为一般认为证书在典型情况下只提供一个主题。 是不是保护一个单一的DNSlogging(/子域,见第3节)与一个SSL域validation证书是不是通配符的网站的标准情况?

简而言之,如果它是一个资源的连接string,您可以也应该使用单个非通配符证书来保护子域mail.domain.com,但是您不应该期望这个子域中的logging被覆盖同样的证书。

当前接受的答案对一般情况给出了一个很好和简洁的答案,但是在推荐通配符证书时可能会出现意想不到的警告。 所以,为了防止对各种types的最终实体证书可能和不能做的潜在的危险的误解,我想进一步深入一下,分为三个部分:

  1. 通配符/非通配符选项
  2. 证书上的名字如何与您所能提供的相关
  3. 在问题的背景下,子域是什么意思。

第1部分:通配符与非通配符

  • 定价:这是我想提到的第一个。 对于通用证书和标准证书,商业CA的费用约3-5倍。 例如,在撰写本文时, 赛门铁克为期一年的标准安全站点证书(VeriSign)的成本为399美元。 1年通配证书的成本是$ 1,999(〜x5标准)。 赛门铁克安全站点证书(更便宜的选项) 可以与主题替代名称 (SAN)一起使用,这意味着只要您知道您正在使用且将在下一年使用的面向公众的DNS名称,即使对于多个网站或安全连接点,也不需要通配符证书。
  • 潜在风险的范围:如上面的评论所述,如果私钥泄漏,则会有不同程度的风险暴露。 使用单个Web服务器的证书,攻击者只能模拟该服务器。 对于单个网站,只有网站名称的服务器才能parsing(请参阅第2节 – 主题名称匹配)。 在上面的一个SANauthentication思路上使用我公开的名字,他们可以模拟你所有面向公众的网站。 使用通配符证书,他们可以冒充任何东西,并声称它来自您的域。 RFC中提出了针对通配符证书的安全参数。

  • 名称匹配:非通配符证书仅匹配精确的主题名称(特别是大多数证书的主题名称的通用名称或CN组件)。 因此,与mail.domain.com绑定的任何证书parsing都可以工作,即使涉及到CNAMES或parsing到多个IP地址,但是例如。 smtp.mail.domain.com(或更典型的用法[email protected])将不会工作,除非它们被configuration为SAN。 在这种情况下,通配符证书* .mail.domain.com将适用于smtp.mail.domain.com(以及我们的安全邮件示例,假设id-pkix 3 4和您手动configuration通配符S / MIME )。

  • 未来打样:这是大多数build议去通配符只来自哪里。 对于主DNS域“domain.com”的通配证书,您可以在domain.com下托pipe任意数量的网站,即使是在请求证书时也不知道您需要的网站。 你永远不需要担心检查提交的证书是否与网站名称相匹配,因为它会一直匹配。

  • 规划:重新考虑未来打样的要点,请注意,使用多SAN证书,只要您包含当前和计划中的所有未来网站,便于pipe理就是一样的。 你有几十个名字可以使用,所以你甚至可以添加你不打算使用的DNS名字,但你认为组织可能会使用。 即使你需要一个你不打算在这一年的计划的名字,购买另一个多SAN证书仍然留给你,很可能不到一个通配证书费用的一半。

  • 通配符限制:鉴于价格差异的大小,我不确定用于非通配符的小pipe理开销是否值得通配符证书的成本,除非您是一个拥有数十到数百个面向公众的DNS名称的大型组织安全。 还要记住,通配符只匹配domain.com下的DNS heirarchy中的一个级别。 因此,如果您需要www。*。domain.com,则需要为www。[specificsubdomain] .domain.com或通配符证书上的*。*。domain.com或www。*指定一个新证书。 domain.com。 请注意,CA通常不愿意/将拒绝将SAN添加到通配符证书。


第2部分:主题名称匹配

有一点要记住,validation是基于客户端上的主题string匹配证书中声明的。 对于networking浏览器来说,这是input到地址栏中以访问该页面的数据。 对于电子邮件客户端, 代表的源电子邮件地址等等,用于各种客户端types和证书用途。

所以对于一个Web服务器证书,如果我在DNS中有这个:

http://www.otherdomain.org A 172.16.254.1

但是这在特定机器上的hosts文件中:

172.16.254.1 mail.domain.org

该特定机器的主题名称与在服务器172.16.254.1上提供mail.domain.org证书的服务器相匹配,但客户端通过到www.otherdomain.org的DNS查找达到172.16.254.1的主题名称不匹配相同的证书。 如果我然后在DNS中添加这个CNAME:

mail.domain.org CNAME http://www.otherdomain.org

并要求我所有的客户在他们的浏览器,而不是www.otherdomain.org去mail.domain.org,证书现在将停止提供证书名称与这些客户端不匹配。 这是因为DNSparsing对于浏览器是不透明的。


第3节:DNS术语

我也想指出,这个术语可能有点混乱,当你提到“子域名”时,我的结论是一个完整的区域,在你的主域名服务器所在的父域/域名下面,这个子域名可能有自己的名称服务器和下面的从属logging。

(尽pipe当然在DNS层次结构中,除了根目录以外的所有东西都是一个子域名,但是在层次结构中没有下属的logging有一种软的倾向,就是“不属于子域名”,因为从概念上来说它们满足“子”例如,你通常不会将Alogging视为具有pipe理自治权,即使稍后可以添加名称服务器logging并在其下面填充查找,我也知道这种趋势不一定匹配技术的现实。)

对于解决单个“资源”(网站,服务器,工作站)的logging,我通常只使用“网站/服务器/工作站”,通用的“DNSlogging”,“主机(A)logging” CNAME,F5巫术等的可能性,至less一个'[网站/服务器/非子域资源types] 完全合格的域名 (FQDN)