DNS mã hoá DoH, DoT, DoQ: vì sao DNS thường dễ bị giả mạo

DNS thường gửi tên miền dạng chữ rõ nên dễ bị đọc, chặn hoặc trả về địa chỉ giả. Tìm hiểu DoH, DoT, DoQ và cách GreenTunnel chọn máy chủ DNS.

Trước khi tải được bất cứ thứ gì, điện thoại phải biết example.com nằm ở địa chỉ IP nào. Việc tra cứu đó gọi là DNS, giống như tra danh bạ trước khi gọi điện. Bình thường, danh bạ này do nhà mạng cung cấp, và câu hỏi được gửi đi không hề mã hoá. Nghĩa là ai đứng trên đường truyền cũng đọc được bạn đang tìm trang nào, và có thể trả lời sai.

DNS thường hoạt động thế nào và hở ở đâu

DNS truyền thống dùng UDP cổng 53. Câu hỏi và câu trả lời đi ở dạng chữ rõ, không có chữ ký nào chứng minh câu trả lời là thật. Từ đó sinh ra mấy kiểu vấn đề:

  • Bị đọc: nhà mạng, hoặc ai đó trên cùng mạng Wi-Fi, thấy được mọi tên miền bạn tra cứu.
  • Bị giả mạo: máy chủ DNS (hoặc thiết bị chen giữa) trả về một IP khác, thường dẫn tới trang cảnh báo hoặc một địa chỉ không phản hồi. Kỹ thuật này hay được gọi là DNS poisoning hoặc DNS hijacking.
  • Bị chặn: câu hỏi không được trả lời, hoặc nhận về “tên miền không tồn tại”.

Chặn bằng DNS là cách đơn giản nhất mà các mạng thường dùng để chặn trang web, nên DNS mã hoá thường là bước đầu tiên để vào lại được trang.

Sơ đồ so sánh: DNS thường gửi câu hỏi dạng chữ rõ tới DNS nhà mạng, có thể bị đọc và trả về IP sai. DNS mã hoá gửi câu hỏi đã mã hoá tới Cloudflare, Google hoặc Quad9 và nhận IP thật
DNS mã hoá: nhà mạng không còn đọc hay sửa được câu hỏi tên miền của bạn.

DoH, DoT và DoQ khác nhau thế nào

Cả ba đều làm cùng một việc: bọc câu hỏi DNS trong một kênh mã hoá có xác thực, nên chỉ máy chủ DNS bạn chọn đọc được và câu trả lời không bị sửa giữa đường. Khác nhau ở “lớp vỏ”:

Giao thứcChạy trênCổngĐặc điểm
DoH (DNS over HTTPS)HTTPS443Trông giống lưu lượng web thường, khó bị tách riêng để chặn
DoT (DNS over TLS)TLS853Gọn, nhưng cổng riêng nên dễ nhận ra hơn
DoQ (DNS over QUIC)QUIC (UDP)853Mới hơn, kết nối nhanh, nhưng chưa có trong danh sách máy chủ dựng sẵn của GreenTunnel

Với người dùng thông thường, điều quan trọng không nằm ở giao thức nào “xịn” hơn, mà là có ít nhất một máy chủ trả lời được trên mạng của bạn. Đó là lý do GreenTunnel dựng sẵn cả DoH lẫn DoT.

Máy chủ DNS có sẵn trong GreenTunnel

Trong Cài đặt → DNS, bạn chọn một trong các mục sau. Mỗi nhà cung cấp hiện loại giao thức, tên máy chủ và IP khởi động đầu tiên:

Nhà cung cấpLoạiĐịa chỉIP khởi động
CloudflareDoHhttps://cloudflare-dns.com/dns-query1.1.1.1, 1.0.0.1
GoogleDoHhttps://dns.google/dns-query8.8.8.8, 8.8.4.4
Quad9DoTdns.quad9.net:8539.9.9.9
Cài đặt GreenTunnel, phần DNS với các lựa chọn Tự động, Cloudflare, Google và Quad9, mỗi dòng ghi loại giao thức, tên máy chủ và IP
Phần DNS trong Cài đặt. Thay đổi được áp dụng ngay, kể cả khi VPN đang bật.

IP khởi động là gì?

