OpenVPN klien yang berfungsi bulan lalu kini gagal semasa permulaan dengan ca md too weak, dan profil pada cakera adalah sama bait demi bait dengan yang berfungsi. Mesej itu mengenai tandatangan pada sijil pihak berkuasa sijil, bukan sifer data, digest auth atau kata laluan akaun. Tiga syarat menentukan sama ada pembaikan itu bahan identiti baharu, rantai baharu, atau perubahan dasar yang disengajakan. Lakukan mengikut urutan, dan anda mengelakkan hasil biasa apabila terowong kembali dengan melemahkan setiap sambungan TLS pada hos.

Apa yang sebenarnya dinamakan ralat itu

OpenSSL membangkitkan ralat pengesahan ini semasa membina rantai, apabila sijil yang bertindak sebagai CA membawa digest tandatangan yang tidak lagi diterima oleh tahap keselamatan pustaka. MD5 ditolak pada tahap lalai, dan SHA-1 ditolak sebaik tahap dinaikkan. Digest pada sijil daun kurang penting di sini berbanding digest pada penerbit yang menandatanganinya. Dasar yang sama boleh menolak akar yang sepenuhnya biasa pada hari ia diterbitkan.

Itulah sebabnya menyunting auth atau data-ciphers tidak melakukan apa-apa untuk kegagalan ini. Tetapan itu mengawal cara paket dilindungi selepas genggaman tangan, manakala objek yang ditolak ialah dokumen identiti yang diperiksa sebelum terowong wujud. Sijil boleh duduk selesa dalam tetingkap kesahihannya dan masih membawa tandatangan yang tidak akan diterima pustaka.

Pisahkan pemeriksaan itu dalam fikiran anda dan ralat berhenti kelihatan misteri. Tarikh kesahihan, penggunaan kunci dan digest tandatangan ialah ujian berasingan, dan tepat satu daripadanya baru sahaja gagal.

Syarat satu: adakah objek yang ditolak itu akar?

Cetak setiap sijil dalam profil dan baca medan subject serta issuer. Akar yang ditandatangani sendiri menunjukkan nilai yang sama dalam kedua-duanya, dan algoritma tandatangannya ialah yang menjadi tunjang seluruh rantai. Apabila digest lemah berada di situ, setiap daun di bawahnya mewarisi masalah itu. Tulis algoritma di sebelah subject supaya perbandingan kemudian bersifat mekanikal, bukan daripada ingatan.

Fail CA gabungan selalunya mengandungi beberapa blok, jadi kenal pasti blok yang benar-benar dimuatkan dan jangan menganggap yang pertama bersalah. Perintah openssl x509 -in ca.pem -noout -subject -issuer -text menerangkan satu sijil pada satu masa, bermakna bundel perlu dipecahkan dahulu jika ia mengandungi lebih daripada satu. Bandingkan algoritma tandatangan yang dicetak dengan digest yang anda jangkakan daripada zaman akar itu dicipta.

Daun yang ditandatangani dengan SHA-256 di bawah akar yang lemah masih gagal, kerana pemeriksaan rantai menelusuri sampai ke atas. Urutan itulah yang menjadikan syarat seterusnya penting.

Syarat dua: adakah anda mengawal penerbit?

Jika akar itu milik organisasi anda, pembaikan tahan lama ialah akar baharu dengan digest moden serta daun yang diterbitkan semula, dihantar sebagai satu kemas kini profil. Itu memerlukan tetingkap penyelenggaraan dan pelan untuk peranti yang tidak dapat menerima kemas kini pada hari yang sama.

Jika pihak ketiga menerbitkan rantai itu, pembaikannya ialah permintaan kepada pengendali tersebut, dan satu-satunya tindakan setempat yang berguna ialah berhenti bergantung pada bahan lama. Menyunting teks PEM atau menyimpan semula fail tidak mengubah apa-apa yang diliputi oleh tandatangan.

Satu kes pertengahan wajar dinamakan: akar dalaman yang lebih tua daripada lalai semasa tetapi masih menandatangani bahan yang dipercayai sistem lain. Menggantikannya bermakna mengaudit setiap pengguna, termasuk perkakas yang menyematkan sijil lama melalui cap jari. Kira pengguna itu sebelum menjadualkan perubahan, kerana pertukaran akar yang terlepas seorang menukar ralat permulaan kepada gangguan perkhidmatan.

Syarat tiga: apa lagi yang diterima apabila tahap diturunkan

Menurunkan tahap keselamatan, atau memilih profil sijil legasi OpenVPN, membuat klien menerima digest lama semula. Ia juga melonggarkan pemeriksaan lain dalam pustaka yang sama, bagi setiap sambungan yang dibuat oleh proses itu.

Itu boleh dipertahankan di makmal, atau sebagai jambatan singkat sementara bahan pengganti disediakan, asalkan pengecualian itu terhad kepada satu profil dan mempunyai tarikh tamat. Sebagai tetapan kekal pada hos dikongsi, ia secara senyap meluaskan apa yang akan dipercayai oleh setiap klien TLS di situ.

Tuliskan pengecualian itu bersama pemilik dan langkah pembuangan. Perubahan tahap yang tidak didokumenkan tidak dapat dibezakan daripada kesilapan enam bulan kemudian, dan jurutera seterusnya tidak akan tahu ia pernah menjadi keputusan.

Keputusan, ditulis sebagai peraturan

Ganti rantai apabila anda mengawal penerbit dan boleh menyenaraikan penggunanya. Naikkan kepada penerbit apabila anda tidak mengawalnya. Turunkan tahap hanya sebagai pengecualian bertarikh dan terbatas dengan pengganti sudah dijadualkan. Apa-apa lagi membiarkan sijil yang sama di tempatnya dan memindahkan risiko ke tempat yang kurang kelihatan.

Kemudian uji semula profil daripada klien bersih, sahkan genggaman tangan selesai, dan simpan teks penolakan yang tepat jika ia masih gagal. Mesej ralat yang tepat ialah perkara paling murah yang boleh anda berikan kepada pemilik lapisan seterusnya.

Artikel berkaitan