OpenVPN verify-x509-name: subject, name và name-prefix
Kiểu so khớp quyết định tên chứng chỉ nào được so sánh. subject, name và name-prefix không phải những kỳ vọng tương đương, và mặc định là subject.
Hãy đọc kiểu so khớp trước, rồi đến văn bản: một verify-x509-name chỉ thị có thể trông đúng mà vẫn chấp nhận một chứng chỉ mà bạn không định tin dùng. Hai dòng có cùng văn bản mong đợi nhưng kiểu khác nhau là hai yêu cầu khác nhau. Đọc kiểu trước, rồi đến văn bản. Hãy coi chỉ thị là một điều kiện nữa của kết nối, không phải toàn bộ việc kiểm tra.
Tùy chọn này thực sự khẳng định điều gì
Chỉ thị nêu tên một danh tính mà chứng chỉ của phía kia phải mang. Khi so sánh thất bại, OpenVPN hủy bắt tay và không có đường hầm nào dựng lên. Mọi thứ khác trong hồ sơ vẫn áp dụng: chứng chỉ phải nối chuỗi tới một CA đáng tin cậy và bước kiểm tra vai trò phải qua, nên đây là điều kiện bổ sung chứ không phải thay thế. Một hồ sơ đáp ứng kỳ vọng tên nhưng trượt kiểm tra vai trò vẫn hỏng, và nhật ký thường nói vậy.
Nó cũng khác với việc kiểm tra tên máy chủ mà trình duyệt thực hiện. Trình duyệt đối chiếu tên với các tên thay thế của subject theo quy tắc của ngăn xếp TLS của nó, trong khi OpenVPN so sánh một trường của chứng chỉ bằng kiểu bạn đã chọn. Vì thế dán một tên máy chủ kiểu trình duyệt vào chỉ thị có thể tạo ra không khớp ngay cả khi chứng chỉ thực sự bao phủ dịch vụ.
subject: toàn bộ tên phân biệt, từng ký tự
Khi không ghi kiểu nào, mặc định là subject, và giá trị mong đợi phải tái tạo toàn bộ subject DN của chứng chỉ. Thứ tự trường, dấu phân cách, khoảng trắng và escaping đều được tính, vì việc so sánh chạy trên chuỗi đúng như khi được mã hóa. Nếu bỏ trống kiểu, bạn đã chọn kiểu so sánh nghiêm ngặt nhất trong ba kiểu. Không có bước chuẩn hóa nào cứu được một khác biệt về hình thức. Điều này đáng biết trước lần gia hạn đầu tiên, chứ không phải sau đó.
Sự nghiêm ngặt đó mong manh qua các lần gia hạn. Một CA sắp xếp lại thuộc tính, chèn thêm trường hoặc thay đổi cách escaping một giá trị sẽ tạo ra chuỗi mới cho cùng một máy, và một chỉ thị đã chạy nhiều năm bắt đầu thất bại ở lần phát hành tiếp theo. Giữ DN đã chấp nhận trong bản ghi thay đổi biến lần gia hạn sau thành một khác biệt. Ở nơi nhà vận hành công bố DN đầy đủ và bảo đảm hình dạng của nó, subject là lựa chọn hợp lý; ở nơi khác, một trường hẹp hơn dễ giữ đúng hơn.
name: một trường, thường là tên chung
Kiểu name so sánh một trường của subject. Trừ khi hồ sơ nói khác, trường đó là tên chung, và giá trị mong đợi chính là trường đó, không phải DN bao quanh nó.
Cái bẫy là chứng chỉ hiện đại không phải lúc nào cũng đặt tên dịch vụ vào CN. Nhiều chứng chỉ mang nó trong một tên thay thế của subject và để CN trống hoặc chung chung, nên một chứng chỉ mà trình duyệt chấp nhận vẫn có thể trượt phép so sánh này. Hãy xem chứng chỉ thực sự được cấp cho bạn trước khi viết kỳ vọng, và xác nhận hồ sơ chọn trường nào. Một CN trống đem so với một tên là không khớp, không phải tai nạn cấu hình.
name-prefix: rộng theo thiết kế, nên hãy giới hạn phạm vi
Một kỳ vọng kiểu name-prefix khớp với phần đầu của trường đã chọn. Điều đó tiện cho một lược đồ đặt tên và nguy hiểm cho bất cứ thứ gì được chia sẻ.
Với vpn.example làm kỳ vọng, cả vpn.example.com và vpn.example.net đều sẽ qua, miễn là phần còn lại của chuỗi đáng tin cậy. Độ rộng chính là tính năng, và cũng là phần cần được biện minh bằng văn bản. Một tiền tố là hợp lý khi CA và lược đồ đặt tên là của bạn, và yếu hơn nhiều khi một CA công cộng phát hành theo cùng khuôn mẫu. Nếu lược đồ cần tính linh hoạt, hãy giới hạn nó ở CA thay vì mở rộng kiểm tra phía máy khách.
Chọn kiểu từ định danh, rồi chứng minh nó
Hãy làm ngược từ danh tính mà nhà vận hành dự định. Nếu họ công bố DN đầy đủ và giữ nó ổn định, subject thể hiện điều đó. Nếu họ gọi dịch vụ bằng tên chung, hãy dùng name . Nếu họ sở hữu một lược đồ đặt tên và chấp nhận toàn bộ không gian của nó, name-prefix nói rõ điều đó.
Các lần gia hạn là nơi chỉ thị được thử thách. So sánh danh tính đã duyệt với chứng chỉ mới thay vì với tệp cũ, vì một địa chỉ điểm cuối mới không có nghĩa là một danh tính chứng chỉ mới. Đừng xóa chỉ thị chỉ vì một địa chỉ quen thuộc trả lời: khả năng tiếp cận và bên kia dự định là hai sự kiện khác nhau , và địa chỉ chỉ chứng minh rằng có thứ gì đó đã trả lời. Ghi lại lỗi chính xác và các chi tiết công khai của tên trong một báo cáo đã làm sạch, vì không khớp tên có thể được trình bày mà không cần bất kỳ tài liệu khóa riêng nào.
Sau một sửa chữa được hỗ trợ, hãy kết nối lại với mọi bước kiểm tra dự định được bật và xác minh tài nguyên bạn thực sự cần. Thành công nghĩa là máy chủ dự định đã được chấp nhận, không phải là đã ép một chứng chỉ nào đó đi qua. Hướng dẫn chính thức OpenVPN 2.6 manual ghi lại ba kiểu và các ghi chú tin cậy của chúng, và đó là nguồn được trích dẫn khi giao diện của nhà cung cấp không đồng ý với hồ sơ.