Ai đó yêu cầu một dịch vụ mà chỉ người dùng VPN mới tiếp cận được, và cách triển khai hiển nhiên là cho phép một danh sách địa chỉ thoát. Danh sách đó làm một việc thật: nó giới hạn ai có thể kết nối. Nó không chứng minh rằng một đường hầm đã được dùng, vì địa chỉ thuộc về người vận hành lối thoát và người vận hành đó có thể chuyển tiếp lưu lượng của bất kỳ ai. Khoảng cách giữa hai nhận định đó chính là toàn bộ vấn đề thiết kế.

Máy chủ thấy một địa chỉ cho mỗi kết nối

Một kết nối đến với địa chỉ nguồn và cổng đích, và đó là tất cả những gì tầng mạng báo cáo. Khi một máy khách dùng đường hầm, các gói đến trình lắng nghe của bạn đến từ lối thoát hoặc từ bản dịch phía trước nó. Địa chỉ của chính máy khách, thường là riêng tư, không bao giờ xuất hiện. Vì vậy một quy tắc tường lửa viết cho dải mạng cục bộ của máy khách không làm gì cả.

Mọi thứ sau địa chỉ nguồn đó là dữ liệu ứng dụng, và ứng dụng chỉ có thể tin nó trong chừng mực nó xác thực dữ liệu đó.

Hãy kiểm tra lối thoát của bạn trông thế nào

Hãy nhìn đường đi từ cả hai đầu trước khi viết quy tắc. Góc nhìn của máy khách về lối thoát của nó và góc nhìn của máy chủ về kết nối là hai sự thật quan trọng.

curl -sS https://api.ipify.org; echo
ss -tn state established '( sport = :443 )' | head

Lệnh thứ nhất báo cáo địa chỉ công khai mà máy khách xuất hiện, và đó là giá trị mà mọi danh sách cho phép phải chứa. Lệnh thứ hai hiển thị các kết nối đã thiết lập trên máy chủ cùng địa chỉ của các đối tác, và đó chính là thứ mà quy tắc sẽ thực sự khớp. Nếu cả hai không khớp với mô hình tinh thần của bạn, hãy sửa mô hình trước khi chỉnh sửa chính sách. Tường lửa của cơ sở dữ liệu đám mây, danh sách cho phép của ứng dụng và bộ cân bằng tải mỗi thứ có thể thấy một lớp dịch khác nhau.

Chỉ có thể liệt kê một trong hai tập lối thoát

Một trường hợp có thể kiểm tra tại thời điểm yêu cầu còn trường hợp kia thì không, điều này tạo ra những bảo đảm rất khác nhau.

curl -sS https://check.torproject.org/torbulkexitlist | wc -l

Danh sách lối thoát Tor đã công bố có thể được lấy và so sánh, tùy thuộc vào tuổi của danh sách và chính sách riêng của từng lối thoát, nên một quy tắc từ chối đối với các lối thoát đã biết là khả thi và có thể xem xét. Không có sổ đăng ký tương đương cho VPN thương mại. Địa chỉ luân chuyển, nhiều nhà cung cấp không công bố gì, và một đường hầm có thể chạy trên địa chỉ đám mây thuê chưa bao giờ thuộc về VPN nào. Danh sách bạn tổng hợp là ảnh chụp các địa chỉ quan sát được, và việc mở rộng nó sang các dải lưu trữ sẽ thêm khối lượng công việc không liên quan mà không thêm bằng chứng.

Dùng địa chỉ làm đầu vào chính sách, không phải bằng chứng

Hãy quyết định quy tắc dùng để làm gì. Một hạn chế mạng nên giữ hẹp, ghi lại địa chỉ quan sát được cùng ngày và lý do, và cho người dùng hợp pháp một con đường khôi phục khi lối thoát của họ thay đổi. Kiểm soát truy cập cần một tài khoản đã xác thực hoặc một mã thông báo đã ký, vì chỉ những thứ đó ràng buộc một yêu cầu với một danh tính. Chấm điểm rủi ro có thể dùng địa chỉ như một tín hiệu duy nhất không đáng tin, chấp nhận dương tính giả và điểm mù của nó. Viết quy tắc như một quyết định sản phẩm là trung thực; viết nó như một sự xác minh rằng có đường hầm thì không.

Yêu cầu phản chiếu, tức là khôi phục địa chỉ thật của người dùng phía sau VPN, thất bại vì cùng lý do: một kết nối mang một địa chỉ, và sự thay đổi giữa các phiên phù hợp với nhiều cách giải thích. Hãy coi giá trị trước đó là lịch sử, không phải sự thật.

Bài viết liên quan