root.comexample.comA recordchain of trust verified by signatures

DNSSEC

11 đọc tối thiểumật mã

DNS, hệ thống dịch các tên như example.com thành địa chỉ IP, được thiết kế vào năm 1983 mà không có xác thực. Bất kỳ câu trả lời nào tự nhận là từ máy chủ có thẩm quyền của tên miền đều được chấp nhận. DNSSEC khắc phục điều đó bằng cách đính kèm chữ ký mật mã vào mọi bản ghi DNS, cho phép khách hàng xác minh rằng câu trả lời không bị giả mạo. Việc áp dụng diễn ra chậm, nhưng ở nơi nó được triển khai, nó đều có tác dụng.

Toàn bộ nội dung bài viết được cung cấp bằng tiếng Anh bên dưới.

DNSSEC (Tiện ích mở rộng bảo mật hệ thống tên miền) thêm chữ ký mật mã vào bản ghi DNS, cho phép khách hàng xác minh tính xác thực và tính toàn vẹn của phản hồi DNS. Nếu không có DNSSEC, kẻ tấn công mạng có thể giả mạo các câu trả lời DNS và chuyển hướng lưu lượng truy cập đến các máy chủ do kẻ tấn công kiểm soát — nền tảng của việc chiếm quyền điều khiển DNS. Với DNSSEC, các câu trả lời giả mạo không xác minh được chữ ký và bị từ chối.

DNSSEC bổ sung thêm

Bốn loại bản ghi mới:

  • RRSIG — chữ ký trên một tập hợp bản ghi. Mỗi bản ghi đã ký đều có RRSIG.
  • DNSKEY tương ứng — khóa chung được sử dụng để xác minh chữ ký RRSIG cho một vùng.
  • DS (Người ký ủy quyền) — nằm trong vùng cha, trỏ đến DNSKEY ở con. Thiết lập chuỗi tin cậy.
  • NSEC/NSEC3 - chứng minh rằng tên KHÔNG tồn tại trong vùng. Cần thiết vì "tên này không tồn tại" cũng là câu trả lời cần được xác thực.

Cách xác minh hoạt động

Để xác minh IP của example.com:

  1. Resolver truy vấn example.com cho bản ghi A. Lấy IP cộng với chữ ký RRSIG.
  2. Resolver truy vấn example.com để tìm DNSKEY của nó (khóa ký vùng, ZSK).
  3. Resolver xác minh RRSIG bằng cách sử dụng ZSK.
  4. Để xác minh chính DNSKEY, trình phân giải sẽ truy vấn vùng cha (.com) để tìm bản ghi DS của example.com.
  5. Bản ghi DS chứa hàm băm DNSKEY của example.com, được ký bởi các khóa của .com.

Kết quả cuối cùng: một chuỗi được xác minh từ gốc đến .com đến example.com, kết thúc ở bản ghi A ban đầu. Phát hiện mọi hành vi giả mạo ở bất kỳ bước nào.

Các loại khóa và xoay

DNSSEC sử dụng hai loại khóa cho mỗi vùng:

  • Zone-Signing Key (ZSK). Ký các bản ghi thực tế (A, MX, TXT, v.v.). Luân chuyển thường xuyên (hàng tháng đến một năm) vì nó được sử dụng nhiều.
  • Khóa ký khóa (KSK). Ký tên ZSK. Hiếm khi được xoay vì đó là điểm neo mà vùng cha tham chiếu. Việc xoay vòng nó đòi hỏi phải phối hợp với nhà đăng ký để cập nhật bản ghi DS.

KSK gốc được luân chuyển khoảng 5 năm một lần. Vòng quay năm 2017 là năm chuẩn bị đầu tiên và cần thiết để đảm bảo các trình phân giải trên toàn thế giới có khóa công khai mới.

Adoption

DNSSEC việc áp dụng không đồng đều:

  • TLD cấp độ: Hầu hết các TLD chính đều được ký kết. .com, .org, .net, .gov, hầu hết các mã quốc gia.
  • Cấp miền: Khoảng 5% miền .com đã bật DNSSEC kể từ năm 2026 — tăng trưởng chậm.
  • Cấp độ giải quyết: Tất cả các trình phân giải công khai chính (1.1.1.1, 8.8.8.8, 9.9.9.9) xác thực DNSSEC. Hầu hết các trình phân giải ISP cũng vậy. Những cái không chỉ trả lại bất cứ thứ gì họ nhận được mà không cần xác minh.
  • Cấp độ khách hàng: Hầu hết các hệ điều hành đều tin cậy trình phân giải được định cấu hình của chúng để xác thực; họ không tự kiểm tra chữ ký. Một số ứng dụng và triển khai DNS-over-HTTPS thực hiện xác thực phía máy khách.

Tại sao việc áp dụng lại chậm

