Suốt nhiều thập kỷ, hệ thống phân giải tên miền (DNS) vận hành hoàn toàn dưới dạng văn bản thuần qua cổng UDP 53. Do các gói tin không được bảo vệ, mọi nhà mạng viễn thông, điểm phát Wi-Fi công cộng và các nút mạng trung gian đều có thể ghi lại danh sách tên miền mà thiết bị truy vấn.

Sự ra đời của các chuẩn mã hoá DNS-over-TLS (DoT, RFC 7858), DNS-over-HTTPS (DoH, RFC 8484) và DNS-over-QUIC (DoQ, RFC 9250) đã đem lại lớp vỏ bảo vệ vững chắc cho dữ liệu truyền tải. Tuy nhiên, giai đoạn đầu của việc ứng dụng các giao thức này vấp phải một rào cản kỹ thuật nghiêm trọng: người dùng phải cấu hình thủ công địa chỉ IP của các máy chủ công cộng (như 1.1.1.1 hoặc 8.8.8.8).

Việc cố định máy chủ phân giải công cộng gây ra nhiều xung đột trong môi trường mạng riêng ảo (VPN) và mạng nội bộ doanh nghiệp. Cách làm này làm hỏng tính năng phân tách tên miền Split-Horizon (intranet.internal, máy chủ chia sẻ tệp nội bộ), gây nguy cơ rò rỉ DNS ra ngoài đường hầm VPN, đồng thời ngăn cản các cổng mạng nội bộ tự cung cấp dịch vụ DNS mã hoá riêng.

Để giải quyết triệt để vấn đề này mà không phá vỡ ranh giới phân tách mạng, nhóm công tác Adaptive DNS Discovery (ADD) thuộc IETF đã hoàn thiện hai tiêu chuẩn bổ trợ nhau: RFC 9462 (Discovery of Designated Resolvers, DDR) và RFC 9463 (Discovery of Network-designated Resolvers, DNR).

+--------------------------------------------------------------------------+
|          QUY TRÌNH NÂNG CẤP MÃ HOÁ DNS THEO CHUẨN RFC 9462 DDR           |
+--------------------------------------------------------------------------+
|                                                                          |
|    +------------+        1. Truy vấn văn bản thô (UDP 53) +------------+ |
|    |            | --------------------------------------> | Máy chủ    | |
|    |  Thiết bị  |   QNAME: _dns.resolver.arpa (Loại SVCB) | DNS cục bộ | |
|    | khách hàng | <-------------------------------------- | hoặc cổng  | |
|    | (OS / Stub |        2. Phản hồi bản ghi SVCB         | ra VPN     | |
|    |  Resolver) |   TargetName: dns.vpnrice.internal      +------------+ |
|    +------------+   Alpn: "h2,h3", Cổng: 443                     |       |
|          |          Chỉ dẫn địa chỉ IP                           |       |
|          |                                                       |       |
|          | 3. Xác thực chứng chỉ và thiết lập bắt tay TLS        |       |
|          |    Kết nối tới đúng địa chỉ IP của cổng DNS           |       |
|          |    SNI: dns.vpnrice.internal                          |       |
|          v    Xác thực chứng chỉ X.509 với chuỗi tin cậy Web PKI v       |
|    +----------------------------------------------------------------+    |
|    |          ĐƯỜNG HẦM DNS MÃ HOÁ TỰ ĐỘNG ĐƯỢC THIẾT LẬP           |    |
|    |             (DoH / DoT / DoQ qua TLS 1.3 / QUIC)               |    |
|    |      Chống rò rỉ DNS - Giữ nguyên phân giải mạng nội bộ         |    |
|    +----------------------------------------------------------------+    |
|                                                                          |
+--------------------------------------------------------------------------+

Cơ chế vận hành của RFC 9462: Discovery of Designated Resolvers (DDR)

DDR là giao thức khám phá tự động trong luồng (in-band). Cơ chế này cho phép một trình phân giải tên miền (stub resolver) đang kết nối với máy chủ DNS văn bản thô (ví dụ địa chỉ IP cổng VPN 10.8.0.1) tự động thăm dò xem chính máy chủ đó có cung cấp phiên bản mã hoá hay không.

Quy trình khám phá dựa trên cấu trúc bản ghi Service Binding (SVCB) định nghĩa trong RFC 9460:

1. Thăm dò tên miền đặc biệt IANA

Khi thiết lập kết nối mạng, máy khách gửi truy vấn DNS thông thường tới máy chủ phân giải được gán:

  • Tên miền truy vấn (QNAME): _dns.resolver.arpa
  • Loại truy vấn (QTYPE): SVCB (Mã số 64)
  • Giao thức vận chuyển: UDP/TCP cổng 53 truyền thống