Có một nghịch lý nhỏ: để dùng cloudflare-dns.com, máy phải biết địa chỉ của chính nó, mà hỏi DNS nhà mạng thì có thể bị giả mạo ngay từ bước này. GreenTunnel tránh vấn đề bằng cách kết nối thẳng tới các IP khởi động (bootstrap) đã ghi sẵn, như 1.1.1.1 hay 9.9.9.9. DNS nhà mạng không bao giờ được hỏi.

Chế độ “Tự động”

Nếu chọn Tự động, GreenTunnel dùng cả ba máy chủ theo thứ tự: Cloudflare trước, rồi Google, rồi Quad9. Khi một máy chủ không trả lời được (ví dụ IP của nó bị chặn), engine chuyển sang máy chủ kế tiếp, và tiếp tục dùng máy chủ vừa trả lời được cho các lần sau.

Sơ đồ chế độ Tự động: câu hỏi DNS đi tới Cloudflare DoH, nếu không trả lời được thì chuyển sang Google DoH, rồi Quad9 DoT. Máy chủ trả lời được sẽ được dùng tiếp
Thứ tự dự phòng trong chế độ Tự động.

Xem DNS đang hoạt động ra sao

Thẻ Trạng thái trên màn hình chính cho biết hai điều. Dòng DNS nhà mạng chuyển sang “Không dùng” khi VPN bật. Dòng DNS mã hoá hiện tên nhà cung cấp và giao thức, ví dụ “Cloudflare · DOH”, nhưng chỉ sau khi đã có truy vấn thật được trả lời. Trước đó, ứng dụng hiện “…” chứ không đoán. Chạm vào biểu tượng ⓘ để xem máy chủ đang trả lời ngay lúc này.

Thẻ Trạng thái trên màn hình chính với chú thích ⓘ đang mở, giải thích máy chủ DNS mã hoá đang trả lời
Chú thích ⓘ giải thích từng dòng trạng thái.
Thông báo trạng thái của GreenTunnel trên Android, mở rộng, hiện DNS đang dùng, kỹ thuật và lưu lượng
Trên Android, thông báo trạng thái cũng cho biết DNS đang dùng.

DNS mã hoá không làm được gì

  • Không giấu IP của bạn, và nhà mạng vẫn thấy bạn kết nối tới địa chỉ IP nào. Xem VPN cục bộ và VPN từ xa.
  • Không vượt được bộ lọc đọc SNI. Có đúng địa chỉ rồi mà kết nối vẫn bị cắt thì cần tách gói tin đầu tiên.
  • Không vượt được chặn theo IP. Kiểm tra URL sẽ cho bạn biết khi gặp trường hợp này.
  • Nhà cung cấp DNS vẫn thấy câu hỏi. Bạn chuyển việc tra cứu từ nhà mạng sang Cloudflare, Google hoặc Quad9, nên hãy chọn bên bạn tin tưởng hơn. GreenTunnel gửi truy vấn thẳng từ máy bạn tới máy chủ đó, không xem cũng không lưu lại.

Khi bạn dùng Proxy Route, DNS vẫn đi qua DNS mã hoá của engine, và với kết nối qua proxy, tên miền được gửi cho proxy để nó tự phân giải.

Câu hỏi thường gặp

Tôi nên chọn Cloudflare, Google hay Quad9?

Nếu không chắc, hãy để Tự động: GreenTunnel sẽ tự chuyển sang máy chủ khác khi một máy chủ bị chặn. Nếu bạn tin một nhà cung cấp hơn vì chính sách quyền riêng tư của họ, cứ chọn riêng nhà cung cấp đó.

Đổi DNS trong cài đặt Wi-Fi có giống vậy không?

Không hẳn. Đổi sang 1.1.1.1 trong cài đặt Wi-Fi vẫn dùng DNS thường, chưa mã hoá, nên câu hỏi vẫn bị đọc và có thể bị chặn giữa đường. DoH và DoT mới mã hoá câu hỏi.

Trình duyệt đã có “DNS bảo mật”, tôi còn cần GreenTunnel không?

DNS bảo mật trong trình duyệt chỉ áp dụng cho trình duyệt đó. GreenTunnel mã hoá DNS cho mọi ứng dụng trên máy, và còn xử lý được bộ lọc SNI.

GreenTunnel có lưu lịch sử tra cứu DNS của tôi không?

Không. Chúng tôi không thu thập tên miền, nội dung hay lưu lượng của bạn. Danh sách kết nối trong Requester chỉ nằm trên máy bạn, trong một bộ nhớ vòng có giới hạn, bản ghi cũ tự bị thay bằng bản ghi mới.

← Tất cả bài viết