DNSSEC là gì? Tại sao nó đem lại lợi ích và quan trọng đối với DNS

DNSSEC là gì? Tại sao nó đem lại lợi ích và quan trọng đối với DNS

13/01/2021

Nếu bạn quan tâm DNSSEC là gì, theo dõi bài dưới đây để hiểu về DNSSEC và những lợi ích mà nó đem lại

DNSSEC là gì

Trong bài này bạn cần có kiến thức về DNS, cách hoạt động của DNS. Nếu chưa biết hay không nhớ thì đọc lại tại đây để củng cố nhé.

1. Sự thiếu bảo mật từ DNS

DNS được thiết kế vào những năm 1980 khi Internet còn nhỏ, yếu tố về bảo mật không được chú trọng. Vậy nên, khi Recursive Resolver (trình phân giải đệ quy) query tới Authoritative Nameserver thì Resolver không có cách nào để xác minh tính xác thực của Response. Resolver chỉ có thể kiểm tra Response đến từ cùng địa chỉ IP, nơi mà Resolver đã gửi query gốc.

Nhưng nếu chỉ dựa vào địa chỉ Source IP của Response thì không phải cơ chế xác thực mạnh. Bởi địa chỉ Source IP của packet DNS Response rất dễ bị giả mạo. Khi DNS còn mới , Resolver không dễ để phát hiện ra các Response giả mạo trong các queries của nó. Attacker có thể dễ dàng trở thành Authoritative Server và chuyển hướng người dùng tới các trang web độc hại

Tìm hiểu thêm:

Recursive Resolvers sẽ cache lại DNS data vừa nhận được từ Authoritative Nameservers để tăng tốc độ phân giải. Nếu một Stub Resolver yêu cầu DNS data thì Recursive Resolver sẽ lấy trong cache và đưa cho nó. Recursive Resolver có thể trả lời ngay mà không cần query thêm lần nữa lên các Authoritative Servers.

Tuy nhiên việc phụ thuộc vào cache cũng có một nhược điểm khá lớn. Nếu attacker gửi DNS response giả mạo mà được chấp nhận bởi Recursive Resolver thì cache của Recursive Resolver sẽ bị nhiễm độc. Sau đó Resolver sẽ trả lại các DNS data nhiễm độc cho các thiết bị khác query tới

2. DNSSEC là gì?

Các kỹ sư trong IETF (Internet Engineering Task Force), tổ chức chịu trách nhiệm về các giao thức tiêu chuẩn DNS, từ lâu đã nhận ra lỗ hổng trong việc xác thực DNS. Họ bắt tay vào tìm giải pháp vào những năm 1990 và kết quả là DNS Security Extensions (DNSSEC) ra đời

DNSSEC củng cố việc xác thực trong DNS bằng cách sử dụng chữ ký số (Digital Signatrures) dựa trên public key cryptography. Với DNSSEC không phải các queries và responses được ký mã hóa mà đúng hơn là DNS data được ký bởi owner của data

Mỗi DNS zone có một cặp public/private key. Zone owner sử dụng private key của mình để ký DNS data trong zone và tạo ra một chữ ký số trên data đó. Đúng với cái tên, “private key” sẽ được giữ bí mật bởi zone owner. Public key được công khai trong zone cho bất cứ ai có thể lấy. Bất kỳ Recursive Resolver nào tìm kiếm data trong zone cũng lấy public key của zone đó để xác thực tính xác thực của DNS data. Resolver xác nhận chữ ký số thông qua DNS data hợp lệ. Như vậy DNS data được coi là hợp pháp và trả về cho user. Nếu chữ ký không được xác thực. Resolver sẽ giả định đây là cuộc tấn công, loại bỏ data và báo lỗi về cho người dùng

2.1 Hai tính năng quan trọng của DNSSEC bổ sung vào DNS

Data Origin Authentication: cho phép Resolver xác minh bằng mật mã để biết data mà nó nhận được thực sự đến từ zone có data gốc

Data Integrity Protection: cho phép Resolver biết được data không bị sửa đổi khi di chuyển bởi nó được zone owner ký bằng private key

Quá trình giao tiếp giữa DNSSEC

