Giới thiệu DNS Resolver 1.1.1.1

Ngày hôm qua (1/4/2018) Cloudfare đã cho ra mắt DNS Resolver 1.1.1.1, một dịch vụ DNS giúp tăng tốc Internet. Dịch vụ này được phát triển nhằm mục đích khắc phục nền tảng Internet bằng cách xây dựng một dịch vụ DNS resolver công cộng nhanh hơn, an toàn hơn và bảo vệ sự riêng tư. Mọi người đều có thể sử dụng dịch vụ DNS resolver 1.1.1.1, đây là dịch vụ đầu tiên Cloudflare dành cho người tiêu dùng. Cloudflare sử dụng các địa chỉ IPv4 rất dễ nhớ cho resolver 1.1.1.1 và 1.0.0.1 do APNIC cung cấp.

Vai trò của resolver trong DNS

Vai trò của resolver trong DNS

Khi phân giải tên miền, một truy vấn sẽ di chuyển từ hệ thống đầu cuối (tức là một trình duyệt web) tới một dịch vụ DNS đệ quy. Nếu bản ghi DNS không nằm trong bộ nhớ cache cục bộ của dịch vụ, đệ quy sẽ truy vấn hệ thống phân cấp DNS đáng tin cậy để tìm thông tin địa chỉ IP mà bạn đang tìm kiếm. Đệ quy là một phần mà DNS 1.1.1.1 đảm nhiệm, nên nó cần phải nhanh và an toàn.

Mục tiêu của dịch vụ DNS Resolver 1.1.1.1

Mục tiêu của Cloudflare là muốn vận hành một resolver công cộng nhanh nhất thế giới, đồng thời nâng cao tiêu chuẩn bảo vệ sự riêng tư cho người dùng. Để tăng tốc mạng Internet, hãng đã cho xây dựng các trung tâm dữ liệu trên toàn cầu để giảm khoảng cách (tức là độ trễ) từ người dùng đến nội dung.

Xây dựng các trung tâm dữ liệu trên khắp thế giới

Chỉ trong tháng Ba, Cloudflare đã kích hoạt 31 trung tâm dữ liệu mới trên toàn cầu (Istanbul, Reykjavík, Riyadh, Macau, Baghdad, Houston, Indianapolis, Montgomery, Pittsburgh, Sacramento, Mexico City, Tel Aviv, Durban, Port Louis, Cebu City, Edinburgh, Riga, Tallinn, Vilnius, Calgary, Saskatoon, Winnipeg, Jacksonville, Memphis, Tallahassee, Bogotá, Luxembourg City, Chișinău) và giống như mọi thành phố khác trong mạng này, các trang web mới chạy DNS Resolver, 1.1.1.1 vào ngày đầu tiên.

Mạng lưới phân phối nhanh và rộng rãi này được xây dựng để phục vụ bất kỳ giao thức nào và hiện Cloudflare là nhà cung cấp DNS đáng tin cậy, nhanh nhất trên mạng Internet. Ngoài ra, hãng còn cung cấp dịch vụ Anycast cho hai trong ba mươi root nameserver (dịch vụ phân giải tên miền gốc) và cung cấp dịch vụ DNS đệ quy cho người dùng. Đệ quy có thể tận dụng các server đáng tin cậy (authoritative server) cùng vị trí để khiến việc tra cứu tất cả các tên miền nhanh hơn.

Mặc dù DNSSEC đảm bảo tính toàn vẹn dữ liệu giữa resolver và server đáng tin cậy, nhưng nó không bảo vệ sự riêng tư trong chặng “last mile” cho người dùng. Tuy nhiên, DNS Resolver 1.1.1.1, hỗ trợ các tiêu chuẩn bảo mật DNS mới - DNS-over-TLS và DNS-over-HTTPS, cung cấp mã hóa last mile để giữ các truy vấn DNS của người dùng riêng tư và không bị giả mạo.

Resolver bảo vệ sự riêng tư

Trước đây, đệ quy gửi tên miền đầy đủ tới bất kỳ bên trung gian nào để tìm đường đến các DNS gốc hoặc DNS đáng tin cậy. Điều này có nghĩa là nếu bạn truy cập vào trang web quantrimang.com, server gốc và server .com sẽ được truy vấn với tên miền đầy đủ (tức là quantrimang và phần com), mặc dù các server gốc chỉ cần chuyển hướng đệ quy sang .com (độc lập với trên miền đầy đủ). Việc truy cập dễ dàng vào tất cả các thông tin duyệt web cá nhân này qua DNS là mối bận tâm của nhiều người. Vấn đề này được giải quyết bằng một số gói phần mềm của resolver, mặc dù không phải ai cũng biết đến các giải pháp này.

Dịch vụ DNS Resolver, 1.1.1.1, cung cấp tất cả các cơ chế bảo vệ sự riêng tư DNS được xác định và đề xuất để sử dụng giữa stub resolver và resolver đệ quy. Stub resolver là một thành phần của hệ điều hành, "nói chuyện" với các resolver đệ quy. Bằng cách chỉ sử dụng Query Name Minimization DNS được xác định trong RFC7816, DNS resolver 1.1.1.1 khiến việc rò rì thông tin đến các DNS server trung gian ít đi, chẳng hạn như root và TLDs. Điều đó có nghĩa là DNS resolver 1.1.1.1, chỉ gửi đủ số tên để resolver biết câu hỏi tiếp theo.

