我们的 DNS 管理员告诉我,使用 CNAME 记录不是“最佳实践”,并且存在安全漏洞。这是真的吗?我一直使用 CNAME 记录来减少 DNS 记录的管理开销。
答案1
% dig www.google.com a
; <<>> DiG 9.6.1-P1-RedHat-9.6.1-6.P1.fc11 <<>> www.google.com a
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8426
;; flags: qr rd ra; QUERY: 1, ANSWER: 7, AUTHORITY: 4, ADDITIONAL: 4
;; QUESTION SECTION:
;www.google.com. IN A
;; ANSWER SECTION:
www.google.com. 532778 IN CNAME www.l.google.com.
ETC....
如果它对谷歌来说足够好,那么对任何人来说都足够好。
当然,如果目标如果 CNAME 的左侧和右侧都在您自己的域中,那么它就是您无法控制的信息。但如果左侧和右侧都在您自己的域中,那么就没有任何风险!
答案2
我想说这不是真的,除非有充分的证据证明事实并非如此。
如果您的 CNAME 引用不受您控制的区域,则可能会出现潜在问题,因为它们可能会意外地更改最终结果,但这是一个非常正常的“您信任第三方吗?”问题,而不是特定于 DNS 的问题。
如果我是你,我会询问你的 DNS 管理员,他是否有关于他所关心的问题的任何信息可供你阅读 - 只要确保请求听起来像是你试图了解某事,而不是试图证明他错了。如果他确实给了你一个很好的答案,请在此处发布,以便我们也能从中受益!
答案3
这是 FUD。如前所述,CNAME 比 A 记录更不安全的唯一原因是它指向您无法控制的第三方域。如果它引用同一域中的另一条记录,那么完全没问题。
他可能会感到困惑,因为某些类型的记录(如 MX 条目!)不允许指向 CNAME,它们必须根据 RFC 指向 A 记录。但这本身并不是一个安全问题,而更像是“您可能无法收到由 RFC 严格 MTA 发送的电子邮件”的问题。
答案4
对于禁止此操作的记录(如 NS 或 MX 记录)未引用的地址记录,则没有问题。但是,如果它们跨越区域(即使是您控制的区域),我会小心,因为这样将需要额外的 DNS 查询来解析名称的目标。