close

DNSSEC là gì? Chuỗi tin cậy, cách bật và kiểm tra DNSSEC

Tác giả: Dương Xuân Ngày đăng: 03/06/2021 Chuyên mục: DNS
Disclosure
Website Tino blog được cung cấp bởi Tino Group. Truy cập và sử dụng website đồng nghĩa với việc bạn đồng ý với các điều khoản và điều kiện trong chính sách bảo mật - điều khoản sử dụng nội dung. Tino Group có thể thay đổi điều khoản sử dụng bất cứ lúc nào. Việc bạn tiếp tục sử dụng Tino blog sau khi thay đổi có nghĩa là bạn chấp nhận những thay đổi đó.
Why Trust Us
Các bài viết với hàm lượng tri thức cao tại Tino blog được tạo ra bởi các chuyên viên Marketing vững chuyên môn và được kiểm duyệt nghiêm túc theo chính sách biên tập bởi đội ngũ biên tập viên dày dặn kinh nghiệm. Mọi nỗ lực của chúng tôi đều hướng đến mong muốn mang đến cho cộng đồng nguồn thông tin chất lượng, chính xác, khách quan, đồng thời tuân thủ các tiêu chuẩn cao nhất trong báo cáo và xuất bản.

DNSSEC (Domain Name System Security Extensions) là bộ mở rộng bảo mật cho DNS, thêm chữ ký số vào bản ghi để resolver kiểm tra được câu trả lời đúng là của chủ tên miền và không bị sửa trên đường đi. DNSSEC không mã hoá truy vấn; nó chống giả mạo, không chống nghe lén.

DNSSEC bổ sung cho DNS, hệ thống vốn ra đời khi chưa tính tới việc xác thực. Chủ tên miền bật DNSSEC ở nơi chạy nameserver và gửi một bản ghi lên tầng trên qua nhà đăng ký. Phần dưới giải thích DNSSEC chống được gì, các bản ghi mới, chuỗi tin cậy, cách bật và kiểm tra.

DNSSEC là gì?

DNSSEC là tập tiêu chuẩn của IETF, mô tả trong RFC 4033, RFC 4034 và RFC 4035, cho phép ký số dữ liệu DNS. Theo ICANN, DNSSEC đem lại hai bảo vệ: xác thực nguồn gốc dữ liệu (data origin authentication) và bảo vệ tính toàn vẹn của dữ liệu.

Chủ zone ký dữ liệu của mình bằng khoá riêng (private key), còn khoá công khai (public key) được công bố ngay trong zone. Resolver có bật kiểm DNSSEC dùng khoá công khai để kiểm chữ ký; chữ ký sai thì câu trả lời bị loại, người dùng nhận lỗi thay vì bị dẫn tới máy chủ giả.

DNSSEC chống lại những tấn công nào?

DNSSEC chống các kiểu tấn công làm resolver tin vào câu trả lời giả, như đầu độc cache (cache poisoning) và giả mạo phản hồi DNS (DNS spoofing). Kẻ tấn công không có khoá riêng của chủ zone nên không tạo được chữ ký hợp lệ cho bản ghi giả.

DNSSEC làm đượcDNSSEC không làm
Phát hiện bản ghi bị sửa hoặc giả trên đường từ nameserver tới resolverMã hoá truy vấn, giấu tên miền bạn truy cập (việc của DoH, DoT)
Chứng minh một tên thật sự không tồn tại (qua NSEC, NSEC3)Bảo vệ khi tài khoản quản lý tên miền bị chiếm và kẻ xấu tự ký bản ghi
Bảo vệ người dùng của resolver có bật kiểm DNSSECBảo vệ đoạn từ thiết bị tới resolver nếu thiết bị không tự kiểm
Làm nền cho bản ghi bảo mật khác như DANE, TLSAThay thế chứng chỉ SSL của website

Cách mã hoá DNS bằng DoH, DoT được giới thiệu ở mục bảo mật của bài DNS là gì; chứng chỉ SSL xem ở chứng chỉ SSL là gì.

DNSSEC thêm những bản ghi nào?

DNSSEC thêm bốn loại bản ghi chính được định nghĩa trong RFC 4034: RRSIG chứa chữ ký, DNSKEY chứa khoá công khai, DS nối zone con với zone cha, NSEC chứng minh tên không tồn tại. RFC 5155 bổ sung NSEC3 để chứng minh như NSEC nhưng khó liệt kê toàn bộ tên trong zone.

