Check-Host.cc

Global CNAME Record Checker

Bản ghi CNAME (Canonical Name) đóng vai trò như một alias ở cấp độ domain. Thay vì resolve trực tiếp hostname thành địa chỉ IP, CNAME chỉ thị cho DNS resolver rằng đích đến là một domain name khác. Khi resolver gặp một CNAME, nó sẽ khởi động lại toàn bộ quá trình lookup, query domain mới đó cho đến khi nó cuối cùng resolve ra một bản ghi A hoặc AAAA đích. Tính năng này được sử dụng rất nhiều bởi các developer khi tích hợp các nền tảng SaaS bên thứ ba, Content Delivery Networks (CDN), hoặc các môi trường PaaS như Vercel và Heroku, nơi không được cấp phát IP static và hạ tầng thường xuyên thay đổi.

Giới hạn ở Apex Domain (RFC 1034)

Một trong những quy tắc khắt khe nhất trong kiến trúc DNS, được định nghĩa trong RFC 1034, là một bản ghi CNAME không thể cùng tồn tại trên một node với bất kỳ loại bản ghi nào khác. Vì bản thân root apex của một domain (ví dụ: example.com) bắt buộc phải giữ các bản ghi SOA (Start of Authority) và NS (Name Server) để hoạt động, bạn không thể đặt một CNAME chuẩn tại root. Nếu bạn cố làm vậy, zone sẽ bị lỗi, gây ra những sự cố nghiêm trọng cho mail (MX) và routing nói chung. Để lách giới hạn này, các nhà cung cấp Managed DNS hiện đại (như Cloudflare, AWS Route 53, và DNSimple) đã phát triển các bản ghi giả (pseudo-records) độc quyền gọi là "CNAME Flattening" hoặc "ALIAS". Những hệ thống này sẽ resolve CNAME target ở phía server và trả về trực tiếp một bản ghi A tổng hợp cho client, duy trì sự tuân thủ nghiêm ngặt với RFC.

Subdomain Takeovers và Dangling Records

Bản ghi CNAME mang đến một rủi ro bảo mật nghiêm trọng được biết đến với tên gọi Subdomain Takeover. Việc này xảy ra khi một admin tạo một CNAME trỏ một subdomain (ví dụ: docs.example.com) tới một dịch vụ bên thứ ba như GitHub Pages hoặc một endpoint của Zendesk. Nếu công ty sau đó xóa tài khoản Zendesk của họ nhưng quên xóa bản ghi CNAME khỏi DNS zone, alias đó sẽ trở thành "dangling" (bị treo). Một hacker có thể đăng ký endpoint bị bỏ hoang đó trên nhà cung cấp bên thứ ba và ngay lập tức chiếm toàn quyền kiểm soát subdomain đã được trust, cho phép thực hiện các cuộc tấn công phishing và ăn cắp cookie. Việc audit định kỳ các chuỗi CNAME là một practice bảo mật bắt buộc.

Vấn đề hiệu suất và Infinite Loops

Việc chain nhiều CNAME lại với nhau (ví dụ: trỏ Alias A sang Alias B, rồi Alias B lại trỏ sang Alias C) sẽ gây ra ảnh hưởng lớn tới hiệu suất. Mỗi một lần nhảy (hop) yêu cầu client phải thực hiện thêm một lần DNS lookup, làm tăng thêm vài mili-giây đáng kể vào chỉ số Time to First Byte (TTFB). Ngoài ra, nếu cấu hình không đúng có thể dễ dàng tạo ra các vòng lặp vô tận (infinite routing loops), khiến resolver hủy bỏ quá trình lookup và trả về lỗi NXDOMAIN. Validate cấu trúc alias của bạn trên phạm vi toàn cầu sẽ đảm bảo việc routing diễn ra trực tiếp và hiệu quả.