Mỗi lần bạn mở một trang web, thiết bị của bạn nhờ một máy chủ phân giải đổi tên miền thành địa chỉ IP. Câu hỏi đó là một bản ghi dạng văn bản thuần cho biết bạn sắp đi đâu, và mặc định nó được gửi tới máy chủ phân giải mà mạng của bạn đưa cho — thường là của nhà mạng.

Rò rỉ DNS là khi những truy vấn đó đi tới nơi bạn không định gửi. Trường hợp điển hình là một thiết bị được đặt dùng máy chủ phân giải riêng tư hoặc mã hóa, nhưng vì một trong vài lý do mang tính cấu trúc, vẫn cứ gửi một phần hoặc toàn bộ truy vấn về phía nhà mạng. Chẳng có gì hỏng thấy rõ cả, và đó chính là lý do rò rỉ tồn tại nhiều năm mà không ai để ý.

DNS thực ra để lộ những gì?

Tên miền, dấu thời gian và nguồn gửi — chừng đó là đủ để dựng lại một phiên lướt web.

DNS cổ điển chạy không mã hóa qua cổng 53. Bất kỳ ai nằm giữa bạn và máy chủ phân giải đều đọc được truy vấn, còn bản thân máy chủ phân giải thì thấy từng truy vấn một, gắn với kết nối của bạn. Nó không thấy trang cụ thể, nhưng tên miền thường mới là phần nhạy cảm.

Mã hóa chỉ đổi người nắm bản ghi này, chứ không đổi chuyện nó có tồn tại hay không:

Kênh truyền Có mã hóa? Ai thấy truy vấn
DNS thuần (cổng 53) Không Mạng của bạn, nhà mạng, máy chủ phân giải
DNS over TLS (DoT, cổng 853) Máy chủ phân giải bạn chọn
DNS over HTTPS (DoH, cổng 443) Máy chủ phân giải bạn chọn; mạng khó phân biệt với lưu lượng web hơn
DNSSEC Không — nó xác thực Giống DNS thuần; nó chứng minh câu trả lời là thật, chứ không giấu đi

DNSSEC là mục hay bị hiểu sai nhất. Nó ký các phản hồi để chúng không bị giả mạo. Nó hoàn toàn không đem lại tính bảo mật riêng tư nào.

Rò rỉ thực sự xảy ra như thế nào?

Sáu nguyên nhân mang tính cấu trúc bao trùm gần như toàn bộ.

Nguyên nhân Cơ chế
Định tuyến tách nhánh Một phần lưu lượng đi qua đường hầm, còn DNS đi qua giao diện mặc định
Không mang IPv6 Đường hầm chỉ xử lý IPv4, nên truy vấn IPv6 đi đường của nhà mạng
Hệ điều hành phân giải song song Windows có thể hỏi mọi giao diện cùng lúc và lấy câu trả lời đến trước
DoH ở mức trình duyệt Trình duyệt tự phân giải, độc lập với thiết lập hệ thống, theo cả hai chiều
Router ghi đè Router ép dùng máy chủ phân giải của nó qua DHCP hoặc chặn cổng 53
Cổng đăng nhập công cộng Mạng khách sạn hay sân bay cướp DNS để ép hiện trang đăng nhập của họ

Trường hợp trình duyệt đáng nói rõ, vì nó cắt theo cả hai chiều. Một trình duyệt có thiết lập DoH riêng có thể đi vòng qua máy chủ phân giải hệ thống mà bạn đã cấu hình kỹ càng, và ngược lại, một trình duyệt cấu hình đúng có thể che mất việc mọi thứ bên ngoài trình duyệt đó vẫn đang rò rỉ. Kiểm tra một bên rồi suy ra bên kia là lỗi kiểm tra phổ biến nhất.

Kiểm tra bằng cách nào?

Hãy kiểm tra riêng từng lớp, vì chúng có thể nói khác nhau.

Hệ điều hành — những máy chủ phân giải nào đang được cấu hình:

