Những dòng mật mã lỗi thời trong hồ sơ VPN cũ: đọc trước khi sao chép
Các chỉ thị tồn tại qua các lần đổi phiên bản với ý nghĩa khác, hoặc không còn ý nghĩa gì. Hãy kiểm tra ứng dụng khách nào đã viết hồ sơ và đường hầm thực sự đã thương lượng điều gì.
Hồ sơ này được viết vào năm 2016, và nó vẫn được nhập và vẫn kết nối. Đó chính là lý do không ai nhìn vào nó. Ứng dụng khách từng đọc các chỉ thị này đã biến mất từ lâu, và bản dựng hiện tại có thể diễn giải một số trong chúng theo cách khác.
Một tệp tồn tại không có nghĩa là cấu hình còn cập nhật. Tách hai ý tưởng đó ra là phần lớn công việc.
Tìm ra ứng dụng khách nào đã viết hồ sơ
Bắt đầu từ nhà phát hành và phiên bản. Ý nghĩa của một chỉ thị được xác định bởi phần triển khai đọc nó. Một dòng từng chọn thuật toán có thể trở thành danh sách dự phòng, cảnh báo hoặc lỗi cứng. Phiên bản nào diễn giải nó sẽ quyết định kết quả.
OpenVPN là ví dụ rõ ràng nhất. Phiên bản 2.5 đã giới thiệu data-ciphers và thay đổi cách chỉ thị cũ cipher tham gia đàm phán. Một hồ sơ chỉ mang cipher AES-128-CBC giờ đưa ra đề nghị hẹp hơn nhiều so với ý định của tác giả.
Đọc ghi chú phát hành cho cài đặt giờ đây cảnh báo hoặc thất bại. Cảnh báo trong nhật ký là sự thật về bản dựng hiện tại, và nó nặng hơn ký ức của bất kỳ ai về lý do dòng đó được thêm vào.
Xem điều gì thực sự đã được thương lượng
Nhập thành công chứng minh việc phân tích cú pháp, không phải chính sách. Kết quả đã thương lượng xuất hiện trong nhật ký ứng dụng khách sau khi kết nối được thiết lập. Nó có thể khác với cả hai đầu của tệp cấu hình.
# OpenVPN: what did this session agree on?
sudo journalctl -u openvpn-client@office --since '5 min ago' | grep -i 'cipher\|Data Channel'
# which directives does the profile actually carry?
grep -n -E 'cipher|auth|tls-|dh ' office.ovpnMột lần nhập được chấp nhận mà âm thầm bỏ một chỉ thị sẽ để lại một hồ sơ đọc theo một cách và hành xử theo cách khác. Chính khoảng cách đó giải thích vì sao một tài liệu được dán nhãn là gia cố lại thương lượng điều gì đó yếu hơn so với chính văn bản của nó tuyên bố. Nhật ký là nơi duy nhất cho thấy sự khác biệt. Hãy đọc nó trước khi tin tưởng tệp.
Nâng cấp cách bố trí, không phải dòng lệnh
Lấy hồ sơ do nhà vận hành duy trì thay vì ghép các tên thuật toán cho đến khi việc nhập thôi phàn nàn. Thêm dòng bằng cách thử sẽ đảo ngược hướng sửa. Nó thích ứng ứng dụng khách với một máy chủ không rõ thay vì xác lập máy chủ hỗ trợ gì.
Máy chủ cũng có thể cần nâng cấp phối hợp. Một ứng dụng khách hiện tại không thể tạo hỗ trợ cho đề nghị mà phía kia không bao giờ đưa ra. Không tùy chọn nào phía ứng dụng khách thay thế được một cổng chưa được cập nhật.
Điều không được đánh đổi là xác minh. Xóa các kiểm tra chứng chỉ, tắt kiểm tra tên máy chủ hoặc tắt cập nhật để giữ một hồ sơ cũ tồn tại sẽ biến vấn đề tương thích thành vấn đề tin cậy. Điều đó thường xảy ra từng chỉnh sửa nhỏ một.
Xác nhận kết quả và ghi lại ngoại lệ
Sau khi thay đổi, hãy kiểm tra lại bộ đã thương lượng và kiểm thử tài nguyên mà đường hầm tồn tại vì nó. Một hồ sơ thương lượng đúng điều bạn muốn nhưng vẫn không đến được dịch vụ thì có vấn đề định tuyến hoặc danh tính. Nó không có vấn đề mật mã.
Giữ cấu hình tốt đã biết trước đó ở nơi được bảo vệ. Chỉ có thể so sánh khi tệp cũ vẫn còn tồn tại.
Ghi lại mọi ngoại lệ tương thích kèm người sở hữu và ngày xem xét. Một thỏa thuận tạm thời không có người sở hữu sẽ trở thành chính sách vĩnh viễn. Người tiếp theo đọc tệp sẽ cho rằng nó được chọn có chủ đích.