DNS resolver, 1.1.1.1 cũng hỗ trợ các truy vấn TLS riêng tư trên cổng 853 (DNS over TLS), vì vậy nó có thể giữ các truy vấn ẩn từ các mạng lưới rò rỉ. Ngoài ra, bằng cách cung cấp giao thức DoH thử nghiệm (DNS over HTTPS), dịch vụ này đã cải thiện được cả tính riêng tư và tốc độ trong tương lai cho người dùng, vì trình duyệt và các ứng dụng khác có thể kết hợp lưu lượng truy cập DNS và HTTPS vào một kết nối duy nhất.

Với việc sử dụng negative cache (Negative cache là bộ nhớ cache lưu trữ những phản hồi "tiêu cực", nghĩa là các lỗi) trong DNS ngày càng tăng, như mô tả trong RFC8198, Cloudflare có thể tiếp tục giảm tải trên hệ thống DNS toàn cầu. Kỹ thuật này lần đầu tiên sử dụng negative cache cho các resolver có sẵn để giữ các thông tin tiêu cực (hoặc không tồn tại) trong một khoảng thời gian. Đối với các zone đã ký DNSSE và từ bản ghi NSEC trong bộ nhớ, resolver có thể tìm ra tên được yêu cầu không tồn tại mà không cần thực hiện thêm bất cứ truy vấn nào. Do đó, nếu bạn gõ wwwwwww dấu chấm và viết gì đó, sau đó wwww dấu chấm và viết gì đó, truy vấn thứ hai được trả lời là “no” rất nhanh (NXDOMAIN trong thế giới DNS). Negative cache chỉ làm việc với các zone đã ký DNSSEC, bao gồm root và 1400 trên 1544 TLD được ký trong ngày hôm qua.

Hãng sử dụng xác thực DNSSEC vì điều này cho phép đảm bảo rằng các câu trả lời là chính xác, với chi phí xác minh chữ ký thấp và tiết kiệm. Cloudflare luôn muốn người dùng tin tưởng vào câu trả lời họ nhận được và thực hiện tất các các kiểm tra có thể xảy ra để tránh các câu trả lời không tốt cho khách hàng.

Tuy nhiên, lỗi trong cấu hình DNSSEC do các nhà điều hành DNS gây ra có thể làm cho các miền bị cấu hình sai. Để khắc phục vấn đề này, Cloudflare sẽ cấu hình “Negative Trust Anchor” trên các miền có lỗi DNSSEC đã được xác định và sửa chữa, và xóa chúng khi các nhà vận hành sửa cấu hình. Điều này hạn chế ảnh hưởng của các miền DNSSEC hỏng bằng cách vô hiệu hóa xác thực DNSSEC tạm thời cho một miền cấu hình sai cụ thể, khôi phục quyền truy cập cho khách hàng cuối.

Dịch vụ DNS resolver 1.1.1.1 được hình thành như thế nào? 

Ban đầu, Cloudflare đã nghĩ về việc xây dựng resolver của riêng họ nhưng ý tưởng này sau đó đã bị từ chối vì tính phức tạp và những cân nhắc liên quan đến chiến lược go-to-market (GTM) - đưa được giá trị độc nhất đến với khách hàng và đạt được lợi thế cạnh tranh. Sau khi họ xem xét tất các resolver mã nguồn mở trên thị trường, từ danh sách dài này, họ đã thu hẹp sự lựa chọn xuống còn hai hoặc ba lựa chọn phù hợp với hầu hết các mục tiêu dự án. Cuối cùng, hãng đã quyết định xây dựng hệ thống trên Knot Resolver của CZ NIC, resolver này được phát hành cách đây hai năm rưỡi. Với việc lựa chọn Knot Resolver, tính đa dạng của phần mềm cũng được tăng lên. Điểm nổi bật là nó có nhiều tính năng cốt lõi hơn Cloudflare muốn. Với kiến trúc mô đun tương tự như OpenResty, Knot Resolver đang được sử dụng và phát triển.

Những điều thú vị khiến resolver của Cloudflare khác biệt

Các tính năng tiên tiến của dịch vụ DNS resolver 1.1.1.1 là:

  • Query Minimization RFC7816
  • DNS-over-TLS (Transport Layer Security - Bảo mật tầng truyền tải) RFC7858
  • Giao thức DoH DNS-over-HTTPS
  • Các câu trả lời “tiêu cực” RFC8198

Lưu ý, nhà phát triển chính của Knot Resolver, Marek Vavruša đã làm việc cho nhóm DNS Cloudflare trong hơn hai năm.

Cách khiến resolver nhanh hơn

Có nhiều yếu tố ảnh hưởng đến tốc độ của resolver. Đầu tiên và quan trọng nhất là: Liệu nó có thể trả lời từ bộ nhớ cache? Trong trường hợp nó có thể, thì thời gian để trả lời chỉ là thời gian "khứ hồi" cho một gói từ máy khách đến resolver.

