给域名添加CAA记录,提升HTTPS的安全性

给域名添加CAA记录,提升HTTPS的安全性

前言 之前博主分享了 HTTPS原理及理论基础、什么是域名DNS解析、新手小白如何申请域名和证书、

前言

之前博主分享了 HTTPS原理及理论基础什么是域名DNS解析新手小白如何申请域名和证书什么是SSL证书以及SSL证书与TLS证书的区别对于域名都有了一个大至的了解了,但对于安全性要求特别高的用户来说这些防护手段都还不够用今天就接着给大家分享给域名添加一个CAA记录来提高HTTPS访问时的安全性。

一:什么是CAA记录

证书颁发机构授权(Certificate Authority Authorization,CAA)记录是一种不太常见的DNS记录类型。它主要用于锁定证书颁发机构(CA)列表,否则没有人可以为您的域名颁发SSL/TLS证书。如果不这样做,则允许任何公共证书颁发机构为任何域名颁发证书。也就是说,拥有CAA记录不会将您与特定的证书颁发机构绑定在一起,您可以为此目的添加多个CA。

CAA 记录(Certificate Authority Authorization),中文译为证书颁发机构授权,是一种用于提高网站安全性的 DNS 记录类型

它的核心作用是允许域名所有者指定并限制哪些证书颁发机构 (CA) 有权为该域名颁发 SSL/TLS 证书。

1:核心要点:

安全机制:CAA 记录的主要目的是防止证书被错误颁发或欺诈性颁发限制范围域名所有者通过设置 CAA 记录,可以指定一个或多个白名单 CA。如果其他未授权的 CA 收到该域名的证书申请,它们必须拒绝颁发。

强制执行:自 2017 年 9 月起,全球的证书颁发机构(CA)被要求对所有证书申请执行 CAA 强制性检查

未设置的风险:如果您的域名没有设置 CAA 记录,则任何公共 CA 都可以为您的域名颁发证书,这增加了您的域名面临潜在安全风险(如钓鱼攻击)的可能性。

2:CAA 记录的常见字段和作用:

CAA 记录通常由一个标志(Flag)和一个标签-值对(Tag-Value Pair)组成,其中最常见的标签是:

Tag

作用

示例(非标准格式,仅解释含义)

issue

授权特定的 CA 颁发非通配符证书(即针对特定子域的证书,如 www.example.com)。

CAA 0 issue "digicert.com" (仅允许 Digicert 颁发)

issuewild

授权特定的 CA 颁发通配符证书(如 *.example.com)。

