Membaca medan awam sesuatu sijil tidak sekali-kali memerlukan paparan kunci persendirian yang sepadan dengannya, dan alat untuk berbuat demikian sudah ada pada setiap sistem yang menamatkan VPN. Risikonya terletak satu langkah lebih awal: fail yang diserahkan kepada anda mungkin bukan sijil sama sekali. Sijil PEM, blok DER, bungkusan PKCS#12 dan profil OpenVPN boleh tiba dengan nama yang sama tetapi menyimpan bahan yang sangat berbeza, jadi kenal pasti bekasnya sebelum memilih arahan.

Tiga fakta menentukan arahan mana yang selamat: apa yang disimpan oleh fail, apa yang perlu anda baca daripadanya, dan siapa yang akan melihat output. Jika salah satu tersilap, pemeriksaan itu sendiri menjadi insiden.

Tiga jenis fail yang mungkin anda terima

Sijil PEM ialah teks dengan penanda BEGIN dan END yang kelihatan, fail DER ialah binari yang memerlukan bendera format input, dan sesuatu bungkusan ialah bekas yang mungkin menyimpan kunci di sebelah sijil. file server.crt memisahkan teks daripada binari dalam satu saat, dan pandangan sekilas pada baris pertama memisahkan sijil kosong daripada profil yang membenamkan sijil. Meneka di sini ialah apa yang mengubah pemeriksaan menjadi insiden.

Jika fail itu ialah profil dan bukan sijil, anggap ia sebagai kelayakan sehingga terbukti sebaliknya. Andaian itu tidak merugikan apa-apa, dan ia menghalang kesilapan paling biasa dalam keseluruhan tugas ini.

Membaca medan awam sijil PEM

Bagi sijil yang anda dibenarkan memeriksa, subarahan x509 dengan -noout mencetak medan yang anda pilih dan tiada yang lain. Menyekat badan sijil ialah apa yang mengekalkan output kepada metadata, yang juga menjadikannya selamat untuk ditampal ke dalam tiket. Pemilih di bawah ialah yang awam, dan dokumentasi openssl x509 menyenaraikan yang selebihnya.

openssl x509 -in server.crt -noout -subject -issuer -dates -fingerprint -sha256

Pada sijil ujian yang dijana secara setempat, arahan itu mencetak baris subjek dan pengeluar, pasangan notBefore dan notAfter, serta satu cap jari SHA-256. Medan tersebut mengenal pasti objek itu; ia tidak membuktikan laluan kepercayaan yang sah, yang merupakan tugas pengesahan berasingan dengan arahannya sendiri dan jawapannya sendiri. Fail rantaian juga mungkin mencetak hanya sijil pertama melainkan anda mengulanginya sendiri. Membandingkan dua fail dengan cara ini hanya memerlukan satu arahan dan menetapkan fail mana yang benar-benar dipersembahkan oleh pihak di hujung sambungan.

Bungkusan yang menyimpan kunci di sebelah sijil

Fail .p12 atau .pfx boleh membawa kunci persendirian, dan arahan penghuraian akan mencetaknya melainkan anda menyekat bahagian output itu. Dengan -nokeys, arahan yang sama masih melaporkan struktur bekas itu, termasuk beg kunci bertudung, tanpa mengeluarkan sebarang bahan kunci; buang bendera itu dan blok kunci akan muncul di terminal anda dan dalam sejarah shell anda.

openssl pkcs12 -in bundle.p12 -nokeys -info -passin env:P12PASS

Profil OpenVPN membenamkan bahan yang sama sebagai teks, jadi sempadannya kelihatan jika anda tahu di mana hendak melihat. Bahan awam terletak antara BEGIN CERTIFICATE dan END CERTIFICATE, manakala apa-apa antara BEGIN PRIVATE KEY dan baris END yang sepadan ialah kunci dan tidak boleh meninggalkan hos. Menyalin profil secara keseluruhan menerbitkan kedua-duanya.

Mendapatkan nilai rujukan dari tempat lain

Cap jari yang dibaca daripada sambungan yang anda cuba sahkan tidak membuktikan apa-apa, kerana pihak yang anda tidak percayai yang memberikannya. Itu bukan hujah menentang cap jari; itu hujah tentang asal usul. Bandingkan nilai itu dengan nilai yang diperoleh melalui saluran yang tidak boleh ditulis oleh pihak tersebut, seperti sijil yang diterbitkan dalam repositori dalaman atau cincangan yang dicetak dalam rekod perubahan yang ditandatangani.

Jika stor kepercayaan melakukan pengesahan, biarkan ia melakukannya, dan baca ralat yang dihasilkannya daripada menggantikannya dengan perbandingan anda sendiri. Perbezaan yang penting ialah siapa yang membekalkan rujukan, bukan fungsi cincang mana yang digunakan.

Berkongsi hasil, dan apa yang perlu dilakukan selepas tersilap

Hantar ralat pengesahan yang tepat, tarikh yang berkaitan dan hanya butiran identiti yang diperlukan oleh penerima. Nama hos dalaman dan pengecam akaun kekal sensitif walaupun tiada kunci, dan perkhidmatan tampal awam ialah destinasi yang salah untuk semuanya. Tampal ke dalam tiket, bukan ke dalam penimbal sementara yang dikongsi orang lain.

Jika bahan kunci memang muncul di skrin atau dalam fail, anggap ia telah terkompromi dan putarkannya daripada berharap tiada siapa yang melihat. Kemudian catat fail yang diperiksa, arahan yang digunakan dan ke mana output pergi, kerana rekod itulah yang mengubah ketakutan menjadi prosedur. Pemutaran murah berbanding kos menganggap tiada siapa menyimpan tangkapan skrin, dan rekod yang sama memberitahu jurutera seterusnya fail mana yang disentuh sama sekali. Lakukan kedua-duanya sebelum tiket ditutup.

Artikel berkaitan