Tên miền _dns.resolver.arpa được IANA quy định là tên miền sử dụng cho mục đích đặc biệt. Các máy chủ phân giải bị cấm chuyển tiếp truy vấn này lên các máy chủ gốc trên Internet; chúng bắt buộc phải tự phản hồi cục bộ.

2. Cấu trúc bản ghi phản hồi SVCB

Nếu máy chủ DNS hỗ trợ các giao thức mã hoá, nó sẽ trả về bản ghi SVCB mô tả năng lực vận hành:

_dns.resolver.arpa. 3600 IN SVCB 1 dns.vpnrice.internal. (
    alpn="h2,h3"
    port=443
    dohpath="/dns-query{?dns}"
    ipv4hint=10.8.0.1
)
_dns.resolver.arpa. 3600 IN SVCB 2 dns.vpnrice.internal. (
    alpn="doq"
    port=853
    ipv4hint=10.8.0.1
)

Các thông số trong bản ghi cung cấp thông tin cấu hình hoàn chỉnh:

  • TargetName (Authenticated Domain Name - ADN): Tên miền xác thực dùng cho chứng chỉ số TLS (dns.vpnrice.internal).
  • alpn: Danh sách giao thức tầng ứng dụng (như h2, h3 cho DoH, dot cho DoT, doq cho DoQ).
  • port: Cổng dịch vụ lắng nghe kết nối mã hoá.
  • dohpath: Đường dẫn URI phục vụ truy vấn DoH.

3. Ràng buộc xác thực mật mã học

Kẻ tấn công trên mạng Wi-Fi công cộng có thể giả mạo gói tin trả lời SVCB để hướng người dùng về máy chủ độc hại. Tiêu chuẩn DDR triệt tiêu nguy cơ này qua quy trình xác thực chứng chỉ nghiêm ngặt:

  1. Đối chiếu địa chỉ IP: Máy khách bắt buộc phải mở kết nối TLS tới chính xác địa chỉ IP của máy chủ DNS văn bản thô vừa thăm dò. Nếu thăm dò tại 10.8.0.1, bắt tay TLS phải được thực hiện với 10.8.0.1.
  2. Kiểm tra chứng chỉ số X.509: Trong quá trình bắt tay TLS, máy chủ trình chứng chỉ số hợp lệ. Chứng chỉ phải chứa tên miền xác thực (ADN) trong trường Subject Alternative Name (SAN) và phải được ký bởi tổ chức cấp phát chứng chỉ (CA) đáng tin cậy trong kho lưu trữ của hệ điều hành.
  3. Đối chiếu chéo với địa chỉ công cộng: Đối với các máy chủ IP công cộng, RFC 9462 yêu cầu địa chỉ IP hoặc bản ghi phân giải ngược (PTR) phải khớp hoàn toàn với tên miền ADN trên chứng chỉ.

Sau khi xác thực thành công, máy khách tự động chuyển toàn bộ truy vấn sang kênh mã hoá. Nếu chứng chỉ không hợp lệ, hệ thống từ chối nâng cấp, ngăn chặn hành vi tấn công hạ cấp giao thức.

+--------------------------------------------------------------------------+
|                     BẢNG THÔNG SỐ CÁC GIAO THỨC TRONG DDR                |
+--------------------------------------------------------------------------+
| Giao thức mã hoá   | Mã định danh ALPN | Cổng mặc định | Tầng vận chuyển |
+--------------------+-------------------+---------------+-----------------+
| DNS-over-HTTPS/2   | h2                | 443           | TCP + TLS 1.3   |
| DNS-over-HTTPS/3   | h3                | 443           | UDP + QUIC      |
| DNS-over-TLS       | dot               | 853           | TCP + TLS 1.3   |
| DNS-over-QUIC      | doq               | 853           | UDP + QUIC      |
+--------------------------------------------------------------------------+

Tiêu chuẩn RFC 9463: Discovery of Network-designated Resolvers (DNR)

Bên cạnh giải pháp trong luồng DDR, RFC 9463 (DNR) cung cấp cơ chế phân phối thông tin ngoài luồng. DNR tích hợp trực tiếp cấu hình máy chủ DNS mã hoá vào các giao thức cấp phát mạng cơ sở:

  • DHCPv4 Tuỳ chọn 162 (OPTION_V4_DNR)
  • DHCPv6 Tuỳ chọn 144 (OPTION_V6_DNR)
  • Thông điệp quảng bá định tuyến IPv6 (Router Advertisement Option 144)

