Berkas sertifikat klien Anda hilang, dan refleksnya adalah mencabut nama lalu menerbitkan yang baru. Refleks itu membiarkan sertifikat asli tetap valid, karena pencabutan bekerja pada nomor seri, bukan pada label. CA hampir pasti masih menyimpan salinan dari yang diterbitkannya, dan menemukan salinan itu adalah seluruh tugasnya.

Kehilangan berkas bukan kehilangan catatan CA

PKI Easy-RSA menyimpan sertifikat publik yang diterbitkannya, dan rilis terkini juga mengarsipkan salinan berdasarkan seri di direktori certs_by_serial milik PKI. Kunci privat tidak diperlukan untuk mencabut apa pun. Yang penting adalah sertifikat persis yang ditandatangani CA, dan CA sudah memilikinya.

Bekerjalah pada salinan cadangan PKI yang tepat, bersama administrator yang memilikinya. Pencabutan adalah operasi yang dapat diaudit, bukan perbaikan pada basis data produksi tengah malam.

Salinan sertifikat publik inline klien juga berfungsi, jika penerapan menyimpan satu.

Baca penerbit dan seri terlebih dahulu

Periksa PEM yang dipulihkan dan catat penerbit, nomor seri, subjek, dan jendela validitasnya. Nomor seri unik dalam cakupan satu penerbit, bukan di semua CA di lingkungan Anda, jadi penerbit adalah bagian dari identitas. Jika beberapa sertifikat berbagi subjek, nomor seri itulah yang membedakannya.

Cocokkan nilainya dengan catatan CA dan dengan perangkat atau orang yang Anda yakini memegang sertifikat itu.

Nama umum dapat digunakan ulang, dan biasanya memang demikian. Jangan memutuskan sertifikat mana yang ditarik sebelum nomor serinya dicatat.

Mengapa mencabut sertifikat baru tidak melakukan apa pun

Menerbitkan pengganti dengan nama umum yang sama menciptakan sertifikat kedua dengan nomor seri berbeda. Mencabut pengganti menarik yang baru dan membiarkan yang asli valid sampai kedaluwarsa. Dari sudut pandang CA keduanya adalah dua objek independen, dan CRL mendaftar nomor seri, bukan nama. Indeks CA menyimpan satu baris per sertifikat yang diterbitkan justru karena alasan itu.

Kebingungan yang sama menghasilkan kesalahan sebaliknya: menghapus berkas klien dan menganggap CA melupakannya. Penghapusan di klien bukan peristiwa pencabutan, dan sertifikat tetap berfungsi bagi siapa pun yang memiliki salinannya.

Kedua kesalahan berasal dari memperlakukan nama sebagai identitas.

Cabut sertifikat yang disebut nomor seri

Identifikasi objeknya sebelum menyentuh CA: openssl x509 -in recovered-client.pem -noout -issuer -serial -subject -dates mencetak keempat nilai dalam satu lintasan, dan nomor seri adalah yang Anda cocokkan dengan arsip CA. Easy-RSA menyimpan arsip itu di pki/certs_by_serial, dengan satu berkas per nomor seri. Perintah pencabutan menerima nama umum, bukan nomor seri, jadi salin berkas yang diarsipkan ke pki/issued/<common-name>.crt dan biarkan nama itu menunjuk objek yang Anda identifikasi. Jalankan easyrsa revoke <common-name> dari direktori PKI, lalu periksa apakah baris yang sesuai di index.txt telah berubah menjadi R. Nomor seri adalah cara Anda memilih objeknya, bukan argumen yang diterima perintah.

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

Jika index.txt tidak menampilkan R, berhentilah dan baca galatnya sebelum membuat CRL, karena CRL yang dibangun dari catatan yang masih valid tidak menarik apa pun. Baru setelah baris itu berubah Anda menjalankan easyrsa gen-crl dan melanjutkan ke distribusi berkas.

Terbitkan CRL di tempat yang benar-benar menegakkannya

Buat CRL baru melalui alur kerja PKI yang didukung, lalu terbitkan ke setiap pemverifikasi yang menegakkan pencabutan penerbit ini.

Berkas yang diperbarui dan hanya tergeletak di CA tidak mengubah apa pun, karena VPN menuntaskan keputusan di pemverifikasinya sendiri. Periksa penerbit CRL, masa validitasnya, dan nomor seri yang dicabut, lalu pastikan layanan memuat ulang berkas itu alih-alih menyimpan versi sebelumnya di cache. Kepemilikan dan jalur sama pentingnya dengan isi: CRL yang tidak dapat dibaca daemon tidak berbeda dari tidak adanya CRL. Opsi crl-verify OpenVPN menyebut berkas yang dibaca daemon, jadi periksa jalur itu dan kepemilikan berkas dalam konfigurasi server.

Verifikasi dengan percobaan koneksi sungguhan, bukan dengan stempel waktu berkas.

Ketahui kapan CRL adalah alat yang salah

Jika kunci privat penerbit tidak lagi dipercaya, menarik nomor seri yang diketahui tidak dapat mencegah pemegang tak berwenang menandatangani sertifikat baru. Itu adalah transisi kepercayaan penerbit, artinya CA baru dan rencana distribusi, bukan entri lain di CRL. Mantan administrator yang pernah memiliki akses bukan bukti kunci telah disalahgunakan, jadi kumpulkan faktanya sebelum membangun ulang kepercayaan.

Mengedit basis data penerbitan secara manual untuk membalik huruf status bukan pengganti pencabutan yang ditandatangani, dan itu membuat CRL tidak konsisten dengan catatan.

Simpan nomor seri, CRL, dan langkah distribusi dalam satu catatan, dan audit berikutnya menjadi latihan membaca. Proyek Easy-RSA mendokumentasikan perintah yang didukung untuk rilis yang Anda pasang, dan itulah satu-satunya antarmuka yang layak diikuti.

Artikel terkait