Cách khiến resolver nhanh hơn

Khi resolver cần câu trả lời từ authority, mọi thứ trở nên phức tạp hơn một chút bởi vì resolver cần theo dõi hệ thống phân cấp DNS để phân giải tên miền, có nghĩa là nó phải nói chuyện với nhiều máy chủ đáng tin cậy bắt đầu từ server gốc. Chẳng hạn, resolver ở Buenos Aires, Argentina sẽ mất nhiều thời gian hơn để theo dõi hệ thống phân cấp DNS so với resolver ở Frankfurt, Đức bởi vì nó gần với các server đáng tin cậy. Để giải quyết vấn đề này, chúng ta phải điền trước bộ nhớ cache, ngoài băng tần cho các tên phổ biến, có nghĩa là khi một truy vấn thực sự được đưa vào, các phản hồi có thể được lấy ra từ bộ nhớ cache nhanh hơn nhiều.

Một vấn đề với mạng mở rộng là tỷ lệ truy cập bộ nhớ cache là tỷ lệ nghịch với số nút được định cấu hình trong mỗi trung tâm dữ liệu. Nếu chỉ có một nút trong trung tâm dữ liệu gần nhất, bạn có thể chắc chắn rằng khi hỏi cùng một truy vấn hai lần, bạn sẽ nhận được câu trả lời đã lưu trong bộ nhớ cache lần thứ hai. Tuy nhiên, vì có hàng trăm nút trong mỗi trung tâm dữ liệu, nên người dùng có thể nhận được phản hồi chưa được giải quyết, xuất hiện độ trễ cho mỗi yêu cầu. Một giải pháp phổ biến là đặt bộ cân bằng tải bộ nhớ cache ở phía trước tất cả các resolver, tuy nhiên cách này sẽ trở thành điểm chịu lỗi duy nhất (single-point-of-failure) cho toàn bộ hệ thống và Cloudflare không làm điều đó. Thay vì dựa vào một bộ nhớ cache tập trung, DNS resolver 1.1.1.1, sử dụng một bộ nhớ cache phân tán tiên tiến.

Chính sách dữ liệu

Cloudflare khẳng định sẽ không bao giờ lưu trữ địa chỉ IP khách hàng và chỉ sử dụng tên truy vấn để cải thiện hiệu suất DNS resolver (chẳng hạn như điền đầy đủ các bộ nhớ dựa trên các tên miền phổ biến trong một khu vực và/hoặc sau khi làm mờ).

Cloudflare sẽ không bao giờ lưu trữ bất kỳ thông tin nào trong nhật ký để xác định người dùng cuối và tất cả các bản ghi được thu thập này sẽ bị xóa trong vòng 24 giờ. Hãng khẳng định sẽ tiếp tục tuân theo chính sách bảo mật và đảm bảo rằng không có dữ liệu người dùng nào được bán cho nhà quảng cáo hoặc được sử dụng để nhắm mục tiêu đến người tiêu dùng.

Cách thiết lập DNS resolver 1.1.1.1

Xem bài viết Dịch vụ DNS 1.1.1.1 mới của Cloudflare, bảo mật hơn, lướt web nhanh hơn để biết cách thiết lập dịch vụ này. 

Đôi điều về địa chỉ của DNS resolver

Cloudflare đã làm việc với APNIC và sử dụng địa chỉ IPv4 1.0.0.1 và 1.1.1.1 (tất cả mọi người đồng ý địa chỉ này rất dễ nhớ). Nếu không có nhiều năm nghiên cứu và thử nghiệm, các địa chỉ này sẽ không thể đưa vào sản xuất.

Đối với IPv6, hãng đã chọn 2606:4700:4700::1111 và 2606:4700:4700::1001 cho dịch vụ này. Như các bạn đã biết thật không dễ dàng gì để lấy địa chỉ IPv6, tuy nhiên, họ đã chọn một địa chỉ chỉ sử dụng chữ số.

Nhưng tại sao lại sử dụng địa chỉ dễ nhớ? Có gì đặc biệt về resolver công cộng này? Điều cần thực hiện đầu tiên trong quá trình này là nơi đưa các con số này vào. Họ cần một con số được nhập vào bất cứ máy tính nào hoặc kết nối với thiết bị người dùng sử dụng để tìm ra dịch vụ resolver.

Bất cứ ai trên mạng Internet đều có thể sử dụng resolver công cộng này và bạn có thể xem cách thực hiện bằng cách truy cập https://1.1.1.1/ và nhấp vào GET STARTED.

Tại sao lại thông báo phát hành DNS resolver vào tháng 4?

Đối với hầu hết mọi người trên thế giới, chủ nhật là ngày 1/4/2018 (Ở mỹ theo cách viết ngày tháng sẽ là tháng trước ngày sau 4/1/2018). Bạn có thấy 4 và 1? Đó là lý do Cloudflare công bố vào ngày này, bốn số một (1.1.1.1). 

Xem thêm: 

Thứ Ba, 03/04/2018 15:47
53 👨 1.695