本文详细阐述了CAA的概念、CAA检测的作用、CAA记录的添加、以及CAA检测工具。

什么是CAA

CAA,全称Certificate Authority Authorization,即证书颁发机构授权。它是一种通过DNS记录类型,用来保护域名免受钓鱼的安全措施,网站管理员可以通过该措施来保护域名免于错误发布。

产生背景

2017年3月7日,[CA/Browser Forum](CA/Browser Forum)(全球证书颁发机构与浏览器的技术论坛),一个监管SSL证书颁发操作的组织机构,也是一个制定证书颁发机构 (Certificate Authority, 简称CA)国际标准的技术联盟,发起了关于对域名强制检测Certificate Authority Authorization (CAA)提议的投票。

自该提议(CA/Browser Forum 187号提案)通过后,从2017年9月8日起,强制CA机构在颁发新的SSL证书之前,必须验证并检测申请证书域名的DNS记录中的CAA字段,以此防止SSL证书错误的措施。

如果网站所有者没有将CAA字段添加到其网站DNS记录中,则任何CA机构都可以为你网站的域名颁发证书。这样钓鱼攻击者可以通过申请你的网站SSL证书,用来仿冒你的网站。

为什么要强制CAA检测

任何一家CA机构对于整个互联网的安全都有极大的影响。这是因为任何一家CA都可以给每一位申请者的域名颁发证书,一些小而不知名的的CA机构常常成为黑客利用的对象。另一方面,一些小型CA机构为了提升业绩,也许在没有正确验证申请者身份的情况下颁发证书。虽然目前有不少规章制度以及措施限制CA机构颁发证书,但仍就存在不少的漏洞。而CAA检测为域名所有者提供了另一个网络安全防线。

如何添加CAA字段

当域名所有者可以指定某一CA机构为其网站颁发证书时,域名所有者在DNS记录中创建一条CAA字段,该记录包含域名指定的证书机构的CA列表,以防止钓鱼攻击者使用其域名申请SSL/TLS证书。

常见的CAA字段有以下几种示例 :

  • 只有Digicert这一CA机构可以向gworg.com指定域名颁发证书。未经授权的第三方通过其他CA机构申请用于该域名的SSL证书都将会被拒。

    www.gworg.com. CAA 0 issue "digicert.com "

    注意:域名所有者还可以将多个CAA字段添加到域名的DNS记录中。

  • 当有人正在尝试为未经授权的网站申请SSL证书时,iodef属性会告诉CA机构,并向网站所有者发送邮件。网站所有者收到邮件必须有所警惕并深入调查和检查原因。

    gworg.com. CAA 0 iodef "mailto:admin@gworg.com"
  • 当有其他CA机构申请SSL证书时,iodef属性还支持URL端点,可以记录尝试此类行为。

    gworg.com. CAA 0 iodef "https://www.gworg.com/symantec"
  • 如果站点使用多个子域,则CAA记录也可以限制钓鱼攻击者对其中任何一个申请SSL证书。

    my.gworg.com. CAA 0 issue "digicert.com "news.gworg.com. CAA 0 issue "digicert.com "crm.gworg.com. CAA 0 issue "comodoca.com "
  • 允许DigicertComodo可以向gworg.com指定域名颁发证书。未经授权的第三方通过其他CA机构申请用于该域名的SSL证书都将会被拒。

    www.gworg.com. CAA 0 issue "digicert.com "www.gworg.com. CAA 0 issue "comodoca.com "
  • 将通配符证书的颁发权限指定仅限一家CA机构,如Digicert

    gworg.com. CAA 0 issuewild "digicert.com"

CAA检测工具

你可以通过DNS诊断工具,输入要检测的域名,进行在线CAA检测。 该工具页面显示为:
QQ图片20181224100029.png

更多信息

附录一:各CA机构对应的CAA记录值

CA机构记录值
AC Camerfirmacamerfirma.com
ACCVGovernment of Spainaccv.es
Actalisactalis.it
Amazonamazon.com
AssecoUnizeto, Certumcertum.pl
Atosatos.net
Buypassbuypass.com
CA Disigdisig.sk
CATCertConsorci AOCaoc.cat
Certignacertigna.fr
CertinomisDocapostwww.certinomis.com
CertizenHongkong Posthongkongpost.gov.hk
certSIGNcertsign.ro
CFCAChina Financialcfca.com.cn
Chunghwa Telecompki.hinet.net
Comodocomodoca.com
D-TRUSTdtrust.de
DFN-PKIpki.dfn.de
DigiCertSymantec, GeoTrust, Thawte, RapidSSLdigicert.com
DocuSignKeynectis, OpenTrust, Certplusdocusign.fr
e-tugrae-tugra.com
EDICOMedicomgroup.com
Entrustentrust.net
Firmaprofesionalfirmaprofesional.com
FNMTGovernment of Spainfnmt.es
GDCAgdca.com.cn
GlobalSignglobalsign.com
GoDaddyStarfield Technologiesgodaddy.com
Google Trust Servicespki.goog
GRCAGovernment of Taiwangca.nat.gov.tw
HARICAharica.gr
IdenTrustidentrust.com
Izenpeizenpe.com
Kamu SMkamusm.gov.tr
Krajowa Izba Rozliczeniowaelektronicznypodpis.pl
Let's Encryptletsencrypt.org
Microsec e-Szignóe-szigno.hu
NetLocknetlock.hu
PKIoverheidwww.pkioverheid.nl
QuoVadisquovadisglobal.com
SECOMsecomtrust.net
SK ID Solutions ASsk.ee
SSL.comssl.com
SwissSignswisssign.com
T-Systemstelesec.de
Taiwan-CAtwca.com.tw
Teliatelia.com
Trust Provider B.V.Networking4alltrustproviderbv.digitalcertvalidation.com
TrustCor Systemstrustcor.ca
Trustwavetrustwave.com
Web.comweb.com
WISeKeywisekey.com

附录二:CAA在BIND中的配置

在BIND 9.9.6及以上版本的zone标准配置文件中,CAA的配置如下:

www.gworg.com.	IN	CAA	0 issue "comodoca.com"www.gworg.com.	IN	CAA	0 issue "digicert.com"www.gworg.com.	IN	CAA	0 issuewild ";"