CAA 0 issuewild "letsencrypt.org" (仅允许 Let's Encrypt 颁发通配符)

iodef

定义一个 URL 或邮箱地址,用于通知域名所有者未经授权的证书颁发尝试

CAA 0 iodef "mailto:admin@example.com" (CA 发现未授权申请时会发送邮件通知)

二:如何检查CAA记录

检查域名的 CAA 记录有几种常用且便捷的方法,主要可以通过命令行工具在线查询工具来完成。

1. 使用命令行工具(推荐)

对于技术用户和开发者,使用 dig 命令是检查 DNS 记录最专业和直接的方法。

对于 macOS/Linux 系统:

使用 dig 命令,并指定记录类型为 CAA

dig yourdomain.com CAA

示例: 检查 google.com 的 CAA 记录

dig google.com CAA

输出结果示例(会显示在 ANSWER SECTION):

;; ANSWER SECTION:
google.com.             300     IN      CAA     0 issue "pki.goog"

这表明 google.com 授权 pki.goog(Google 的 CA)为其颁发证书。

对于 Windows 系统:

在 Windows 的命令行工具中,您可以使用 nslookup,但它可能不直接支持查询 CAA 记录类型。更可靠的方法是使用 nslookup 查询一个支持 CAA 的 DNS 服务器,或者使用上面提到的在线工具。

2. 使用在线查询工具(最简单)

如果您不熟悉命令行或想快速查看,使用在线工具是最简单的方法。

  • SSLMate CAA Record Helper: (通常推荐,因为它专注于 CAA 记录)

  • DNS Checker / DNS Lookup 工具: 许多在线 DNS 查询工具(例如那些提供全球 DNS 传播检查的服务)都支持查询 CAA 记录类型。

您只需在这些网站的查询框中输入您的域名,然后选择或指定查询的记录类型为 CAA 即可看到结果。

三:配置CAA记录

1:访问 DNS 管理界面

登录到您域名所在的 DNS 管理控制台(例如 Cloudflare、阿里云 DNS、DNSPod 或您的域名注册商的管理后台)。

2:添加新的 DNS 记录

找到添加新记录的选项,选择记录类型为 CAA

3:填写记录参数

CAA 记录主要由三个部分组成:名称/主机 (Name/Host)标志 (Flag)值 (Value)

参数

填写说明

示例(以授权 Let's Encrypt 颁发为例)

名称/主机

填写您希望授权证书的域名。通常填写 @ *

- @

表示主域名。

@ 或留空

- *

表示所有子域名(通配符)。

*

标志 (Flag)

通常设置为 0(表示“非关键”)。

0

标签 (Tag)

您要授权的类型,通常选择 issueissuewild

issue

值 (Value)

证书颁发机构 (CA) 的授权域名

letsencrypt.org

常用 CA 授权值

证书颁发机构 (CA)

用于 issue 和 issuewild 的授权值

Let's Encrypt

letsencrypt.org

DigiCert

digicert.com

GlobalSign

globalsign.com

Sectigo (Comodo)

sectigo.comcomodoca.com

示例配置

如果您希望授权 Let's Encrypt 为您的主域名 (example.com) 颁发非通配符证书,并授权 DigiCert 颁发通配符证书,您需要添加两条 CAA 记录:

记录类型

主机/名称

标志

标签

CAA

@

0

issue

letsencrypt.org

CAA

@

0

issuewild

digicert.com

重要提示:

  1. 限制授权: 如果您只添加了授权的 CA 记录,就意味着您禁止了所有未在列表中出现的 CA 颁发证书。

  2. 完全禁止: 如果您想彻底禁止任何 CA 颁发证书,可以添加一条特殊的记录:CAA 0 issue ";"(值设为分号)。

  3. TTL (存活时间): 配置完成后,请注意 TTL 设置,它决定了记录生效的速度,一般建议设置较短的值(如 300 秒)。

总结

如果域名配置了 CAA 记录,则只有记录中指定的 CA 才能为其颁发证书。如果未配置,任何公共 CA 均可颁发。但是为了自己网站或者是博客的安全尽量都还是增加一个CAA记录,或者是也可以买一个高防的服务器。博主这边就是用的美西的海外高防服务器 VMRackVMRack 机房在美国洛杉矶 Equinix LA4 金融级数据中心,主打配备全新 AMD EPYC 7K62 高性能处理器,CPU 核心数高达 192 个,vCPU是1:1的资源配比性能稳定,采用分布式块存储和三副本机制,大大提高了磁盘读写能力,轻松应对超高IOPS需求现目前主要运营三条线路:三网精品CN2 GIA/9929/CMIN2)、三网优化163/10099/CMI)以及 美国原生(Global BGP),三条线路基本满足绝大部分人群的日常使用需求以及中小企业日常的办公需求。可以说 VMRack 在线路方面是非常具有竞争优势的。三网精品直连为中国大陆用户提供了低延迟,高速度的优化网络体验,对于日常办公、娱乐、看视频以及海外电商都是非常适用的;三网优化具有非常大的带宽口子,非常满足需要大流量下载的应用场景,比如CND内容分发、影视站点播等;而美国原生则者主打极致性价比和全球连接性,作为美西落地机是非常具有性价比的。

Snipaste_2025-11-29_17-14-12.png

官网地址:https://www.vmrack.net/

TG交流群: https://t.me/vmrack_chat

评论