Bản ghiTên đầy đủVai trò
RRSIGResource Record SignatureChữ ký số của một nhóm bản ghi cùng tên, cùng loại (RRset), có thời hạn hiệu lực
DNSKEYDNS Public KeyKhoá công khai của zone, dùng để kiểm RRSIG. Thường có KSK (ký khoá) và ZSK (ký dữ liệu)
DSDelegation SignerBản băm của DNSKEY của zone con, đặt ở zone cha; mắt xích nối hai tầng
NSEC / NSEC3Next SecureChứng minh một tên hoặc một loại bản ghi không tồn tại, cũng được ký

DNSSEC hoạt động như thế nào?

DNSSEC hoạt động theo chuỗi tin cậy: khoá của mỗi zone được zone cha xác nhận bằng bản ghi DS, đi ngược lên tới root zone. Resolver chỉ cần tin khoá của root (trust anchor) là kiểm được mọi tầng bên dưới, miễn là tầng nào trên đường đi cũng đã ký.

Sơ đồ chuỗi tin cậy DNSSEC từ gốc xuống tên miền: root là trust anchor, bản ghi DS nối xuống zone .vn (DNSKEY và DS), rồi tới tenban.vn ký bằng RRSIG; bản ghi A, MX, TXT sai chữ ký thì báo SERVFAIL. Việc của chủ tên miền: bật DNSSEC, gửi DS lên tầng cha; DNSSEC không phải mã hoá truy vấn
  1. Resolver nhận câu hỏi, ví dụ bản ghi A của tenban.vn, và yêu cầu kèm dữ liệu DNSSEC.
  2. Từ root, resolver lấy DNSKEY của root (đã có sẵn làm trust anchor) và bản ghi DS của .vn, kiểm chữ ký.
  3. Ở zone .vn, resolver lấy DNSKEY của .vn, so với DS vừa nhận; khớp thì tin khoá này và lấy tiếp DS của tenban.vn.
  4. Ở nameserver của tenban.vn, resolver lấy DNSKEY, bản ghi A và RRSIG của bản ghi A, kiểm chữ ký bằng khoá đã được xác nhận.
  5. Mọi chữ ký khớp thì resolver trả kết quả kèm cờ AD (đã xác thực); một mắt xích sai thì trả lỗi SERVFAIL.

Ảnh dưới chụp Verisign DNSSEC Debugger kiểm tên miền cloudflare.com: công cụ đi lần lượt từ root (.), qua com, tới cloudflare.com; ở mỗi tầng đều tìm thấy bản ghi DS ở zone cha và DS khớp DNSKEY của zone con.

Ảnh chụp Verisign DNSSEC Debugger ngày 27/10/2026 kiểm cloudflare.com: ba tầng root, com, cloudflare.com đều có dấu tích xanh; khoanh đỏ dòng Found 1 DS records for com in the . zone và Found 1 DS records for cloudflare.com in the com zone
Ảnh chụp công cụ Verisign DNSSEC Debugger (dnssec-debugger.verisignlabs.com) ngày 27/10/2026.

DNSSEC được triển khai từ khi nào?

Theo ICANN, IETF bắt đầu xây dựng DNSSEC từ những năm 1990 khi thấy DNS cần cơ chế xác thực mạnh hơn. Root zone được ký DNSSEC năm 2010, tạo điểm khởi đầu chung cho chuỗi tin cậy; từ đó các đuôi tên miền và chủ tên miền mới có thể ký theo.

  • 2018: ICANN thay khoá gốc (root KSK) lần đầu tiên.
  • 11/10/2026: khoá gốc mới KSK-2024 (key tag 38696) bắt đầu ký root zone, theo thông báo của ICANN ngày 11/08/2026; tra DNSKEY của root qua Google Public DNS ngày 27/10/2026 thấy chữ ký RRSIG dùng key tag 38696.
  • Đuôi .vn đã được ký: tra bản ghi DS của vn. qua Google Public DNS ngày 27/10/2026 có kết quả và cờ AD (đã xác thực).

Cách bật DNSSEC cho tên miền

Bật DNSSEC cho tên miền gồm hai việc ở hai nơi: ký zone ở nơi đang chạy nameserver, rồi gửi bản ghi DS do nơi đó tạo lên zone cha thông qua nhà đăng ký tên miền. Thiếu một trong hai, chuỗi tin cậy bị đứt và DNSSEC chưa có tác dụng.

  1. Ký zone: trong trình quản lý DNS, bật DNSSEC. Nhà cung cấp tạo khoá, ký bản ghi và tự ký lại định kỳ.
  2. Lấy bản ghi DS: gồm Key Tag, Algorithm, Digest Type, Digest (một số nơi đưa cả DNSKEY).
  3. Khai DS ở nhà đăng ký: vào mục DNSSEC của tên miền, dán các giá trị DS. Nếu trang quản lý không có mục này, hãy hỏi nhà đăng ký.
  4. Kiểm tra: sau khi DS xuất hiện ở zone cha, dùng công cụ ở mục dưới để xác nhận chuỗi tin cậy đã thông.

Ví dụ trên Cloudflare (tài liệu DNSSEC của Cloudflare): vào DNS → Settings, bấm Enable DNSSEC, mở DS record để lấy giá trị rồi khai ở nhà đăng ký. Cách dùng Cloudflare làm nameserver có ở bài Cloudflare là gì.

Cách kiểm tra tên miền đã bật DNSSEC chưa

Cách dễ nhất để kiểm tra DNSSEC là nhập tên miền vào Verisign DNSSEC Debugger hoặc DNSViz: tầng nào có dấu tích xanh là chuỗi tin cậy thông tới tầng đó. Trên dòng lệnh, tra bản ghi DS và xem cờ ad trong kết quả của resolver có kiểm DNSSEC.

dig DS tenban.vn +short
dig A tenban.vn +dnssec @1.1.1.1

Tên miền chưa bật thì lệnh tra DS không trả kết quả. Đã bật đúng thì lệnh thứ hai có cờ ad trong dòng flags và kèm bản ghi RRSIG.

Rủi ro khi dùng DNSSEC và lúc cần cẩn thận

Rủi ro chính của DNSSEC là cấu hình sai làm cả tên miền “biến mất” với người dùng của resolver có kiểm DNSSEC, vì chữ ký không khớp thì resolver trả lỗi thay vì trả kết quả. Lỗi này thường xảy ra khi đổi nameserver hoặc nhà cung cấp DNS mà quên xử lý bản ghi DS cũ.

  • Trước khi đổi nameserver: gỡ bản ghi DS ở nhà đăng ký, chờ hết TTL của DS rồi mới đổi; sau khi chuyển xong mới bật lại DNSSEC ở nơi mới. Xem thêm cách đổi nameserver.
  • Chữ ký có hạn dùng: nếu bạn tự chạy BIND, PowerDNS trên VPS, phải để phần mềm tự ký lại định kỳ; chữ ký hết hạn cũng gây SERVFAIL.
  • Khoá, thuật toán: chọn thuật toán nhà đăng ký hỗ trợ (ví dụ ECDSA P-256, mã 13); đổi khoá KSK phải cập nhật DS ở nhà đăng ký.
  • Không thay cho bảo mật tài khoản: ai chiếm được tài khoản quản lý tên miền vẫn sửa được bản ghi đã ký; hãy bật xác thực hai lớp.

Cần tên miền cho website? Đăng ký tên miền tại Tino: kiểm tra tên miền còn trống, đăng ký .vn và quốc tế, quản lý DNS trong một tài khoản. Xem giá trên trang sản phẩm.

Câu hỏi thường gặp

DNSSEC có giống TSIG không?

Không giống. TSIG dùng khoá bí mật chung để xác thực trao đổi giữa hai máy chủ, ví dụ khi máy phụ chép zone (zone transfer). DNSSEC ký chính dữ liệu DNS để bất kỳ resolver nào cũng kiểm được. Bật DNSSEC không tự bảo vệ zone transfer; muốn bảo vệ việc đó thì cấu hình thêm TSIG.

DNSSEC có làm website chậm đi không?

Gần như không đáng kể với người dùng. Câu trả lời DNS lớn hơn vì kèm chữ ký và resolver phải kiểm thêm, nhưng kết quả được cache như bình thường; tốc độ tải trang chủ yếu do máy chủ web và mạng.

Có nên bật DNSSEC cho mọi tên miền không?

Nên bật khi nhà cung cấp DNS tự ký lại và nhà đăng ký hỗ trợ khai DS, nhất là với tên miền có giao dịch, email quan trọng. Nếu bạn sắp đổi nameserver hoặc tự quản máy chủ DNS mà chưa có quy trình đổi khoá, hãy xử lý xong việc đó trước.

Bài viết liên quan