Bạn mở tệp .ovpn để sửa một dòng và thấy ba khối base64 trông đều giống thông tin đăng nhập. Một khối an toàn để công bố, một khối nhạy cảm như mật khẩu, và một khối là khóa công khai không có ý nghĩa gì nếu không có thứ khác được ký bằng cặp của nó. Người ta dán cả tệp vào một luồng hỗ trợ vì các khối trông có thể thay thế nhau, và đó là cách khóa máy khách lọt vào một kho lưu trữ công khai. Phân biệt mỗi khối làm gì giải thích phần lớn sự nhầm lẫn quanh những hồ sơ này, và cũng cho bạn biết lỗi nào là của bạn để sửa.

Một tệp, ba khối, việc khác nhau

Một hồ sơ điển hình nhúng khối ca, khối cert và khối key giữa các dấu BEGIN và END, hoặc trỏ tới đúng ba thứ đó dưới dạng tệp riêng. Một số hồ sơ thêm khối thứ tư cho khóa tls-auth hoặc tls-crypt, đây là bí mật chia sẻ chứ không phải chứng chỉ. Máy khách đọc từng khối theo chỉ dẫn đặt tên cho nó, nên nhãn quan trọng hơn thứ tự xuất hiện.

Hãy coi hồ sơ đã lắp ghép là nhạy cảm cho tới khi bạn thực sự nhìn vào bên trong. Chứng chỉ công khai và khóa riêng có thể chỉ cách nhau vài dòng trong cùng một tệp, và ảnh chụp màn hình có cả phần đầu tệp có thể chứa cả hai. Che thủ công phần base64 nhìn thấy cũng không đáng tin, vì một khối không trọn vẹn vẫn làm lộ siêu dữ liệu chứng chỉ vốn nêu tên triển khai của bạn. Sao chép ba chỉ dẫn mà không kèm giá trị thường đủ để hỏi một câu hữu ích.

Các chỉ dẫn quanh mỗi khối quyết định cách chúng được dùng. Đổi ca thì máy khách tin một nhà cấp khác; đổi cert mà không đổi key thì bắt tay thất bại với sự không khớp không liên quan gì đến tin cậy.

Khối CA là công khai, khóa CA thì không bao giờ

Một nhà cấp chứng chỉ ký những chứng chỉ gắn khóa công khai với một danh tính, và chứng chỉ của chính nó là mỏ neo để máy khách quyết định một chuỗi có đáng tin hay không. Chứng chỉ đó công khai theo thiết kế: gửi nó trong mỗi hồ sơ là bình thường, và đó là lý do một triển khai tự ký có thể chạy mà không cần nhà cấp thương mại.

Điều không bao giờ được xuất hiện trong hồ sơ máy khách là khóa ký riêng của nhà cấp. Máy khách không cần nó để xác minh bất cứ điều gì, và sự hiện diện của nó nghĩa là ai có hồ sơ cũng có thể tạo danh tính mới cho toàn bộ triển khai.

Tin một nhà cấp cũng hẹp hơn vẻ ngoài. Máy khách chấp nhận mọi chứng chỉ do CA đó ký vẫn sẽ chấp nhận chứng chỉ cấp cho một dịch vụ khác trên cùng CA. Những tùy chọn ghim vai trò hoặc tên máy chủ mong đợi sẽ bịt khoảng trống đó, và Tài liệu tham chiếu tùy chọn TLS liệt kê các chỉ dẫn xác minh làm việc đó.

Chứng chỉ máy chủ và máy khách chỉ về hai hướng ngược nhau

Chứng chỉ của máy chủ là thứ máy khách kiểm tra để xác nhận đã tới đúng điểm cuối. Chứng chỉ máy khách của bạn chạy ngược lại: máy chủ dùng nó để quyết định thiết bị hoặc người dùng này là một đối tượng nó đã ghi danh. Cùng định dạng, hướng tin cậy ngược nhau.

Địa chỉ không phải danh tính. Tới đúng IP không chứng minh gì về việc ai đã trả lời, vì vậy việc kiểm tra tên máy chủ hoặc tên chứng chỉ vẫn thuộc về hồ sơ. Mật khẩu tài khoản cũng không âm thầm thay thế chứng chỉ máy khách bắt buộc, vì hai thứ được kiểm tra ở các giai đoạn khác nhau và một triển khai có thể yêu cầu cả hai.

Khóa riêng của máy khách là phần phải giữ kín. Nếu nó có thể đã bị lộ, việc xóa tệp khỏi máy tính của bạn không thay đổi gì trên máy chủ, nơi vẫn tiếp tục chấp nhận chứng chỉ tương ứng cho tới khi người vận hành thu hồi. Yêu cầu người vận hành thay hoặc thu hồi danh tính đó là cách sửa duy nhất đi cùng bạn.

Hai lời nhắc trông giống nhau và không giống nhau

Một khóa lưu ở dạng mã hóa sẽ hỏi cụm mật khẩu trước khi máy khách dùng được. Dịch vụ VPN có thể hỏi riêng mật khẩu tài khoản, và hai lời nhắc có thể xuất hiện cách nhau vài giây với câu chữ gần như giống hệt. Cụm mật khẩu bảo vệ một tệp trên đĩa của bạn; mật khẩu chứng minh tài khoản với máy chủ. Nhầm lẫn hai thứ này đẩy người ta vào những lần đặt lại mật khẩu không thể giúp gì.

Đọc lời nhắc trước khi đặt lại bất cứ thứ gì. Đặt lại mật khẩu tài khoản không giúp gì cho cụm mật khẩu khóa đã quên, chứng chỉ đã bị thu hồi hoặc đã hết hạn, và đặt lại mật khẩu khi lỗi là xác minh chứng chỉ biến một bản sửa hai phút thành một ca hỗ trợ. Nếu khiếu nại nhắc tới ngày hiệu lực, hãy kiểm tra đồng hồ thiết bị trước, rồi tới cửa sổ riêng của chứng chỉ được nêu tên.

Khi chứng chỉ thực sự hết hạn, bản thay thế phải đến từ nơi đã cấp nó. Khóa thuộc về người khác không phải con đường gia hạn, và mượn một hồ sơ đang chạy từ đồng nghiệp cũng không phải.

Một cuộc bắt tay sạch chứng minh điều gì và không chứng minh điều gì

Tới được một cuộc bắt tay TLS hoàn tất nghĩa là quan hệ danh tính đã cấu hình giữ được: chứng chỉ máy chủ nối chuỗi tới CA của bạn và chứng chỉ của bạn được chấp nhận. Điều đó không nói gì về chính sách ghi nhật ký của người vận hành, và cũng không nói ứng dụng của bạn có chạy được sau khi đường hầm dựng lên hay không.

Tuyến và DNS là các giai đoạn sau của kết nối, nên một máy chủ nội bộ không tới được sau khi đăng nhập thành công là vấn đề kết nối chứ không phải chứng chỉ. Hãy làm việc ở lớp đó thay vì đổi thông tin đăng nhập, và giữ cùng nhau nguồn gốc hồ sơ, vật liệu riêng của nó và các kiểm tra danh tính khi bạn trao nó cho ai đó.

Bài viết liên quan