Cổng kết nối của bạn chấp nhận một chứng chỉ máy khách mà nó chưa từng thấy, vì thứ mà nó được cấu hình là một nhà phát hành tin cậy, và chứng chỉ đến trong lúc bắt tay. Giao thức phải hoạt động như vậy, và đó cũng là lý do bản liệt kê thư mục trên máy chủ là một bản kiểm kê kém. Nhà phát hành biết mình đã tạo gì, máy chủ biết cái gì đã kết nối, và trạng thái thu hồi biết cái gì đã bị rút. Một bản kiểm kê trộn ba bản ghi đó cuối cùng lại khẳng định điều mà không bản ghi nào đã nói.

Cổng kết nối tin vào nhà phát hành, không phải bản liệt kê tệp

Việc xác thực so sánh chứng chỉ được trình với một mỏ neo tin cậy, nên một danh tính do cùng nhà phát hành đó tạo ra hôm qua vẫn kết nối được mà chưa bao giờ tồn tại trên đĩa của máy chủ. Không cần sao chép gì để điều đó xảy ra, và không ai phải phê duyệt bằng tay. Vì vậy các bản ghi của chính máy chủ mô tả những lần đến, không phải toàn bộ danh tính có thể đến.

Khoảng trống ngược lại cũng khó chịu không kém. Một thư mục có thể chứa chứng chỉ đã hết hạn, chứng chỉ đã bị thu hồi và những danh tính cấp cho thiết bị chưa bao giờ được triển khai. Đếm tệp trả lời có bao nhiêu tệp, một câu hỏi mà không ai đặt ra. Thay vào đó hãy bắt đầu từ những bản ghi mang ý nghĩa.

Bốn câu hỏi, bốn loại sổ sách khác nhau

Mỗi loại bản ghi trả lời tốt một câu hỏi và trả lời kém những câu còn lại, vì thế một báo cáo hợp nhất chúng trông đầy đủ trong khi lại sai theo một cách cụ thể. Bảng dưới đây sắp xếp chúng theo câu hỏi mà chúng giải quyết, không theo hệ thống tạo ra chúng.

Question you are answeringWhere the answer livesHow quickly it changesWhat it will never show
Was this identity ever created?The issuer's issuance databaseOnly when something is issuedWhether the device still exists
Is a copy sitting on this host?The paths you actually inspectedWhenever anyone copies filesCertificates that were never copied here
Has the issuer withdrawn it?Published revocation stateWhen the issuer next publishesWithdrawals that are not published yet
Is it connected right now?The live session tableContinuouslyAnything about past or future sessions

Một kho lưu trữ chứng chỉ công khai không phải là bí mật, vì nó không chứa khóa riêng, nhưng cũng không thể chia sẻ. Chủ thể và tên thiết bị tiết lộ chi tiết vận hành, và báo cáo nên ở lại với đối tượng cần nó. Khóa riêng hoàn toàn nằm ngoài bản kiểm kê, vì bản kiểm kê cần siêu dữ liệu chứ không cần thông tin xác thực.

Nhà phát hành và số sê-ri là khóa ổn định duy nhất

Chủ thể được tái sử dụng và tên tệp được dùng lại, nên một cái tên từng định danh một thiết bị năm ngoái nay có thể định danh thiết bị khác. Không cái nào là khóa, và một báo cáo dựa trên bất kỳ cái nào trong đó cuối cùng sẽ gộp hai danh tính vào một dòng.

Cặp nhà phát hành và số sê-ri định danh một chứng chỉ một cách duy nhất, và cả hai trường đều đến từ chính chứng chỉ. Hãy ghi chúng cùng với chủ thể, ngày hiệu lực, nguồn mà bản sao đến từ đó và người hoặc thiết bị chịu trách nhiệm. Thêm trạng thái thu hồi và triển khai như những trường riêng với thời điểm quan sát riêng, vì một chứng chỉ trong cửa sổ hiệu lực không tự động được cấp quyền. Hai sự thật này sống trong những hệ thống khác nhau, và gộp chúng lại sẽ che giấu trường hợp một danh tính đã bị rút trong khi tệp của nó vẫn trông mới.

Đọc từng chứng chỉ một

Một ký tự đại diện mở rộng khắp thư mục không phải là giao diện hàng loạt, và nó che giấu tệp nào tạo ra đầu ra nào. Đọc siêu dữ liệu theo từng chứng chỉ, và đọc phía thu hồi từ chính hiện vật của nó. Tài liệu tham chiếu OpenSSL x509 liệt kê các trường mà những tùy chọn đó in ra.

openssl x509 -in <cert>.pem -noout -issuer -serial -subject -dates -fingerprint -sha256
openssl crl -in <issuer>.crl -noout -text | head -n 40

Với một PKI Easy-RSA được quản lý, hãy truy vấn cơ sở dữ liệu phát hành qua quy trình công việc mà công cụ hỗ trợ thay vì giả định một cách bố trí thư mục, và giữ bản gốc ở chế độ chỉ đọc trong khi bản kiểm kê được lắp ráp. Định dạng sổ đủ đều đặn để đếm các mục hợp lệ và liệt kê những mục đã bị rút mà không phải mở cơ sở dữ liệu bằng tay.

grep -c '^V' pki/index.txt
grep '^R' pki/index.txt | cut -f4,5

Một bản kiểm kê sống sót qua lần phát hành tiếp theo

Một lần kết xuất thư mục trở nên lỗi thời ngay khi chứng chỉ tiếp theo được phát hành, vì vậy hãy xây dựng báo cáo từ quy trình phát hành và để nó cập nhật như một phần của vận hành bình thường. Điều đó cũng làm báo cáo có thể tái tạo, một điều quan trọng khi hai người không đồng ý về những gì đã được phát hành.

Hãy dùng kết quả cho các quyết định gia hạn và ngừng sử dụng chứ không phải như một bài tập bảng tính. Xóa một bản sao cục bộ không làm mất hiệu lực những bản sao từ xa đã tồn tại. Hãy thu hồi danh tính qua quy trình thu hồi và cấp quyền đã cấu hình, rồi ghi lại việc thu hồi kèm ngày của nó. Một danh tính đã biến mất khỏi máy chủ nhưng nhà phát hành vẫn tin cậy thì chưa bị ngừng sử dụng, và chính sự khác biệt đó phân tách một bản kiểm kê chính xác với một bản chỉ để trấn an.

Bài viết liên quan