DNSSEC là gì: Chuỗi tin cậy chữ ký số bảo vệ hệ thống DNS

DNSSEC là gì? Đây là bộ mở rộng của hệ thống tên miền DNS, bổ sung chữ ký số vào mọi bản ghi trả về để người dùng xác minh được dữ liệu đó đến đúng từ chủ sở hữu tên miền, chưa bị sửa hay giả mạo trên đường đi. Bài viết này giải thích cơ chế chuỗi tin cậy, vai trò từng loại bản ghi mới, và DNSSEC bảo vệ được gì cũng như không bảo vệ được gì.

Sơ đồ trust anchor của DNSSEC với chuỗi tin cậy từ khoá gốc xuống các tên miền con

Vì sao DNS cần được ký

DNS khi thiết kế ban đầu chỉ là một hệ phân tán co giãn, không có bất kỳ tính năng bảo mật nào. Mọi câu trả lời đều được tin tuyệt đối, kể cả khi đến từ một máy trung gian đã bị xâm nhập. Kẻ tấn công chèn được một bản ghi giả vào bộ nhớ đệm của trình phân giải (cache poisoning) là người dùng sẽ bị đưa tới website giả mà không hề hay biết. RFC 3833 tổng hợp các kiểu tấn công đã biết vào DNS và cách DNSSEC xử lý từng kiểu.

DNSSEC không phải là cơ chế mã hoá dữ liệu trên đường truyền. Nó cho ba đảm bảo cụ thể: xác thực nguồn gốc dữ liệu, xác nhận chắc chắn rằng một tên miền hoặc một loại bản ghi không tồn tại, và toàn vẹn dữ liệu. Nó không bảo đảm tính khả dụng và không bảo mật tính bảo mật của nội dung. Mọi phản hồi DNSSEC đều được xác thực nhưng không được mã hoá, nên người quan sát đường truyền vẫn đọc được tên miền nào đang được tra cứu.

Chuỗi tin cậy hoạt động ra sao

DNSSEC dựa trên hệ mật mã khóa công khai và một chuỗi tin cậy bắt đầu từ vùng gốc DNS. Các bản ghi trong vùng được ký số bằng khóa riêng của chủ sở hữu; khóa công khai tương ứng được công bố trong bản ghi DNSKEY. Trình phân giải dùng khóa công khai đó để kiểm tra chữ ký RRSIG đi kèm câu trả lời, xác nhận dữ liệu khớp nguyên vẹn với thứ chủ vùng đã công bố.

Điểm mấu chốt là khóa công khai của vùng con lại được chứng thực bởi vùng cha thông qua bản ghi DS. Chuỗi này đi từ khóa gốc đã được cài sẵn trong trình phân giải, xuống vùng top-level, rồi xuống từng vùng con cho tới tên miền cụ thể. Chủ sở hữu tên miền tạo cặp khóa của mình rồi tải lên bảng điều khiển tại nhà đăng ký; nhà đăng ký đẩy khóa đó tới đơn vị vận hành vùng, đơn vị này ký và công bố.

Minh hoạ chuỗi NSEC và NSEC3 trong DNSSEC khi truy vấn một tên không tồn tại

Thông tin bổ sung về toàn bộ đặc tả DNSSEC hiện hành nằm trong RFC 9364, kèm các đặc tả lõi là RFC 4033, RFC 4034 và RFC 4035.

Các loại bản ghi mới

Bản ghi Vai trò
RRSIG Chứa chữ ký số của một tập bản ghi trả lời
DNSKEY Chứa khóa công khai dùng để kiểm tra RRSIG
DS Chứng thực DNSKEY của vùng con, đặt trong vùng cha
NSEC Liên kết tới tên kế tiếp, chứng minh một tên không tồn tại
NSEC3 Phiên bản NSEC dùng tên băm, chặn liệt kê tên miền
NSEC3PARAM Tham số để máy chủ tính bản ghi NSEC3 cần trả về

Điểm đáng chú ý là NSEC3: với NSEC thuần, kẻ tấn công có thể đọc chuỗi bản ghi và liệt kê toàn bộ tên miền đang tồn tại trong vùng. NSEC3 sắp xếp chuỗi theo giá trị băm của tên, nên thứ tự không còn lộ danh sách thật. Đổi lại, máy chủ phải tính toán thêm khi trả lời, và quản trị viên cần xử lý việc luân chuyển khóa phức tạp hơn.

