我们的域名具有以下 DNS 记录:
*.example.com IN CNAME foo.org
example.com IN A x.x.x.x
example.com IN TXT "v=spf1 mx -all"
example.com IN MX 10 mail.mailhost.com
mail.example.com IN CNAME mail.mailhost.com
example.com 电子邮件似乎可以正常发送和接收。
我们无法控制 foo.org,也不信任其管理员。
问题 1:他们是否有可能利用通配符 CNAME 来读取 example.com 的电子邮件?
Q2:我们还应该担心通配符 CNAME 还有其他潜在的恶意用途吗?
答案1
邮件传输代理将使用MX
(尽管我见过一些只知道A
记录的糟糕代码);CNAME
往往不支持MX
记录,一些 DNS 或邮件服务器会警告或拒绝处理此类记录(我相信是 Courier)。[email protected]
地址的去向可能需要研究,或者如果您只使用,则可能无关紧要@example.com
,并且出于某种原因,不要指望 的优秀人员foo.com
伪造来自子域的邮件。
答案2
从您提供的信息来看,无法判断他们是否可以使用它通过 IMAP、POP3 或类似方式访问您的邮件服务器,因为这取决于邮件服务器的配置,而不是 DNS 中的内容。不过,考虑到一个相当正常的邮件服务器设置,这似乎不太可能。
您已完全移交了 下所有名称的控制权example.com
,但 名称除外mail.example.com
。要判断他们是否可以利用这一点来损害您的利益,同样需要此处未提供的信息。
答案3
A1:没有已知的漏洞(如果有,它们可能会很快被修补)
A2:通配符 CNAME 的工作方式如下:如果不存在更多记录,则遵循通配符。
https://www.rfc-editor.org/rfc/rfc4592#section-2.2.1
需要考虑的其他事项:粘合记录:上游服务器具有使用子域作为名称服务器的名称服务器的 IP 地址(例如,ns1.example.org 是 example.org 的名称服务器,因此区域 .org. 具有 ns1.example.org 的 A 记录)
另一个例子:我们有一些我管理的学校账户,老师们使用多站点 wordpress(teachername.example.org),但学生也有自己的电子邮件域名,students.example.org。由于 students.example.org 存在 MX、A、TXT 和其他记录,因此 students.example.org 不遵循 *.example.org。
如果我将 *.example.org CNAME 指向的域名具有 MX 记录,它只适用于没有 MX 记录的子域名,DKIM、DMARC 和其他域名也是如此,但是根据此示例,dkim 的密钥将不起作用,因为默认值为 _domainkey.example.org 与 *.example.org 的通配符不匹配,而是与 *._domainkey.example.org 匹配。