Tệp chứng chỉ của máy khách đã biến mất, và phản xạ là thu hồi tên rồi phát hành chứng chỉ mới. Phản xạ đó để chứng chỉ gốc vẫn hợp lệ, vì việc thu hồi dựa trên số sê-ri chứ không dựa trên nhãn. CA gần như chắc chắn vẫn giữ một bản sao của thứ mình đã phát hành, và việc tìm ra bản sao đó là toàn bộ công việc.

Mất tệp không phải là mất bản ghi của CA

PKI Easy-RSA lưu giữ các chứng chỉ công khai đã phát hành, và các bản phát hành hiện tại còn lưu trữ bản sao theo sê-ri trong thư mục certs_by_serial của PKI. Không cần khóa riêng để thu hồi bất cứ thứ gì. Điều quan trọng là chứng chỉ chính xác mà CA đã ký, và CA đã có nó.

Làm việc trên bản sao lưu của PKI đúng, cùng với quản trị viên sở hữu nó. Thu hồi là thao tác có thể kiểm toán, không phải sửa chữa trên cơ sở dữ liệu sản xuất lúc nửa đêm.

Bản sao chứng chỉ công khai nhúng của máy khách cũng dùng được, nếu bản triển khai đã giữ một bản.

Đọc nhà phát hành và sê-ri trước tiên

Kiểm tra PEM đã khôi phục và ghi lại nhà phát hành, số sê-ri, chủ thể và khoảng hiệu lực. Số sê-ri là duy nhất trong phạm vi một nhà phát hành, không phải giữa mọi CA trong môi trường của bạn, nên nhà phát hành là một phần của danh tính. Nếu nhiều chứng chỉ chia sẻ một chủ thể, chính các sê-ri đó phân biệt chúng.

Đối chiếu các giá trị với hồ sơ của CA và với thiết bị hoặc người mà bạn tin là đang giữ chứng chỉ.

Tên chung có thể được dùng lại, và thường là như vậy. Đừng quyết định thu hồi chứng chỉ nào trước khi các sê-ri được ghi lại.

Vì sao thu hồi chứng chỉ mới không có tác dụng

Phát hành bản thay thế với cùng tên chung tạo ra chứng chỉ thứ hai có sê-ri khác. Thu hồi bản thay thế sẽ rút chứng chỉ mới và để chứng chỉ gốc hợp lệ đến khi hết hạn. Từ góc nhìn của CA đây là hai đối tượng độc lập, và CRL liệt kê sê-ri chứ không liệt kê tên. Chỉ mục của CA giữ một dòng cho mỗi chứng chỉ đã phát hành chính vì lý do đó.

Cùng sự nhầm lẫn tạo ra lỗi ngược lại: xóa tệp của máy khách và cho rằng CA đã quên nó. Xóa trên máy khách không phải là sự kiện thu hồi, và chứng chỉ vẫn hoạt động với bất kỳ ai có bản sao.

Cả hai lỗi đều đến từ việc coi tên là danh tính.

Thu hồi chứng chỉ mà sê-ri chỉ định

Xác định đối tượng trước khi chạm vào CA: openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates in bốn giá trị trong một lượt, và sê-ri là thứ bạn đối chiếu với kho lưu trữ của CA. Easy-RSA giữ kho lưu trữ đó dưới pki/certs_by_serial, với một tệp cho mỗi sê-ri. Lệnh thu hồi nhận tên chung chứ không nhận sê-ri, nên hãy sao chép tệp đã lưu trữ vào pki/issued/<common-name>.crt và để tên trỏ tới đối tượng bạn đã xác định. Chạy easyrsa revoke <common-name> từ thư mục PKI, sau đó kiểm tra dòng tương ứng trong index.txt đã chuyển sang R hay chưa. Sê-ri là cách bạn chọn đối tượng, không phải đối số mà lệnh chấp nhận.

openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates
cp pki/certs_by_serial/A1B2C3D4.pem pki/issued/client-01.crt
./easyrsa revoke client-01
grep -n client-01 pki/index.txt
./easyrsa gen-crl

Nếu index.txt không hiển thị R, hãy dừng lại và đọc lỗi trước khi tạo CRL, vì CRL được xây từ một bản ghi vẫn còn hiệu lực sẽ không thu hồi gì cả. Chỉ sau khi dòng thay đổi bạn mới chạy easyrsa gen-crl và chuyển sang phân phối tệp.

Công bố CRL ở nơi nó thực sự được áp dụng

Tạo CRL mới thông qua quy trình được PKI hỗ trợ, sau đó công bố nó tới mọi trình xác minh thực thi việc thu hồi của nhà phát hành này.

Một tệp đã cập nhật nằm trên CA không thay đổi gì, vì VPN kết thúc quyết định tại trình xác minh của chính nó. Kiểm tra nhà phát hành của CRL, thời hạn hiệu lực và các sê-ri đã thu hồi, và xác nhận rằng dịch vụ tải lại tệp thay vì lưu bộ nhớ đệm bản trước. Quyền sở hữu và đường dẫn quan trọng như nội dung: một CRL mà daemon không đọc được không khác gì không có CRL. Tùy chọn crl-verify của OpenVPN chỉ định tệp mà daemon đọc, nên hãy kiểm tra đường dẫn đó và quyền sở hữu tệp trong cấu hình máy chủ.

Xác minh bằng một lần thử kết nối thật, không bằng dấu thời gian của tệp.

Biết khi nào CRL là công cụ sai

Nếu khóa riêng của nhà phát hành không còn đáng tin cậy, việc thu hồi các sê-ri đã biết không thể ngăn người nắm giữ không được phép ký chứng chỉ mới. Đó là quá trình chuyển đổi niềm tin của nhà phát hành, nghĩa là CA mới và kế hoạch phân phối, không phải thêm một mục trong CRL. Việc một quản trị viên cũ từng có quyền truy cập tự nó không phải bằng chứng khóa bị lạm dụng, nên hãy thu thập sự thật trước khi xây dựng lại niềm tin.

Sửa cơ sở dữ liệu phát hành bằng tay để lật một chữ cái trạng thái không thay thế cho việc thu hồi đã ký, và nó để CRL không nhất quán với hồ sơ.

Giữ sê-ri, CRL và bước phân phối trong một ghi chú, và lần kiểm toán tiếp theo sẽ trở thành bài đọc. Dự án Easy-RSA ghi lại các lệnh được hỗ trợ cho bản phát hành bạn đã cài, và đó là giao diện duy nhất đáng để tuân theo.

Bài viết liên quan