Đường hầm chia tách: vì sao một liên kết mở ra ngoài VPN bạn đã đặt
Định tuyến đi theo tiến trình mở ổ cắm, không theo ứng dụng đã hiển thị liên kết cho bạn. Hãy chứng minh chương trình nào kết nối trước khi mở rộng các ngoại lệ.
Đưa một ứng dụng qua đường hầm không mang định tuyến của nó theo mọi thứ mà ứng dụng đó khởi chạy, dù giao diện gợi ý điều ngược lại. Một liên kết chuyển yêu cầu cho chương trình khác, chương trình đó mở ổ cắm của riêng nó, và nền tảng áp dụng quy tắc cho tiến trình mới chứ không cho tiến trình đã hiển thị văn bản. Chính tiến trình thứ hai đó là thứ chính sách đường hầm thực sự thấy, và nó không phải tiến trình bạn đã cấu hình.
Vì vậy một ứng dụng được bao gồm có thể mở trình duyệt nằm ngoài đường hầm. Một trình duyệt bị loại trừ có thể trả việc về cho ứng dụng nằm bên trong nó. Cả hai chiều của sự bất ngờ đó đều là hành vi bình thường.
Phần của quy trình làm việc mà không ai cấu hình
Chính sách theo ứng dụng được viết dựa trên danh tính của tệp thực thi hoặc gói, và mỗi kết nối được đánh giá ngay tại thời điểm nó được tạo. Trình duyệt, trình xem tài liệu, trình phát media và bảng chia sẻ của hệ thống mỗi thứ mang danh tính riêng và mỗi thứ nhận phán quyết riêng. Một liên kết sâu mang dữ liệu, không mang chính sách.
Đó là lý do quan sát có vẻ tùy tiện: cùng một cú nhấp được định tuyến theo hai cách tùy thuộc trình xử lý nào trả lời. Một ứng dụng thư trong đường hầm mở liên kết trong trình duyệt sống ngoài đường hầm, và trang được tải từ địa chỉ nhà của bạn. Một trình duyệt ngoài đường hầm mở tài liệu trong trình xem sống bên trong nó, và tệp đến qua lối ra. Không kết quả nào trong hai kết quả là lỗi của ứng dụng khách.
Một trình xử lý đã chạy sẵn làm mọi thứ tệ hơn. Nếu trình duyệt đã mở, liên kết trở thành thông điệp gửi tới tiến trình đang tồn tại, và tiến trình đó giữ nguyên định tuyến mà nó có khi khởi động. Đóng rồi mở lại trình xử lý sẽ thay đổi kết quả, và đó là lý do sự cố không bao giờ tái hiện khi được yêu cầu.
| Platform | Policy object | What it is evaluated against |
|---|---|---|
| Android | Per-app VPN allowlist | Package name of the process opening the socket |
| Windows | Application traffic filters | Application path in the filter rule |
| Linux | UID or cgroup routing rules | Owner of the socket, which can be a different program |
Tiến trình nào thực sự tạo ra kết nối
Hãy đo phía nhận thay vì suy đoán về nó. Giữ đường hầm hoạt động, nhấp một liên kết vô hại và xem các ổ cắm mà chương trình mới đang giữ.
ss -tnp state established '( dport = :443 )' Get-NetTCPConnection -State Established | Select-Object RemoteAddress,OwningProcess
Lệnh thứ nhất nêu tên tiến trình đứng sau mỗi ổ cắm đã thiết lập trên Linux, lệnh thứ hai làm điều tương tự trên Windows bằng cách phân giải mã định danh tiến trình sở hữu. So sánh tên tiến trình với các tên trong chính sách của bạn. Nếu tên là trình duyệt và trình duyệt bị loại trừ, cú nhấp đã rời đường hầm theo thiết kế chứ không phải do lỗi. Ghép một quy tắc chính sách với một ổ cắm đang sống chính là toàn bộ phương pháp.
Lặp lại kiểm tra khi trình xử lý đã chạy sẵn, rồi khi nó đã đóng. Hai kết quả có thể khác nhau, và sự khác biệt đó giải thích phần lớn các báo cáo không liên tục về liên kết thoát khỏi đường hầm.
Phạm vi bao phủ là thuộc tính của quy trình làm việc
Nếu một tác vụ phải ở trong đường hầm từ đầu đến cuối, mọi thành phần mà nó có thể chạm tới đều phải nằm trong chính sách: trình khởi chạy, trình xử lý, trình xem và bất kỳ trung gian nào mà nền tảng chèn vào giữa chúng. Phạm vi rộng hơn thường là câu trả lời trung thực, và rẻ hơn so với việc kiểm toán từng mục tiêu chia sẻ.
Loại trừ một trung gian của hệ thống để sửa một ứng dụng là lỗi phổ biến. Các trung gian được chia sẻ, nên ngoại lệ kéo theo mọi ứng dụng khác dùng cùng đường đi, thường không ai nhận ra cho đến khi có báo cáo tới vài tuần sau. Hãy đọc xem còn gì phụ thuộc vào thành phần đó trước khi loại trừ nó.
Giữ danh tính tách khỏi định tuyến. Một liên kết có thể mang mã phiên hoặc mã định danh tài khoản bất kể lối ra nào nhận yêu cầu. Một cú nhấp được định tuyến đúng vẫn có thể cho đích biết chính xác ai đã theo nó.
Hãy ghi lại quy trình làm việc, không phải ô kiểm đầu tiên. Khi một tác vụ trải trên bốn chương trình, chính sơ đồ có bốn chương trình là thứ dự đoán lưu lượng đi đâu, và thiết lập một ứng dụng chỉ là một hàng của sơ đồ đó.