Ngoài bản ghi A và AAAA, DNSSEC bảo vệ được mọi loại dữ liệu được công bố trong DNS: bản ghi TXT, MX, và cả các bản ghi tham chiếu tới chứng thư khóa mật mã như CERT, vân tay SSHFP, khóa công khai IPsec, và bản ghi TLSA cho TLS. Nói cách khác, DNSSEC là nền móng để các hệ thống bảo mật khác tự xác thực mà không cần thêm một lớp phân phối tin cậy riêng.

Sơ đồ kiểm tra bản ghi tài nguyên DNSSEC bằng cặp bản ghi DNSKEY và DS

DNSSEC không làm được gì

Có hai hiểu lầm phổ biến cần loại bỏ ngay. Thứ nhất, DNSSEC không bảo mật nội dung truy vấn của bạn. Thứ nhì, DNSSEC không bảo vệ chống tấn công từ chối dịch vụ, vì tấn công viễn thông vào hạ tầng không nằm trong phạm vi của nó. Nếu cần cả hai, bạn phải kết hợp DNSSEC với DNS over HTTPS và DNS over TLS.

DNSSEC cũng không cứu được bạn khỏi những giả định sai về tên miền, ví dụ ý tưởng rằng tên công ty kèm đuôi com luôn là tên miền chính thức của công ty. Nó chỉ xác thực rằng dữ liệu đến đúng từ chủ sở hữu hay không tồn tại, không thay đổi nghĩa của dữ liệu đó.

Tình hình triển khai

Việc áp dụng DNSSEC vẫn chưa đều. Theo số liệu công bố, chỉ khoảng 45 phần trăm các tên miền cấp quốc gia đang vận hành DNSSEC, và ICANN đã bắt buộc áp dụng cho mọi tên miền cấp cao dùng chung mới từ năm 2014. Ở tầng tên miền thứ hai, mức độ áp dụng trên com và net còn ở mức vài phần trăm, trong khi một số ccTLD như nl, cz, no và se đã vượt ngưỡng nửa số tên miền. Ngay cả các tên miền lớn của các hãng công nghệ cũng từng chưa ký.

Việc triển khai chậm có những nguyên nhân kỹ thuật thực tế: phải thiết kế chuẩn tương thích ngược và chịu tải quy mô Internet; phải ngăn liệt kê tên miền khi cần; phải triển khai trên rất nhiều phần mềm máy chủ và máy trình phân giải; còn có bất đồng giữa các bên về việc ai giữ khoá gốc; và DNSSEC đơn giản là phức tạp khiến nhiều đội ngũ trì hoãn.

Có một điểm cần lưu ý khi thiết kế: chữ ký số làm câu trả lời DNS nặng hơn và tốn CPU hơn để kiểm tra. Với truy vấn tới tên không có DNSSEC trong sổ tay tin cậy, trình phân giải phải phân biệt vùng không ký với lỗi chữ ký hỏng, và cả hai đều được gọi chung là SERVFAIL trong nhiều triển khai. Đây là lý do DNSSEC đòi hỏi kỷ luật vận hành cao hơn một dịch vụ DNS bình thường.

Tóm lại, DNSSEC giải quyết đúng tập tin hợp đồng tin cậy của DNS một cách chuẩn hoá và tương thích ngược, đổi lại là độ phức tạp vận hành và việc mọi thao tác truy vấn đều phải kiểm tra chữ ký. Nếu bạn muốn tham khảo sâu hơn, hãy xem trang DNSSEC của ICANN hoặc tài liệu triển khai của Cloudflare tại hướng dẫn DNSSEC.

Tôi là một lập trình viên IOS. Code chính là IOS nhưng thỉnnh thoảng vẫn đá sang Android hoặc web. Mặc dù không quá thông thạo nhưng tôi sẽ chia sẻ những kiến thức mà mình đã tìm hiểu, áp dụng qua.

Bài viết liên quan

DNS over HTTPS là gì: Bảo mật và riêng tư cho DNS

DNS over HTTPS (viết tắt DoH) là cách thực hiện truy vấn phân giải tên miền thông qua giao thức HTTPS thay vì gửi truy vấn DNS dạng văn bản…

Xem thêm

Mạng mesh không dây: Kiến trúc tự tổ chức và tự phục hồi mạnh mẽ

Mạng mesh không dây là gì? Đây là một mạng truyền thông gồm các nút radio được tổ chức theo topo lưới, trong đó mỗi thiết bị vừa đóng vai…

Xem thêm

Ray tracing là gì: Nguyên lý, thuật toán và phần cứng chuyên dụng

Ray tracing là kỹ thuật đồ hoạ máy tính mô phỏng cách ánh sáng lan truyền trong không gian để tạo ra hình ảnh. Nhờ đó, hiệu ứng phản xạ,…

Xem thêm
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất