Đã đưa địa chỉ VPN vào danh sách trắng mà vẫn bị chặn? Hãy truy vết
Quy tắc cho phép nêu địa chỉ mà ứng dụng VPN hiển thị, và các yêu cầu vẫn rơi. Hãy bắt nguồn thực sự đến dịch vụ, rồi sửa nó.
Đưa địa chỉ mà ứng dụng VPN hiển thị vào danh sách trắng hiếm khi sửa được một cổng bị chặn, và gói tin giải thích vì sao. Tường lửa không bỏ qua quy tắc của bạn; nó đang đánh giá một địa chỉ nguồn mà không thứ gì trên màn hình máy khách hiển thị. Cho đến khi đích báo cáo giá trị đó, mọi chỉnh sửa quy tắc đều là phỏng đoán.
Hãy bắt đầu từ yêu cầu đến được dịch vụ. Địa chỉ đường hầm, địa chỉ ra và mọi chuyển dịch ở giữa vẫn là giả thuyết cho đến khi đích xác nhận một trong số đó.
Địa chỉ trong ứng dụng không phải địa chỉ đến
Một kết nối VPN mang ít nhất bốn địa chỉ đáng được gọi tên riêng: điểm cuối của máy chủ, địa chỉ đường hầm bên trong được gán cho máy khách của bạn, địa chỉ Wi-Fi hoặc Ethernet cục bộ, và địa chỉ công khai mà một trang web thấy sau khi lưu lượng rời nhà cung cấp. Cửa sổ máy khách có thể chỉ hiển thị địa chỉ thứ hai. Hãy gọi tên cả bốn trước khi gọi tên một quy tắc. Với đường hầm chia tách, các yêu cầu đến đích công khai có thể bỏ qua toàn bộ đường hầm, nên phiên thất bại không phải phiên mà người dùng tưởng mình đã bắt đầu.
Hãy quyết định quy tắc nên cho phép địa chỉ nào trong bốn địa chỉ đó, rồi xác minh từ phía bên kia. Nếu yêu cầu thực sự là một địa chỉ văn phòng, điều kiện là tuyến đường cộng với cách bố trí lối ra của trang đó, và một kết nối gắn nhãn Office VPN không tự nó cung cấp cả hai.
Truy vết một yêu cầu đến ranh giới lọc của nó
Xác nhận địa chỉ đích và cổng mà máy khách dùng, rồi kiểm tra xem đích này có đi theo đường bạn giả định không. Một cổng container được công bố, một proxy ngược hoặc một chuyển tiếp cổng có thể chuyển quyết định sang một máy chủ bạn chưa từng sửa. Mỗi bước nhảy đó có thể mang chính sách riêng. Xác lập đường đi trước giúp bạn khỏi sửa một quy tắc mà không gói tin nào đến được.
Trên một máy chủ Linux được cấp quyền, hãy đọc các quy tắc đang hoạt động theo thứ tự trước khi thay đổi. Các dịch vụ được chuyển tiếp và dịch vụ container thường nhảy vào chuỗi riêng của chúng, nên hãy kiểm tra cả đích nhảy và phán quyết cuối cùng.
iptables -vnL INPUT --line-numbers
iptables -S INPUT | head -n 40
ss -ltnp | grep -E ':(443|9443)\b'Trích số quy tắc khớp trong phiếu. Không có nó, người đọc tiếp theo không thể biết thay đổi nào đã làm kết quả khác đi. Số quy tắc không có dấu thời gian vẫn còn mơ hồ.
Xác minh đường đi bằng một lần bắt gói có giới hạn
Một yêu cầu vô hại và một lần bắt gói hẹp giải quyết câu hỏi cứ quay lại. Lọc theo cổng đích và máy chủ đang điều tra, giới hạn số gói, và dừng bắt gói ngay khi yêu cầu hoàn tất.
tcpdump -ni any 'tcp dst port 9443' -c 20So sánh ba giá trị cạnh nhau: nguồn trong bản bắt gói, nguồn mà quy tắc khớp nêu tên, và sự từ chối mà ứng dụng đã ghi. Tất cả có thể khác nhau, và chỉ giá trị đầu giải thích một lần rơi do quy tắc IP quyết định. Tiêu đề HTTP được chuyển tiếp thuộc lớp proxy, nên nhật ký trích tiêu đề đó không mô tả nguồn mà tường lửa đã đánh giá.
Hãy đọc thứ tự chuỗi, không chỉ quy tắc
Tài liệu iptables mô tả việc đi qua có thứ tự, vì thế một cho phép nằm dưới một từ chối cuối khớp không bao giờ cứu được gói tin. Một kết nối được chấp nhận trước đó cũng có thể hành xử khác một kết nối mới, nên thành công cũ không nói gì về quy tắc mới. Hãy tìm từ chối hoặc rơi phía trên cho phép của bạn trước khi cho rằng cho phép sai. Bộ đếm theo từng quy tắc cũng cho bạn biết quy tắc nào đã thấy gói tin.
Xóa một quy tắc để xem điều gì xảy ra là thay đổi, không phải quan sát. Đọc bộ đếm, ghi lại số quy tắc, và giữ chính sách gốc trong nhật ký thay đổi. Nếu buộc phải thử, hãy chạy trên bản sao của chuỗi.
Thay đổi quy tắc do chủ sở hữu của nó kiểm soát
Chỉ cập nhật chính sách nguồn và dịch vụ dự định, thông qua người sở hữu nó. Một lối ra đã dịch được chia sẻ có thể đại diện cho nhiều người dùng cùng lúc, nên cho phép địa chỉ đó không xác thực ai cả, và các quyền ứng dụng phía sau vẫn ở nguyên.
Khi địa chỉ tiếp tục di chuyển, câu trả lời bền vững là một lối ra ổn định hoặc một kênh đã xác thực, không phải một danh sách ngoại lệ dài hơn. Ghi lại nguồn quan sát được, cổng đích và số quy tắc.