Anda membatalkan sijil, menjana senarai baharu, dan profil lama masih menaikkan terowong. Pembatalan itu sendiri tidak rosak: CRL ialah pernyataan bertandatangan bahawa nombor siri tidak lagi sah, dan ia mengubah akses hanya apabila komponen yang menamatkan TLS memuatkannya, untuk penerbit yang betul, sebelum membuat keputusan penerimaan. Di situlah kebanyakan kes ini berada, dan sebab itulah pembatalan dan penolakan ialah dua fakta berasingan.

Lalui lima pemeriksaan di bawah mengikut urutan, dan berhenti pada yang pertama tidak berlaku, kerana setiap pemeriksaan berikutnya menganggap yang sebelumnya benar.

Semak komponen mana yang membuat keputusan penerimaan

Namakan proses yang mengesahkan sijil klien, kerana hanya proses itu boleh menguatkuasakan senarai. Pada pelayan OpenVPN ia ialah daemon itu sendiri, dikonfigurasikan dengan crl-verify. Dalam ocserv ia ialah baris crl dalam ocserv.conf. Dalam strongSwan input ialah CRL yang dimuatkan bersama strictcrlpolicy. Proksi atau peranti yang menamatkan TLS di hadapan VPN juga boleh menjadi pengesah sebenar, dan jika begitu, daemon di belakangnya tidak pernah melihat sijil klien.

WireGuard tergolong dalam kategori lain. Ia tiada sijil dan tiada senarai pembatalan; pasangan diterima melalui kunci awamnya dalam konfigurasi, jadi menamatkan akses bermakna membuang kunci itu. Jika anda mencari CRL dalam penggunaan yang hanya mempunyai WireGuard, mekanisme itu tiada di sana.

Berhati-hati juga dengan perangkap di sebelah klien. Klien yang enggan bersambung kerana tidak menyukai sijil pelayan sedang menguatkuasakan rantaian pelayan, bukan membatalkan kelayakannya sendiri. Sijil pengguna hanya dibatalkan di tempat sijil pengguna itu disahkan, dan itu hampir selalu sebelah pelayan.

Semak untuk penerbit mana senarai itu ditandatangani

CRL terhad kepada satu CA penerbit. Dengan akar dan perantaraan, sijil daun datang daripada perantaraan, jadi senarai yang penting ialah CRL perantaraan; senarai akar tidak mengatakan apa-apa tentang daun tersebut. Pengesah yang menghala ke fail yang salah akan menghuraikannya dengan gembira, tidak menemui entri yang sepadan dan menerima segala-galanya.

Sahkan pasangan sebelum menyentuh daemon. Penerbit pada sijil mesti sepadan dengan subject senarai:

openssl x509 -in client.crt -noout -issuer -serial
openssl crl  -in intermediate.crl -noout -issuer -lastupdate -nextupdate

Apabila kedua-duanya datang daripada CA yang sama, nombor siri yang dicetak untuk sijil ialah nilai yang mesti muncul dalam senarai. Jika ia tidak sepadan, anda memegang CRL yang salah atau salinan yang salah.

Kesahihan tergolong dalam pemeriksaan yang sama. nextUpdate pada masa lalu menjadikan senarai usang, dan pengesah yang gagal tertutup akan menolak setiap klien dan bukan hanya yang dibatalkan.

Semak sama ada nombor siri berada dalam salinan yang dimuatkan oleh daemon

Pembatalan menulis entri dalam pangkalan data CA, dan penjanaan semula menulis fail baharu. Kedua-duanya tidak sampai kepada daemon yang berjalan yang memuatkan salinan lama semasa bermula. Dump senarai dan cari nombor siri:

openssl crl -in intermediate.crl -noout -text | grep -i -A2 'Serial Number'
openssl ca -revoke client.crt
openssl ca -gencrl -out intermediate.crl

Kemudian semak bagaimana pelaksanaan anda mengambil fail. OpenVPN membaca laluan yang diberikan kepada crl-verify sekali semasa bermula, jadi senarai baharu memerlukan mula semula atau isyarat mula semula; pilihan yang sama yang dihalakan ke direktori dibaca semula pada setiap sambungan, dan itulah sebabnya mod direktori wujud. strongSwan mesti memuat semula kelayakannya, contohnya dengan swanctl --load-creds. Fail di cakera betul dan pengesah menggunakannya ialah dua fakta berbeza.

Semak dasar untuk senarai yang hilang atau tamat tempoh

Ini ialah keputusan yang tidak pernah diambil secara jelas oleh banyak penggunaan, dan ia menentukan sama ada pembatalan melindungi anda atau mengunci semua orang di luar. Fail-closed bermaksud tanpa maklumat pembatalan yang boleh digunakan, penolakan berlaku; fail-open bermaksud pengesah meneruskan tanpanya. strongSwan mendedahkan pilihan sebagai strictcrlpolicy. OpenVPN dengan crl-verify enggan bermula pada fail yang tidak dapat dibaca atau dihuraikan, dan senarai tamat tempoh muncul sebagai ralat pengesahan TLS tentang CRL tamat tempoh dan bukannya penerimaan senyap.

State of the revocation dataFail-closed resultFail-open result
List missing or unreadableVerification fails, so expect an outageEvery client connects, including the revoked one
List past nextUpdateValidation errors until a fresh list is deployedOld status is trusted indefinitely
Revoked serial present in the loaded listHandshake rejected for that certificateHandshake rejected for that certificate

Apa jua arah yang anda pilih, automasi lebih penting daripada pilihan: tugas yang menjana semula CRL sebelum nextUpdate, dan amaran apabila salinan yang digunakan menjadi tua, menghalang kedua-dua dasar daripada menjadi insiden. Semakan dalam talian dengan OCSP memindahkan kesegaran kepada responden, tetapi peraturan yang sama terpakai, kerana pengesah yang tidak dikonfigurasikan untuk menyemak jawapan tidak mengubah apa-apa.

Semak sesi aktif, kemudian salinan kunci

Pembatalan dinilai semasa pengesahan sijil, yang berlaku semasa bersambung dan semasa rundingan semula. Sesi yang telah terbentuk terus berjalan sehingga ia berunding semula, dan nilai lalai OpenVPN ialah sekali sejam dengan reneg-sec 3600. Jika orang itu perlu keluar dari rangkaian sekarang, tamatkan sesi serta menerbitkan senarai, kemudian sahkan bahawa sambungan semula ditolak.

Pisahkan kelayakan daripada salinannya. Menghapuskan profil pada satu komputer riba tidak menghalang salinan lain kunci peribadi yang sama daripada mengesahkan; pembatalan ialah yang menjadikan setiap salinan tidak berguna, dan hanya apabila pemeriksaan sebelumnya berlaku. Berikan peranti pengganti sijilnya sendiri supaya satu boleh dibatalkan tanpa menyentuh yang lain.

Sebelum menganggapnya selesai: komponen pengesahan telah dikenal pasti, penerbit senarai sepadan dengan penerbit daun, nombor siri yang dibatalkan berada dalam salinan yang benar-benar dimuatkan oleh daemon, dasar untuk senarai hilang atau tamat tempoh adalah sengaja dan dipantau, dan sesi aktif telah ditamatkan dan bukan ditunggu. Format di sebalik semua ini dinyatakan dalam RFC 5280.

Artikel berkaitan