Những gì mạng cục bộ vẫn thấy qua VPN của bạn
Đường hầm giấu nội dung, không giấu sự hiện diện của bạn. Hãy so sánh những gì mạng truy cập, thiết bị được quản lý và nhà cung cấp VPN học được trước khi cho rằng một thứ che phủ tất cả.
Ba người quan sát hội tụ vào một câu hỏi mỗi khi ai đó hỏi liệu VPN có giấu lưu lượng của họ không: mạng mà họ kết nối, chiếc máy trong tay họ và nhà vận hành đường hầm. Mỗi bên học được điều khác nhau, và đường hầm thay đổi mỗi góc nhìn đó theo một cách khác. Sẽ có ích khi làm việc theo hướng ngược lại và bắt đầu từ tuyên bố được đưa ra, bởi chính tuyên bố là thứ phải chịu được sự xem xét. Hãy quyết định bạn cần tuyên bố nào, rồi so sánh công cụ với nó.
Tuyên bố thứ nhất: không ai đọc được lưu lượng
Hãy bắt đầu từ tuyên bố hẹp nhất: phần tải vẫn không đọc được. Một quan sát viên thụ động trên đường đi không thể nhìn vào trong một phiên TLS, nên đường hầm thêm rất ít cho một trang đã dùng HTTPS và không thêm gì chống lại hai đầu mút. Bên phá vỡ tuyên bố này là bên kiểm soát thiết bị, vì một proxy kiểm tra chấm dứt kết nối và ký lại nó bằng một gốc mà chiếc máy đã tin tưởng. Đó là lý do ổ khóa vẫn hiện ra trong khi chuỗi chứng chỉ mang tên tổ chức đã cài đặt gốc đó.
security find-certificate -a -p /Library/Keychains/System.keychain | openssl crl2pkcs7 -nocrl -certfile /dev/stdin | openssl pkcs7 -noout -print_certs | grep subject
certutil -store Root
Trên macOS, đường ống đó in một dòng chủ thể cho mỗi chứng chỉ trong chùm khóa của máy, mà không mở cửa sổ nào, còn trên Windows certutil -store Root liệt kê cùng kho mà certlm.msc hiển thị bằng đồ họa. Một gốc thuộc về trường học, người sử dụng lao động hoặc một sản phẩm an ninh mạng là mục cần tìm. Tìm được một gốc chỉ chứng minh việc chặn bắt là có thể, không phải nó đang diễn ra.
Điều bạn có thể làm về việc này là câu hỏi chính sách chứ không phải kỹ thuật. Gỡ một hồ sơ hoặc một gốc kiểm tra khỏi phần cứng không thuộc sở hữu của bạn thường vi phạm thỏa thuận sử dụng chấp nhận được, và hệ thống quản lý có xu hướng nhận ra rồi áp dụng lại, nên yêu cầu rằng chủ thiết bị không được đọc lưu lượng của bạn cần một thiết bị khác chứ không phải một cài đặt khác.
Tuyên bố thứ hai: không ai thấy bạn đi đâu
Đích đến là tuyên bố khó hơn, vì hai lần tiết lộ xảy ra trước khi một trang tải xong. Truy vấn đi tới bộ phân giải mà hệ thống được cấu hình để dùng, và câu trả lời hiện ra với mạng lưới mang nó. Sau đó bắt tay TLS mang tên máy chủ được yêu cầu một cách công khai, trừ khi Encrypted Client Hello được hỗ trợ ở cả hai đầu. Không lần tiết lộ nào liên quan đến giải mã, nên đường hầm không có tác dụng với cả hai.
resolvectl status | grep -A2 "Link"
nslookup example.com
Bộ phân giải nào thực sự được dùng mới quyết định mức phơi bày, và điều đó có thể đo được thay vì tranh luận. Trên Linux, resolvectl status in ra các máy chủ DNS theo từng liên kết, và đầu ra cho bạn biết bộ phân giải của trang hay bộ bị áp đặt đang trả lời. Windows trả lời cùng câu hỏi đó bằng nslookup example.com, với khối đầu ra đầu tiên là máy chủ DNS đã trả lời.
Khi máy tính xách tay hỏi bộ phân giải của trang trước khi đường hầm dựng lên, hoặc hồ sơ đến mà không có máy chủ thay thế nên cái cũ vẫn được dùng, người quản trị vẫn thu thập tên máy chủ mà không giải mã gì cả. DNS mã hóa trong trình duyệt hoặc né bộ phân giải bị áp đặt hoặc bị chặn hoàn toàn và thất bại ở trạng thái đóng. Nhà vận hành lối ra nhìn thấy cùng những cái tên đó từ phía mình. Vì vậy đổi bộ phân giải không đưa lần tiết lộ đó ra khỏi nhà cung cấp đường hầm.
Tuyên bố thứ ba: không ai biết bạn đã kết nối
Tuyên bố thứ ba là tuyên bố mà một đường hầm không thể bảo đảm, vì các gói tin vẫn đi qua mạng cục bộ. Mạng đó học được địa chỉ điểm cuối, khối lượng ước chừng, thời điểm và việc tồn tại một phiên mã hóa dài hạn, đủ để chặn, hạn chế hoặc chỉ đơn giản là nhận ra. Một tường lửa không đọc được gói tin vẫn có thể từ chối cho nó đi qua. Bị theo dõi không giống như không ai theo dõi: bạn đã dời người quan sát chứ không xóa nó đi.
Đường hầm chia tách, và mọi ứng dụng bỏ qua tuyến đường bị áp đặt, tạo ra những luồng bên ngoài đường hầm trông y như trước. Chính những luồng đó là thứ một quan sát viên cẩn thận nhận ra trước tiên, và bảng tuyến của ứng dụng khách cho thấy đích nào bị loại trừ.
Nhà vận hành ở đầu bên kia giữ hình ảnh phản chiếu của góc nhìn đó: địa chỉ lối ra, thời điểm, khối lượng và thường là tên các trang. Nhà cung cấp của bạn trở thành bên có điểm quan sát, một thỏa thuận khác với sự vô hình. Chọn một nhà cung cấp bạn tin tưởng là quyết định thật; gọi kết quả là không bị quan sát thì không phải.
Quyết định bạn cần tuyên bố nào
Viết yêu cầu thành một dòng trước khi chạm vào ứng dụng khách: giấu nội dung, giấu đích đến hoặc giấu việc bạn có kết nối hay không. Nội dung đã được HTTPS cùng đường hầm xử lý, trong khi đích đến cần một bộ phân giải và một đường đi hoàn toàn né thiết bị của trang.
Yêu cầu thứ ba là yêu cầu khó chịu, vì đâu đó vẫn có thứ gì đó kết nối một cách nhìn thấy được, dù mã hóa hay không. Không cài đặt ứng dụng khách nào thay đổi điều đó. Nếu yêu cầu và chính sách tách rời nhau, khoảng cách đó thuộc về cuộc trò chuyện với người sở hữu chính sách, không thuộc về một tùy chọn trong ứng dụng khách. Người có thể trả lời là người đã viết chính sách.