Ai đó báo rằng khóa VPN là công khai, và câu đó ẩn đi ba tình huống hoàn toàn khác nhau. Đó có thể là chứng chỉ CA mà mọi máy khách đều phải có, một khóa danh tính riêng tư lẽ ra không bao giờ được rời khỏi một máy, hoặc một bí mật kênh điều khiển dùng chung mà cả hai đầu đều phải giữ. Việc sửa chữa, mức độ khẩn cấp và phạm vi ảnh hưởng khác nhau trong từng trường hợp, nên nhiệm vụ đầu tiên là phân loại chứ không phải hành động. Phân loại sai thì mọi bước sau đều là công sức bỏ đi.

Bắt đầu từ chỉ thị, không phải từ tên tệp

Đọc cấu hình đang hoạt động và tìm xem chỉ thị nào trỏ tới tài liệu liên quan. Các tùy chọn TLS của OpenVPN dùng ca cho tài liệu chứng chỉ đáng tin cậy, cert cho chứng chỉ của máy đồng cấp cục bộ và key cho khóa riêng đi kèm.

Tên tệp không chứng minh được gì. Một tệp tên là key.pem có thể chứa chứng chỉ, và một khối nhúng trong hồ sơ có thể chứa đúng cùng một đối tượng như một tệp riêng trên đĩa. Hãy mở tệp và xem phần đầu của nó thay vì tin vào tên. Lần kiểm tra duy nhất đó loại bỏ phần lớn sự mơ hồ trong báo cáo.

Nếu hồ sơ là một gói PKCS#12, hãy giải nén nó ở nơi được kiểm soát để xem thực sự bên trong có gì. Một gói có thể mang chứng chỉ, chuỗi của nó và một khóa riêng, nghĩa là rò rỉ gói là rò rỉ cả ba.

Viết phân loại ra trước khi bất kỳ ai thay đổi tệp: đối tượng, chỉ thị, máy đồng cấp nào giữ nó và ai có thể đọc nó. Chính câu đó là thứ phần còn lại của phản hồi dựa vào.

Chứng chỉ CA được thiết kế để chia sẻ

Chứng chỉ CA công khai là tài liệu tin cậy. Máy khách cần nó để xác minh máy chủ, và việc phân phối nó là trường hợp bình thường chứ không phải sự cố. Công bố nó không công bố khóa ký riêng của CA, và chính đối tượng đó mới cho phép kẻ tấn công tạo danh tính mới.

Sự khác biệt đó đáng được ghi rõ trong phiếu hỗ trợ, vì hai thứ này liên tục bị lẫn lộn. Câu hỏi cần trả lời là tệp bị rò rỉ là chứng chỉ hay khóa ký, và một cái nhìn nhanh vào nội dung tệp sẽ giải quyết điều đó. Chứng chỉ mang một khóa công khai và một chữ ký; khóa ký hoàn toàn không xuất hiện trong đó.

Việc phân phối vẫn cần sự cẩn trọng. Máy khách nên lấy chứng chỉ qua đường phân phối hồ sơ đã được phê duyệt, không phải từ một trang dán, và một chứng chỉ đến qua tuyến không đáng tin cậy có thể bị thay thế trên đường.

Khóa đồng cấp và bí mật tls-auth không phải

Khóa riêng của máy đồng cấp là tài liệu danh tính. Một khi bị sao chép, máy chủ không còn phân biệt được thiết bị dự định với bất kỳ ai giữ bản sao, vì quyền sở hữu độc quyền chính là thuộc tính đang được chứng minh. Việc tiếp tục ủy quyền và thay thế là quyết định của chủ VPN, không phải của người tìm thấy tệp.

Bí mật tls-auth là thứ thứ ba. Nó thêm xác thực HMAC quanh các gói của kênh điều khiển để những gói được xác thực sai bị loại bỏ trước khi trao đổi TLS, và nó không phải khóa riêng của máy đồng cấp cũng không phải khóa mã hóa dữ liệu ứng dụng.

Nếu bí mật dùng chung đó là công khai, rào cản mà nó cung cấp đã mất đối với mọi người có nó. Điều đó không có nghĩa là mọi người giữ nó đều vượt qua các kiểm tra chứng chỉ và người dùng phía sau, nên việc phân loại quan trọng hơn mức cảnh báo. Hãy nói rào cản nào đã mất và nói những rào cản nào còn lại.

Sửa vai trò bị rò rỉ, không phải vai trò bên cạnh

Bí mật dùng chung không thể trở lại riêng tư bằng cách đổi tên tệp hay giấu liên kết tải xuống. Thay thế nghĩa là tạo một giá trị mới và phân phối nó tới mọi máy đồng cấp trong một thay đổi có phối hợp, và chỉ thay một phía sẽ phá vỡ thỏa thuận với tất cả những ai còn giữ giá trị cũ.

Nếu danh tính của một máy đồng cấp bị lộ, hãy dùng quy trình thu hồi và đăng ký lại của nhà vận hành cho danh tính đó. Đổi mật khẩu của một tài khoản không liên quan không làm vô hiệu chứng chỉ đã bị sao chép, và thay tệp tls-auth cũng không.

Xác nhận máy chủ đã triển khai thực sự áp đặt điều gì trước khi dựa vào bất kỳ điều nào ở trên. Một danh sách thu hồi không được làm mới, hoặc một kiểm tra vai trò bị tắt trong sự cố, thay đổi câu trả lời hoàn toàn. Hãy đọc cấu hình đang chạy chứ không phải bản sao trong kho.

Đánh giá lưu lượng quá khứ theo điều kiện của chính nó

Một tệp bị lộ tự nó không cho biết các phiên đã bị bắt trước đó có thể bị giải mã hay không. Điều đó phụ thuộc vào phương thức thiết lập khóa, tài liệu bị lộ và những bản ghi nào tồn tại, và cả «toàn bộ lưu lượng đã mất» lẫn «không có gì xảy ra» đều là phỏng đoán nếu thiếu những dữ kiện đó.

Đừng đăng thêm một bản sao của thông tin xác thực trong khi hỏi nó thuộc nhóm nào. Thay vào đó, hãy chia sẻ tên chỉ thị và siêu dữ liệu không bí mật qua đường hỗ trợ đã được phê duyệt.

Kết luận hữu ích nêu tên đối tượng, vai trò của nó, sự bảo vệ đã mất và hành động phối hợp cần thiết. Bất cứ điều gì ngắn hơn đều là tiêu đề chứ không phải đánh giá.

Bài viết liên quan