侧边栏壁纸
博主头像
背锅小王子博主等级

我从事运维工作有十年之久,主要从事云原生相关的工作,对k8s、devops、servicemesh、可观察性等较为熟悉!

  • 累计撰写 59 篇文章
  • 累计创建 64 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

域名添加CAA记录

背锅小王子
2022-08-16 / 0 评论 / 0 点赞 / 307 阅读 / 993 字
温馨提示:
本文最后更新于 2022-11-14,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1、关于 CAA

有超过 100 个组织(称为证书颁发机构)可以颁发 SSL 证书,以保证您的域的身份。如果证书颁发机构行为不端并向攻击者提供您的域的证书,则攻击者可以冒充您的网站并拦截访问者的数据。

如果您像大多数域所有者一样,您只能从少数证书颁发机构获得证书。CAA(证书颁发机构授权)是一种 DNS 记录,可让您声明您实际使用的证书颁发机构,禁止其他人为您的域颁发证书。

以下是您使用 CAA 的一些原因:

  • 您希望降低来自不安全证书颁发机构的风险。您可以使用 CAA 将您的域限制为您信任的不会颁发未经授权的证书的证书颁发机构。
  • 您想阻止您的员工从未经授权的供应商处获取证书。

设置 CAA 很容易。使用方便的CAA 生成器 检查您授权的证书颁发机构。然后在您的域的 DNS 中发布生成的 DNS 记录。您的域需要由支持 CAA 的 DNS 提供商托管。幸运的是,现在许多主要的 DNS 提供商都支持 CAA。

CAA 是由 RFC 8659定义的 IETF 标准。自 2017 年 9 月 8 日起,所有公共证书颁发机构都必须尊重 CAA 记录。在为域颁发证书之前,他们必须检查域中的 CAA 记录,如果 CAA 记录集没有授权,则拒绝颁发。(如果没有 CAA 记录,他们可以签发。)

CAA 和子域
域的 CAA 记录集也适用于所有子域,除非子域有自己的 CAA 记录集。

例如,在证书颁发机构为 www.example.com 颁发证书之前,它将按以下顺序查询域中的 CAA 记录集,并使用它找到的第一个记录集:

www.example.com
example.com

CAA 和 CNAME
如果域名是另一个域的 CNAME(也称为别名),则证书颁发机构会在 CNAME 目标处查找 CAA 记录集(就像任何其他 DNS 查找一样)。如果没有找到 CAA 记录集,证书颁发机构将继续搜索原始域名的父域。

例如,如果 blog.example.com 是 blogprovider.example 的 CNAME,则证书颁发机构按以下顺序查找 CAA 记录集:

blogprovider.example
example.com

与其他 DNS 记录类型一样,域名不可能同时具有 CNAME 和 CAA 记录。

2、配置CAA记录

通过CAA配置助手:https://sslmate.com/caa/

查看自己域名证书的提供商

或者通过浏览器查看,访问自己的域名:https://nginx.bgxwz.com
图片-1660621203340
选择自己的证书提供组织,我这里是Let’s Encrypt
图片-1660620864895

因为我的DNS是托管在Cloudflare上面的,所以添加CAA记录方式如下:
图片-1660621787630

3、测试CAA记录

CAA记录测试网站:https://caatest.co.uk/

图片-1660621669896

测试结果:

✔ All looks good

代表CAA设置成功

✘ Couldn’t find a CAA record

No CAA found

代表CAA记录设置没有成功,需要重复部署2进行盘查

注意点:
根域的CAA和CNAME记录不能一起使用,因为CNAME记录的优先级高,会导致CAA记录不生效的问题,所以要一起使用的话,需要将根域的CNAME记录,修改为A记录,才可以一起使用。

例如通过Cloudflare的CNAME做代理的情况
需要解析出来Cloudflare的CNAME对应的后端IP地址

dig bgxwz.com.cdn.cloudflare.net

然后修改DNS的根域记录为A记录
值修改为上面解析出来的IP地址即可。

0

评论区