Quá trình giao tiếp giữa DNSSEC

3. Trusting DNSSEC keys

Mỗi zone đều công khai public key của nó, Recursive Resolver sẽ lấy nó để xác thực data trong zone. Nhưng làm thế nào Resolver có thể đảm bảo đó là public key của zone? Public key của zone được ký, giống như data trong zone. Tuy nhiên, public key không được ký bởi private key của zone đó mà được ký bởi private key của parent zone.

Ví dụ, public key của zone “icann.org” được ký bởi “org” zone. Giống như DNS zone parent chịu trách nhiệm cung cấp cho child zone danh sách Authoritative nameserver. Zone parent cũng sẽ chịu trách nhiệm về việc xác thực public key của child zone. Public key của các zone đều được ký bởi parent zone của chúng, ngoại trừ root zone

Vậy nên public key của root zone là điểm quan trọng cho việc xác thực DNS data. Nếu Resolver tin tưởng và public key của root zone. Nó sẽ tin tưởng vào public key của các top-level zone được ký bởi private key của root. Thực tế thì parent zone không trực tiếp ký vào child zone mà theo cơ chế phức tạp hơn.

Trình tự các key mật mã ký vào các key mật mã khác được gọi là “chain of trust”. Public key bắt đầu của chain of trust được gọi là “trust anchor”. Resolver có danh sách của “trust anchor”, đây là public key cho các zone khác nhau mà resolver tin tưởng. Hầu hết resolver được cấu hình chỉ với một trust anchor: public key cho root zone. Bằng cách tin tưởng vào key ở cấp đầu của DNS hierarchy, resolve có thể xây dựng chain of trust đến bất kỳ DNS name space nào, miễn là mọi zone đều được ký

4. Xác thực và ký với DNSSEC

Kích hoạt xác thực DNSSEC trong Recursive Resolver khá dễ dàng. Thực tế, nó được hỗ trợ gần như tất cả Resolvers trong nhiều năm. Để bật nó lên chỉ cần thay đổi vài dòng trong file cấu hình của resolver.

Việc ký các zone với DNSSEC cũng chỉ qua vài bước. Nhưng có hàng triệu zone cần ký thông tin DNS để user của resolver nhận được những data tốt. Hầu như tất cả authoritative nameserver đều hỗ trợ ký zone và nhiều DNS hosting provider cũng hỗ trợ DNSSEC.

Một chuỗi liên tục của các zone đã ký bắt đầu từ root zone. Chúng cho phép resolver xây dựng chain of trust từ root zone để xác thực data. Ví dụ, để triển khai DNSSEC trong “icann.org” zone thì cần phải ký với “org” zone và root zone.

Để hoàn thành triển khai DNSSEC trong zone: public key mới của zone được ký sẽ gửi đến parent zone. Như đã mô tả trước đó, parent zone ký lên public key của child zone và cho phép chain of trust xây dựng từ parent đến child

5. Các bước tiếp theo với DNSSEC là gì

Khi DNSSEC phát triển, DNS có thể trở thành nền tảng cho các giao thức khác cần lưu trữ an toàn dữ liệu. Các giao thức mới được phát triển dựa trên DNSSEC nên chỉ các hoạt động trong zone được ký. Ví dụ, DNS-based Authentication of Named Entities (DANE) cho phép công khai key của Transport Layer Security (TLS) trong zone cho các ứng dụng như mail transport. DANE cung cấp các xách minh public key mới không dựa vào certificate authorities.

Xem thêm:

Tóm lại

Giao thức DNS mới ra đời có khá nhiều lỗi bảo mật, khiến cho attacker có thể dễ dàng kiểm soát. Để khắc phục những lỗi ở DNS, DNSSEC ra đời với 2 cơ chế chính là Data Origin AuthenticationData Integrity Protection. Giúp người dùng có thể an tâm hơn khi nhận được dữ liệu từ DNS

Hy vọng bài viết vừa rồi đã cung cấp thêm cho bạn cái nhìn về DNSSEC, hiểu được DNSSEC là gì? Nếu còn thắc mắc gì hãy comment cùng thảo luận nhé!!

Theo ICANN

Bài viết liên quan
Không có bài viết liên quan
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments