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 được DNSSEC không làm Phát hiện bản ghi bị sửa hoặc giả trên đường từ nameserver tới resolver Mã 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 DNSSEC Bả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, TLSA Thay 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 ghi Tên đầy đủ Vai trò RRSIG Resource Record Signature Chữ 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 DNSKEY DNS Public Key Khoá công khai của zone, dùng để kiểm RRSIG. Thường có KSK (ký khoá) và ZSK (ký dữ liệu) DS Delegation Signer Bản băm của DNSKEY của zone con, đặt ở zone cha; mắt xích nối hai tầng NSEC / NSEC3 Next Secure Chứ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ý.

- 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.
- 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ý.
- Ở 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.
- Ở 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.
- 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.

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.
- 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ỳ.
- Lấy bản ghi DS: gồm Key Tag, Algorithm, Digest Type, Digest (một số nơi đưa cả DNSKEY).
- 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ý.
- 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.