Một số rào cản:

  • Độ phức tạp trong hoạt động. Phải tạo khóa, tạo lại chữ ký khi bản ghi thay đổi, được triển khai thường xuyên. Cấu hình sai sẽ phá vỡ hoàn toàn miền (mọi trình phân giải đều trả về SERVFAIL).
  • LCác phản hồi DNS lớn hơn. Các phản hồi đã ký lớn hơn nhiều lần so với các phản hồi không dấu. Cơ sở hạ tầng DNS cũ giả định các phản hồi sẽ phù hợp với các gói UDP đơn lẻ; các phản hồi đã ký thường không thực hiện được, yêu cầu dự phòng TCP.
  • LLợi ích hạn chế dành cho người dùng cuối. DNSSEC bảo vệ khỏi việc giả mạo lớp DNS nhưng không chống lại IP đích là độc hại. Hầu hết người dùng không nhận thấy khi nào DNSSEC có hoặc không có ở đó.
  • Các lựa chọn thay thế tốt hơn cho một số trường hợp sử dụng. DNS được mã hóa (DoH, DoT, DNSCrypt) bảo vệ các truy vấn DNS khỏi giả mạo trên đường dẫn, giúp giải quyết nhiều mối đe dọa tương tự với mức độ phức tạp ít hơn.

DNSSEC so với mã hóa DNS

Cả hai giải quyết các vấn đề chồng chéo nhưng khác biệt:

  • DNSSEC chứng minh câu trả lời là xác thực và không bị giả mạo. Bản thân truy vấn vẫn hiển thị trên mạng.
  • Encrypted DNS ẩn truy vấn và câu trả lời khỏi mạng nhưng không chứng minh được câu trả lời là xác thực — nó chỉ tin cậy trình phân giải đã định cấu hình.

Thiết lập mạnh nhất: DNS được mã hóa thành trình phân giải xác thực DNSSEC. Ẩn truy vấn trong quá trình chuyển tiếp, xác minh câu trả lời bằng mật mã. Cloudflare 1.1.1.1 và Google 8.8.8.8 trên DoH cung cấp cả hai phiên bản ngày nay.

DANE: những gì DNSSEC kích hoạt

Một công nghệ hạ nguồn mà DNSSEC mở khóa là DANE (Xác thực các thực thể được đặt tên dựa trên DNS). DANE xuất bản dấu vân tay chứng chỉ TLS trong DNS, được bảo mật bởi DNSSEC. Trình duyệt có thể xác minh chứng chỉ của trang web bằng cách truy vấn DNS thay vì chỉ dựa vào Tổ chức phát hành chứng chỉ. Khả năng tiếp nhận bị hạn chế (chủ yếu được sử dụng cho SMTP, không phải HTTPS, do chính trị triển khai trình duyệt).

Cách kiểm tra xem miền có được ký DNSSEC hay không

Kiểm tra dòng lệnh: dig +dnssec example.com — phản hồi bao gồm chữ ký nếu DNSSEC được bật. Các công cụ trực tuyến như DNSSEC-Analyzer (Verisign Labs) hiển thị toàn bộ chuỗi tin cậy một cách trực quan. Tiện ích mở rộng trình duyệt có thể gắn cờ trạng thái xác thực DNSSEC trên mỗi trang.

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

Tên miền của tôi có cần DNSSEC không?
Không nghiêm ngặt. Sự bảo vệ mà nó cung cấp là có ý nghĩa nhưng chỉ một phần. Đối với hầu hết các trang web cá nhân, chi phí hoạt động khi chạy DNSSEC lớn hơn lợi ích. Đối với các trang web xử lý các giao dịch tài chính, dịch vụ của chính phủ hoặc các mục tiêu có giá trị cao, DNSSEC cộng với DANE sẽ bổ sung một lớp phòng thủ đáng giá.
DNSSEC có ngăn chặn được tất cả các cuộc tấn công DNS không?
Không. DNSSEC ngăn phản hồi DNS giả mạo trên đường truyền nhưng không ngăn được: máy chủ có thẩm quyền độc hại có chữ ký hợp lệ, chiếm đoạt tài khoản của nhà đăng ký (kẻ tấn công xuất bản khóa mới) hoặc tấn công vào IP đích sau khi phân giải DNS hợp pháp. Đó là một lớp, không phải là một giải pháp hoàn chỉnh.
Tại sao trình duyệt của tôi không kiểm tra DNSSEC?
Trình duyệt ủy quyền xác thực DNSSEC cho trình phân giải được định cấu hình. Nếu trình phân giải xác thực và từ chối các câu trả lời sai thì trình duyệt sẽ không bao giờ nhìn thấy chúng. Đã có đề xuất xác thực phía trình duyệt nhưng chúng không được chấp nhận. Sử dụng trình phân giải xác thực (1.1.1.1, 9.9.9.9) và bạn sẽ nhận được các lợi ích của DNSSEC.
Điều gì xảy ra nếu miền có chữ ký DNSSEC gặp sự cố?
Xác thực không thành công và hầu hết các trình phân giải đều trả về SERVFAIL. Tên miền dường như không thể truy cập được. Điều này đã xảy ra trong quá trình sản xuất (sự cố ngừng hoạt động của HBO Max vào năm 2021 là do cấu hình sai DNSSEC). Sự đánh đổi: khi DNSSEC hoạt động thì nó an toàn; khi nó vỡ thì nó vỡ to.
DNSSEC có giống với DNS qua HTTPS không?
Không. DNSSEC thêm chữ ký vào phản hồi DNS để xác minh tính xác thực. DNS qua HTTPS (DoH) mã hóa các truy vấn DNS trong quá trình truyền. Chúng bổ sung và sử dụng tốt nhất cùng nhau.
Giải thích về DNSSEC: Thêm chữ ký mật mã vào tra cứu DNS