Hệ thống Lệnh
macOS scutil --dns | grep nameserver
Windows Get-DnsClientServerAddress
Linux (systemd-resolved) resolvectl status
Linux (nói chung) cat /etc/resolv.conf

Máy chủ nào thực sự đã trả lời — cấu hình và hành vi thực tế là hai chuyện khác nhau:

dig +short whoami.akamai.net trả về địa chỉ IP của máy chủ phân giải đã thay bạn tra cứu. Hãy đối chiếu nó với máy chủ mà bạn trông đợi.

Mức trình duyệt: mở thiết lập DNS an toàn của trình duyệt và ghi lại xem nó có bật không và đang chọn nhà cung cấp nào. Sau đó mở một trang kiểm tra rò rỉ DNS ngay trong trình duyệt ấy. Nếu trang đó báo một máy chủ khác với kết quả kiểm tra bằng dòng lệnh, tức là trình duyệt đang tự phân giải.

IPv6: lặp lại phép kiểm tra với một truy vấn chỉ dùng IPv6. Đường hầm chỉ mang IPv4 là nguyên nhân phổ biến nhất của rò rỉ một phần.

Đọc kết quả như thế nào?

Hãy so chủ sở hữu của máy chủ phân giải với cái bạn trông đợi, chứ đừng so với một danh sách địa chỉ "tốt".

Quan sát được Cách hiểu
Máy chủ phân giải thuộc nhà mạng, trong khi bạn đã đặt máy chủ khác Rò rỉ
Nhiều máy chủ, một trong số đó là của nhà mạng Rò rỉ một phần — truy vấn bị chia đôi đường
IPv4 cho ra máy chủ đúng như mong đợi, IPv6 cho ra nhà mạng Rò rỉ IPv6
Trình duyệt và hệ thống báo hai máy chủ khác nhau Chưa chắc là rò rỉ, nhưng có hai đường độc lập cần kiểm
Máy chủ nằm ở một nước bất ngờ Thường là bình thường — máy chủ anycast trả lời từ điểm gần nhất
Máy chủ là địa chỉ nội bộ của router Chưa kết luận được; router chuyển tiếp lên trên, nên phải xem thiết lập của chính router

Dòng cuối cùng đó hay bẫy người dùng mạng gia đình. Kết quả 192.168.1.1 chỉ cho bạn biết router đã trả lời. Còn router chuyển tiếp đi đâu lại là câu hỏi khác, nằm trong phần thiết lập WAN hoặc DNS của router.

Sửa được đến đâu?

Sửa một chỗ rò rỉ DNS chỉ thay đổi chuyện ai biết được bạn tra những tên miền nào. Nó không làm cho lần truy cập trở nên riêng tư, và thổi phồng điều này chính là cách chủ đề này hay bị trình bày sai nhất.

Sau khi tên miền được phân giải, thiết bị của bạn mở một kết nối tới địa chỉ IP đó. Bất kỳ ai quan sát trên đường truyền đều thấy địa chỉ đích, và trong hầu hết kết nối TLS, tên máy chủ được truyền không mã hóa ngay trong bước bắt tay, trừ khi cả hai đầu đều dùng Encrypted Client Hello. Cả hai tín hiệu đó đều nhận diện được trang web mà chẳng cần đến DNS.

Nên tóm lại một cách trung thực thì phạm vi hẹp nhưng có thật: DNS mã hóa tới một máy chủ phân giải do bạn chọn sẽ gỡ cái danh sách văn bản thuần liệt kê mọi tên miền bạn ghé thăm ra khỏi mạng nội bộ và nhật ký của nhà mạng, rồi chuyển danh sách ấy sang cho bên vận hành máy chủ phân giải. Nó dời niềm tin đi chỗ khác chứ không xóa bỏ niềm tin — nên câu hỏi thực sự quan trọng là ai vận hành máy chủ đó, và họ ghi lại những gì.

Câu hỏi liên quan