Khi thiết bị nhận cấu hình mạng hoặc thiết lập đường truyền VPN, máy chủ DHCP/RA chuyển giao ngay tên miền ADN, độ ưu tiên dịch vụ và địa chỉ IP mã hoá. Nhờ đó, máy khách nhận được cấu hình bảo mật trước khi gửi truy vấn DNS đầu tiên, loại bỏ hoàn toàn giai đoạn thăm dò qua UDP 53.

Hướng dẫn triển khai cấu hình DDR trên máy chủ Unbound

Đối với kỹ sư quản trị vận hành cổng VPN trên nền Linux sử dụng Unbound, việc kích hoạt tính năng DDR được thực hiện qua tệp cấu hình mẫu dưới đây:

server:
    interface: 10.8.0.1@53       # Cổng UDP/TCP văn bản thô ban đầu
    interface: 10.8.0.1@853      # Cổng DNS-over-TLS (DoT)
    interface: 10.8.0.1@443      # Cổng DNS-over-HTTPS (DoH)
    
    tls-service-key: "/etc/unbound/certs/dns.key"
    tls-service-pem: "/etc/unbound/certs/dns.crt"
    tls-port: 853
    https-port: 443

    # Định nghĩa vùng cục bộ cho tên miền đặc biệt DDR
    local-zone: "_dns.resolver.arpa." static
    
    # Bản ghi SVCB cho DoH (ALPN h2, cổng 443)
    local-data: '_dns.resolver.arpa. 3600 IN SVCB 1 dns.vpnrice.internal. alpn="h2" port="443" dohpath="/dns-query{?dns}"'
    
    # Bản ghi SVCB cho DoT (ALPN dot, cổng 853)
    local-data: '_dns.resolver.arpa. 3600 IN SVCB 2 dns.vpnrice.internal. alpn="dot" port="853"'

    # Phân giải cục bộ cho tên miền ADN
    local-zone: "vpnrice.internal." transparent
    local-data: 'dns.vpnrice.internal. 3600 IN A 10.8.0.1'

Kỹ sư có thể kiểm tra khả năng phản hồi bản ghi SVCB bằng công cụ dòng lệnh:

# Kiểm tra bản ghi SVCB của máy chủ phân giải
delv @10.8.0.1 _dns.resolver.arpa SVCB

Lợi thế khi kết hợp cùng RiceGuard và hạ tầng VPNRice

Việc tích hợp RFC 9462 và RFC 9463 vào kiến trúc đường hầm Layer 3 của VPNRice và nhân RiceGuard mang lại các cải tiến vận hành quan trọng:

  1. Khắc phục triệt để nguy cơ rò rỉ DNS: Các hệ điều hành hiện đại khi phát hiện cổng DNS hỗ trợ DDR sẽ tự động nâng cấp kết nối sang TLS hoặc QUIC. Kênh mã hoá này được ưu tiên cao hơn các giao thức văn bản thô trên card mạng vật lý, loại bỏ rủi ro rò rỉ truy vấn ra ngoài.
  2. Bảo tồn tính toàn vẹn của mạng nội bộ: Khác với việc trỏ cứng về các nhà cung cấp DoH công cộng (vốn trả về lỗi NXDOMAIN với các tên miền doanh nghiệp), máy chủ DDR nằm trực tiếp trên cổng VPN, đảm bảo phân giải chính xác các dịch vụ nội bộ (gitlab.corp, database.local).
  3. Thích ứng linh hoạt trước rào cản mạng: Tại các môi trường chặn cổng UDP 53, RiceGuard kết hợp DoH và DoQ qua cổng 443 tiêu chuẩn, duy trì khả năng phân giải tên miền ổn định và liên tục.

Các khía cạnh cần lưu ý trong vận hành

Khi ứng dụng thực tế các tiêu chuẩn này, doanh nghiệp cần chú ý:

  • Quản lý vòng đời chứng chỉ: Tên miền ADN phải có chứng chỉ số hợp lệ. Trong các mạng nội bộ sử dụng CA riêng, quản trị viên cần phân phối chứng chỉ gốc qua hệ thống quản lý thiết bị tập trung (MDM).
  • Chế độ thực thi nghiêm ngặt (Strict Mode): Tiêu chuẩn cho phép lựa chọn giữa chế độ linh hoạt (tự động quay lại UDP 53 nếu lỗi TLS) và chế độ nghiêm ngặt (ngắt kết nối nếu kênh mã hoá bị lỗi). Để ngăn chặn hoàn toàn nguy cơ tấn công hạ cấp, cổng VPN doanh nghiệp nên kích hoạt chế độ nghiêm ngặt.

Sự hoàn thiện của RFC 9462 (DDR) và RFC 9463 (DNR) mở ra kỷ nguyên mới cho an ninh mạng, biến mã hoá DNS trở thành tiêu chuẩn mặc định trong mọi kết nối truyền dẫn.