Nén trong OpenVPN: từ chối, chỉ nhận hay LZO đầy đủ?
comp-lzo no không phải là từ chối tuyệt đối. So sánh việc từ chối nén, chấp nhận một chiều trong lúc chuyển đổi và giữ nguyên nó, rồi kiểm tra offload làm gì.
Ba dòng trong một tệp cấu hình trông như đều tắt nén, và chỉ một trong số đó thực sự làm vậy. Khác biệt này quan trọng vì cảnh báo bạn muốn dập tắt chỉ là triệu chứng, còn chính sách mới quyết định liệu phía kia còn có thể nén hay không. So sánh các lựa chọn trên một trục, tức là mỗi lựa chọn cho phép điều gì sau thay đổi, sẽ xóa bỏ phần lớn sự mơ hồ. Bạn muốn cái nào tùy thuộc vào việc bạn đang chuyển đổi hay đang ổn định.
Ba chính sách trông giống nhau trong tệp cấu hình
Mỗi lựa chọn trả lời một câu hỏi khác nhau. allow-compression no từ chối thẳng các tải trọng đã nén, allow-compression asym giải nén những gì đến và không bao giờ nén những gì đi, còn comp-lzo no cũ kiểu để chỗ cho push từ phía kia bật nén. Chỉ cái đầu tiên là chính sách mà máy chủ không thể ghi đè.
Hãy viết cả ba vào một bảng trước khi chọn, vì các tên đủ gần nhau để đánh lừa người đánh giá. Hai trong số đó vẫn chạy mã giải nén trên các gói nhận được, và đó chính là nội dung của lập luận bảo mật. Cái thứ ba loại bỏ khả năng thay vì giới hạn hướng của nó. Nếu bản ghi thay đổi nói rằng nén đã bị tắt, đúng một dòng thỏa mãn câu đó.
Cảnh báo khởi đầu cuộc điều tra không phải mục tiêu. Dập tắt nó trong khi vẫn để một chính sách dễ dãi sẽ cho một nhật ký sạch và mức phơi nhiễm không đổi.
| Setting | What it permits | When it is the right answer |
|---|---|---|
allow-compression no | No compressed payloads, and no compression framing under offload | Both ends can be changed now |
allow-compression asym | Decompress inbound only | A dated migration while peers catch up |
comp-lzo no | Off locally, still pushable by a peer | Legacy compatibility you can still justify |
no có nghĩa gì ở lựa chọn LZO cũ
Ở lựa chọn LZO đã lỗi thời, no tắt nén cho phía cục bộ mà không cấm phía kia bật nó ở nơi chính sách cho phép. Chính sự bất đối xứng này khiến việc chuyển một tệp cấu hình sang từ chối tuyệt đối thay đổi hành vi theo cách mà một thử nghiệm phòng lab với một máy chủ có thể không bao giờ phát hiện.
Mối lo bảo mật là có điều kiện, không tuyệt đối. Khi kẻ tấn công có thể đặt văn bản rõ đã chọn bên cạnh một bí mật và quan sát cách nén thay đổi kích thước lưu lượng đã mã hóa, một kênh thông tin tồn tại. Chuyển từ LZO sang LZ4 thay đổi thuật toán và cách đóng khung, không thay đổi cơ chế đó.
Vì vậy cách đặt vấn đề trung thực liên quan đến điều bạn sẵn sàng cho phép, không phải thuật toán nào đang được khuyến nghị. Từ chối tuyệt đối là lựa chọn duy nhất không phụ thuộc vào sự hợp tác của phía kia.
Chỉ nhận là một trạng thái chuyển đổi, không phải đích đến
Chấp nhận bất đối xứng tồn tại để một phía có thể ngừng nén trong khi phía kia vẫn mong đợi điều đó. Đó là một cây cầu, và cầu cần ngày kết thúc cùng người chịu trách nhiệm. Ghi lại những đối tác nào vẫn gửi lưu lượng đã nén, vì chính sách cho phép đúng loại lưu lượng đó. Không có danh sách ấy, trạng thái chuyển đổi sẽ trở thành cấu hình vĩnh viễn do quán tính.
Máy khách không thể buộc một máy chủ không tương thích từ bỏ cách đóng khung cũ bằng cách sửa tệp của chính nó. Hướng push được quyết định trên máy chủ, nên việc chuyển đổi thực sự kết thúc trong cấu hình máy chủ và các tệp theo từng máy khách.
Các chế độ stub giữ cách đóng khung nhưng bỏ qua chính công việc nén, và chúng không phải là tương đương trực tiếp của lựa chọn cũ hơn. Hãy thử chúng với đối tác cũ nhất mà bạn vẫn phải hỗ trợ trước khi chọn một cái.
Nơi offload kênh dữ liệu thay đổi câu trả lời
Offload kênh dữ liệu đưa việc xử lý gói vào nhân, và một tệp cấu hình vẫn phụ thuộc vào cách đóng khung nén có thể không vừa với đường đi đó. Lỗi không phải lúc nào cũng ồn ào: máy khách kết nối rồi sau đó hành xử khác với đường hầm bạn đã thử.
Hãy kiểm tra triển khai nào đang hoạt động trước và sau thay đổi, không chỉ xem kết nối có thành công hay không. Khi đường đi có offload từ chối cách đóng khung nén, chính sách từ chối tuyệt đối và triển khai có offload đồng ý với nhau, còn chính sách dễ dãi và triển khai có offload thì không.
Sự kết hợp đó xứng đáng có thử nghiệm riêng, vì đúng ở đó một tệp trông có vẻ đúng lại lặng lẽ không phải là tệp đang được dùng. Hãy so sánh trạng thái đã thương lượng với ý định được ghi trong tệp cấu hình, vì chỉ một trong hai là nhìn thấy được trong nhật ký.
Chọn một chính sách, rồi xác minh kết quả đã thương lượng
Chọn từ chối tuyệt đối khi bạn có thể thay đổi cả hai đầu, chấp nhận bất đối xứng khi chưa thể, và nén đầy đủ chỉ khi bạn giải thích được vì sao mức phơi nhiễm là chấp nhận được. Sau đó hãy xác minh điều đã thương lượng thay vì điều tệp nói. Một nhật ký yên tĩnh hơn chỉ là bằng chứng khi nó khớp với chính sách bạn định triển khai.
Hãy giữ quyết định bên cạnh tệp cấu hình mà nó áp dụng, cùng ngày tháng và các đối tác vẫn được miễn trừ. Nửa năm sau, ghi chú đó là khác biệt giữa một ngoại lệ có chủ đích và một sự cố không ai xác định được ngày. Viết nó trong cùng kho lưu trữ với tệp cấu hình để người biên tập sau thấy lý do trước chỉ thị.