Klien yang dibatalkan masih menyambung: senarai tidak pernah tiba
Pembatalan ialah input kepada pengesahan sijil, bukan arahan yang menamatkan sesi. Bandingkan cara sambungan baharu dan terowong yang berjalan melihat senarai itu.
Pembatalan tidak pernah masuk ke dalam terowong yang berjalan untuk memadam sesi. Senarai ialah input kepada pengesahan sijil dan dirujuk semasa pertukaran saluran kawalan yang memulakan sesi TLS. Satu fakta itu menjelaskan kedua-dua kejutan: klien yang dibatalkan menyambung semula kerana senarai itu tidak pernah sampai kepada pengesah, dan sesi sedia ada terus hidup kerana tiada siapa mengesahkan semula apa-apa.
Senarai ialah input, bukan tindakan
Semasa sesi dibentuk, pelayan mengesahkan sijil klien terhadap sauh kepercayaannya, dan arahan pembatalan menambah carian senarai kepada keputusan itu. Semakan berlaku di pelayan, jadi klien tidak dapat melihat sijilnya telah dibatalkan dan terus menawarkan sijil yang sama. Profil yang masih menyambung kerana itu hanya membuktikan bahawa sesuatu pengesah menerima rantaian itu, bukan bahawa pembatalan gagal.
Senarai itu sendiri ialah objek bertandatangan dengan tarikh terbit dan tarikh kemas kini seterusnya. Senarai yang tidak berkaitan, yang ditandatangani pihak berkuasa lain, atau yang tarikh kemas kini seterusnya telah berlalu bukan pengganti senarai semasa, dan sama ada senarai lapuk ditolak atau diterima secara senyap bergantung pada penggunaan.
Sambungan baharu berbanding sesi berjalan
Pembatalan dinilai apabila sesi dibentuk atau dirunding semula, bukan terhadap saluran data pada setiap paket. Klien yang sudah bersambung memegang kunci trafik, jadi ia terus meloloskan paket selepas sijilnya muncul dalam senarai. Selang rundingan semula lalai diukur dalam jam, kerana itu senarai yang dikemas kini boleh berkuat kuasa untuk pendatang baharu sementara terowong yang berjalan kekal.
| Situation | What the list does | When it applies |
|---|---|---|
| Fresh connection | Blocks the handshake | At verification, immediately |
| Renegotiation | Blocks the new exchange | At the next renegotiation interval |
| Established data channel | Nothing | Until the session ends |
Penguatkuasaan segera memerlukan tindakan yang disengajakan, bukan senarai sahaja. Memulakan semula perkhidmatan memaksa setiap klien menyambung semula, manakala menamatkan satu sesi melalui antara muka pengurusan membiarkan yang lain tidak tersentuh. Pilih satu bagi setiap insiden dan catat mana yang anda gunakan. Kedua-dua pilihan mempunyai julat kesan berbeza, dan itulah keputusan sebenar.
Hantar fail yang benar-benar dibaca oleh pengesah
Senarai mesti dijana daripada rekod pihak berkuasa dan kemudian disalin ke setiap mesin yang mengesahkan sijil. Menjanakannya di hos CA dan tidak pernah memasangnya di pelayan ialah kegagalan paling biasa, dan ia kelihatan tepat seperti ciri pembatalan yang rosak.
ca ca.crt
cert server.crt
key server.key
crl-verify /etc/openvpn/crl.pem
Dua butiran menentukan sama ada fail itu benar-benar dibaca. Laluan relatif diselesaikan terhadap direktori konfigurasi, jadi salinan yang ditinggalkan dalam direktori rumah pengendali mungkin tidak pernah ditemui. Dan daemon biasanya melepaskan keistimewaan selepas bermula, jadi akaun masa jalan memerlukan kebenaran carian pada setiap direktori induk serta kebenaran baca pada fail. Semak kedua-duanya dengan akaun masa jalan bukan dengan root, jika tidak ujian membuktikan perkara yang salah.
Pada hos systemd unit yang diperkukuh juga boleh menyembunyikan laluan, dengan paparan baca sahaja atau direktori sistem yang dilindungi. Dari dalam perkhidmatan itu tidak dapat dibezakan daripada fail yang hilang, jadi semak sekatan unit sebelum mencari kesilapan kebenaran. Baca fail unit sebelum menyalahkan mod fail.
Sahkan di pelayan, bukan di klien
Log pelayan menamakan apa yang berlaku: membuka senarai, memuatkannya atau pengesahan gagal dengan nombor siri yang dibatalkan. Klien hanya melaporkan kegagalan jabat tangan umum, kerana itu log klien tempat yang buruk untuk mencari keputusan pembatalan.
Sahkan dengan percubaan baharu daripada profil yang dibatalkan dan kemudian berhenti. Sambungan berjaya daripada profil itu ialah isyarat untuk memeriksa laluan fail dan akaun masa jalan, bukan untuk menganggap senarai itu salah. Simpan percubaan berjaya itu sebagai ujian penerimaan, dan jangan kira sambungan semula yang anda tidak perhatikan.
Apa yang tidak membatalkan apa-apa
Memadam profil daripada komputer riba, membuang fail sijil daripada klien atau memberitahu pengguna berhenti menyambung tidak mengubah apa-apa di pelayan. Sijil kekal sah sehingga pihak berkuasa merekodkan pembatalan dan pengesah membaca senarai yang terhasil.
Sebab itu rantaian itu wajar ditulis: rekodkan pembatalan, jana dan tandatangani senarai, edarkan fail itu tepat, dan sahkan bahawa akaun perkhidmatan boleh membacanya. Setiap pautan pendek, dan mana-mana yang hilang membiarkan klien yang dibatalkan menyambung dengan riang. Senarai semak empat baris mengalahkan andaian tanpa satu baris pun.