Rò rỉ WebRTC là gì
WebRTC là công nghệ trình duyệt đứng sau gọi video, trò chuyện thoại và chia sẻ màn hình. Để kết nối trực tiếp hai thiết bị, nó phải biết các địa chỉ có thể tiếp cận chúng, nên nó thu thập ứng viên: địa chỉ mạng cục bộ, địa chỉ tìm được qua máy chủ STUN công khai, và địa chỉ relay.
Bình thường điều này vô hại. Rò rỉ xảy ra khi trình duyệt báo địa chỉ lẽ ra không được lộ, thường nhất là địa chỉ thật của kết nối nhà bạn trong khi phần còn lại đi qua VPN. Trang web thấy địa chỉ VPN từ yêu cầu thường và địa chỉ thật từ WebRTC, hai địa chỉ không khớp.
Đây không phải mã độc và cũng không hiếm. Nó xảy ra vì lưu lượng WebRTC có thể đi đường khác với phần còn lại của trình duyệt, nhất là khi VPN chỉ bao phủ một số tuyến hoặc chỉ IPv4.
Kiểm tra này hoạt động thế nào
Kiểm tra mở một kết nối WebRTC trong trình duyệt, trỏ tới máy chủ STUN công khai và ghi lại các ứng viên nhận được. Mỗi ứng viên được mô tả theo loại và địa chỉ: ứng viên host là địa chỉ cục bộ, ứng viên server-reflexive là địa chỉ công khai nhìn từ ngoài, còn ứng viên relay đến từ máy chủ TURN.
Kết quả sau đó được so với các địa chỉ IP mà yêu cầu web thường cho kết nối của bạn. Nếu địa chỉ công khai WebRTC khớp, không có sai lệch để báo. Nếu không khớp, trang liệt kê nó để bạn quyết định địa chỉ đó có nên tiếp cận được không. Địa chỉ cục bộ hiện dưới dạng tên .local ngẫu nhiên do chính trình duyệt tạo ra để tránh lộ địa chỉ mạng riêng tư.
Kiểm tra có giới hạn. Nó kiểm tra tín hiệu WebRTC, IPv6 và múi giờ trong trình duyệt. Nó chưa kiểm tra DNS: kiểm tra rò rỉ DNS cần phương pháp khác, giải thích ở dưới.
Cách kiểm soát WebRTC theo từng trình duyệt
Không có một công tắc chung cho mọi trình duyệt. Các lựa chọn dưới đây là những gì mỗi trình duyệt thực sự có. Tắt WebRTC khiến gọi video trong trình duyệt ngừng hoạt động, nên chỉ đổi khi bạn thật sự cần bảo vệ.
Chrome và Edge
Hai trình duyệt này không có thiết lập địa chỉ WebRTC cho người dùng. Quản trị viên có thể đặt chính sách WebRtcIPHandlingPolicy để hạn chế hoặc tắt UDP không qua proxy, và tiện ích mở rộng có thể chặn ứng viên WebRTC nhưng cần quyền sửa trang. Cách đáng tin nhất với Chrome hoặc Edge là ứng dụng VPN chặn lưu lượng ra ngoài đường hầm.
Firefox
Mở about:config, tìm media.peerconnection.enabled và đặt thành false để tắt hẳn WebRTC. Lựa chọn trung gian là media.peerconnection.ice.no_host, ngừng chia sẻ địa chỉ cục bộ mà vẫn giữ cuộc gọi. Đây là tùy chọn nâng cao và có thể bị đặt lại khi làm mới trình duyệt.
Safari
Safari mặc định ẩn địa chỉ cục bộ: nó thay bằng tên mDNS như chuỗi ngẫu nhiên kết thúc bằng .local. Không có thiết lập người dùng đơn giản để tắt WebRTC trong Safari, nên địa chỉ công khai vẫn có thể được thu qua máy chủ STUN nếu trình duyệt được phép dùng.
Brave
Brave có chính sách xử lý IP WebRTC trong cài đặt, với lựa chọn như chỉ dùng giao diện công khai mặc định hoặc tắt UDP không qua proxy. Chọn mục nghiêm ngặt hơn sẽ ngăn WebRTC lộ địa chỉ ngoài đường proxy hoặc VPN của bạn.
Ứng dụng VPN
Nhiều ứng dụng VPN có tùy chọn bảo vệ WebRTC hoặc chống rò rỉ, và một số có kill switch ngắt lưu lượng khi đường hầm hỏng. Hãy kiểm tra cài đặt và tài liệu của ứng dụng. Nếu ứng dụng không có, hãy hạn chế WebRTC trong trình duyệt.
Rò rỉ IPv6
VPN chỉ xử lý IPv4 có thể để lưu lượng IPv6 đi theo đường gốc. Nếu mạng của bạn có IPv6 hoạt động, các trang hỗ trợ nó có thể được tiếp cận qua nhà mạng trong khi IPv4 đi qua đường hầm, và hai địa chỉ trỏ tới hai mạng khác nhau.
Phần tóm tắt quyền riêng tư chỉ ra điều này khi địa chỉ IPv4 và IPv6 thuộc các mạng khác nhau. Cách sửa tùy ứng dụng: tìm tùy chọn IPv6 trong cài đặt VPN, hoặc tắt IPv6 trên kết nối khi đường hầm không mang nó. Chặn hẳn IPv6 là đánh đổi, vì dịch vụ chỉ IPv6 sẽ không truy cập được.
Rò rỉ DNS
DNS là hệ thống chuyển tên thành địa chỉ. Khi bạn mở một trang, thiết bị hỏi resolver xem địa chỉ nào thuộc tên đó. Nếu câu hỏi được gửi tới resolver của nhà mạng thay vì qua đường hầm, nhà mạng thấy mọi tên bạn tra dù lưu lượng web đã mã hóa.
DNS mã hóa, dùng DNS-over-HTTPS hoặc DNS-over-TLS, bảo vệ câu hỏi trên đường giữa thiết bị và resolver, nhưng tự nó không ngăn sự không khớp giữa resolver bạn chọn và đường hầm bạn dùng. VPN cấu hình tốt gửi DNS qua đường hầm; cấu hình sai có thể làm rò rỉ.
Trang này chưa chạy kiểm tra rò rỉ DNS. Làm đúng cần truy vấn các tên miền kiểm tra riêng và quan sát resolver nào trả lời, và đó là tính năng dự kiến tách riêng. Hiện tại trang rò rỉ chỉ báo sai lệch WebRTC, IPv6 và múi giờ, và nói rõ điều đó thay vì đoán.
Sai lệch múi giờ và ngôn ngữ
Trình duyệt báo múi giờ và danh sách ngôn ngữ, các trang có thể so chúng với quốc gia suy ra từ địa chỉ IP. Điểm thoát VPN ở nước khác thường để nguyên múi giờ và ngôn ngữ trình duyệt, nên chính sự sai lệch có thể tiết lộ có đường hầm đang dùng.
Đây không phải rò rỉ theo nghĩa địa chỉ bị lộ, vì những giá trị này vốn dành cho mọi trang. Đó là bối cảnh hữu ích: nếu muốn hồ sơ nhất quán, hãy khớp múi giờ và ngôn ngữ trình duyệt với vị trí thoát, hoặc chấp nhận tổ hợp này là bất thường.
Câu hỏi thường gặp
WebRTC có lộ địa chỉ IP thật của tôi dù đã bật VPN không?
Có thể. WebRTC thu thập địa chỉ ứng viên độc lập với phần còn lại của lưu lượng trình duyệt, nên nếu VPN không bắt được lưu lượng đó, địa chỉ công khai từ STUN có thể là địa chỉ thật của bạn. Kiểm tra trên trang này tồn tại chính để cho thấy các địa chỉ có khớp không.
Tắt WebRTC có làm hỏng gọi video không?
Cuộc gọi và chia sẻ màn hình trong trình duyệt dùng WebRTC sẽ ngừng hoạt động, gồm nhiều công cụ hội nghị. Nếu chỉ muốn ngăn chia sẻ địa chỉ cục bộ, hãy chọn thiết lập hẹp hơn như media.peerconnection.ice.no_host trong Firefox, hoặc chính sách xử lý IP WebRTC nghiêm ngặt hơn trong Brave.
Ứng viên mDNS là gì?
Đó là địa chỉ cục bộ được trình duyệt giấu sau tên ngẫu nhiên kết thúc bằng .local, chỉ phân giải trên mạng của bạn. Safari dùng mặc định, trình duyệt khác dùng trong một số điều kiện. Thấy tên mDNS nghĩa là địa chỉ riêng tư của bạn không bị đưa ra ở dạng đọc được.
Tôi có thể kiểm tra rò rỉ DNS trên trang này không?
Chưa. Kiểm tra hiện tại bao gồm tín hiệu WebRTC, IPv6 và múi giờ trong trình duyệt. Kiểm tra rò rỉ DNS cần tên miền kiểm tra riêng và loại truy vấn khác, hiện nằm trong kế hoạch chứ không bị bỏ qua âm thầm.
Rò rỉ IPv6 là gì?
Xảy ra khi đường hầm bảo vệ IPv4 nhưng lưu lượng IPv6 vẫn ra qua kết nối gốc. Trang hỗ trợ IPv6 có thể tiếp cận bạn ở địa chỉ không được bảo vệ, nên mạng mà WebRTC hay yêu cầu IPv6 thấy khác với mạng thấy qua IPv4.
Proxy và Tor có ngăn rò rỉ WebRTC không?
Không tự động. Proxy thường chỉ bao phủ yêu cầu thường của trình duyệt, và WebRTC có thể vượt qua giống như vượt VPN một phần. Tor Browser được phát hành với WebRTC tắt mặc định vì lý do này. Dù dùng công cụ nào, hãy chạy kiểm tra sau đó và xem các địa chỉ có khớp không.