Seseorang melaporkan bahawa kunci VPN itu awam, dan ayat itu menyembunyikan tiga keadaan yang sama sekali berbeza. Ia mungkin sijil CA yang sepatutnya ada pada setiap klien, kunci identiti peribadi yang tidak sepatutnya keluar dari satu mesin, atau rahsia saluran kawalan kongsi yang mesti dipegang oleh kedua-dua hujung. Pembaikan, segera dan skop kesannya berbeza dalam setiap kes, jadi tugas pertama ialah pengelasan, bukan tindakan. Salah kategori bermakna setiap langkah seterusnya ialah usaha yang sia-sia.

Mulakan daripada arahan, bukan nama fail

Baca konfigurasi aktif dan cari arahan mana yang menunjuk kepada bahan berkenaan. Pilihan TLS OpenVPN menggunakan ca untuk bahan sijil yang dipercayai, cert untuk sijil rakan sebaya tempatan dan key untuk kunci peribadi yang berkaitan.

Nama fail tidak membuktikan apa-apa. Fail bernama key.pem mungkin mengandungi sijil, dan blok sebaris dalam profil mungkin mengandungi objek yang sama tepat seperti fail berasingan pada cakera. Buka fail itu dan lihat pengepalanya daripada mempercayai namanya. Semakan tunggal itu menghapuskan sebahagian besar kekaburan dalam laporan.

Jika profil ialah bungkusan PKCS#12, bongkarkannya di tempat terkawal untuk melihat apa yang sebenarnya terkandung. Satu bungkusan boleh membawa sijil, rantaiannya dan kunci peribadi, bermakna kebocoran bungkusan ialah kebocoran ketiga-tiganya.

Tulis pengelasan itu sebelum sesiapa mengubah fail: objek, arahan, rakan sebaya mana yang memegangnya dan siapa yang boleh membacanya. Ayat itulah asas kepada seluruh respons.

Sijil CA direka untuk dikongsi

Sijil CA awam ialah bahan kepercayaan. Klien memerlukannya untuk mengesahkan pelayan, dan mengedarkannya ialah keadaan biasa, bukan insiden. Menerbitkannya tidak menerbitkan kunci tandatangan peribadi CA, dan objek itulah yang akan membolehkan penyerang mencipta identiti baharu.

Perbezaan itu wajar dinyatakan secara jelas dalam tiket, kerana kedua-duanya sentiasa dikelirukan. Soalan yang perlu dijawab ialah sama ada fail yang bocor itu sijil atau kunci tandatangan, dan sekali pandang pada kandungan fail menyelesaikannya. Sijil membawa kunci awam dan tandatangan; kunci tandatangan tidak muncul di dalamnya sama sekali.

Pengedaran masih memerlukan kehati-hatian. Klien harus memperoleh sijil melalui laluan penghantaran profil yang diluluskan, bukan dari tapak tampal, dan sijil yang tiba melalui laluan tidak dipercayai boleh diganti dalam perjalanan.

Kunci rakan sebaya dan rahsia tls-auth bukanlah

Kunci peribadi rakan sebaya ialah bahan identiti. Setelah disalin, pelayan tidak lagi dapat membezakan peranti yang dimaksudkan daripada sesiapa yang memegang salinan itu, kerana pemilikan eksklusif ialah sifat yang dibuktikan. Meneruskan kebenaran dan penggantian ialah keputusan pemilik VPN, bukan orang yang menemui fail itu.

Rahsia tls-auth ialah perkara ketiga. Ia menambah pengesahan HMAC di sekeliling paket saluran kawalan supaya paket yang disahkan secara salah dibuang sebelum pertukaran TLS, dan ia bukan kunci peribadi rakan sebaya dan bukan kunci yang menyulitkan data aplikasi.

Jika rahsia kongsi itu awam, penghalang yang diberikannya telah hilang bagi semua yang memilikinya. Ia tidak bermakna setiap pemegang lulus semakan sijil dan pengguna di belakangnya, itulah sebabnya pengelasan lebih penting daripada tahap penggera. Nyatakan penghalang mana yang jatuh, dan nyatakan yang mana masih tinggal.

Baiki peranan yang bocor, bukan peranan jiran

Rahsia kongsi tidak boleh dijadikan peribadi semula dengan menukar nama fail atau menyembunyikan pautan muat turun. Penggantian bermaksud menjana nilai baharu dan mengedarkannya kepada setiap rakan sebaya dalam perubahan yang diselaraskan, dan menggantikan satu pihak sahaja merosakkan persetujuan bagi semua yang masih memegang nilai lama.

Jika identiti rakan sebaya terdedah, gunakan proses pembatalan dan pendaftaran semula pengendali untuk identiti itu. Menukar kata laluan akaun yang tidak berkaitan tidak membatalkan sijil yang disalin, dan menukar fail tls-auth juga tidak.

Sahkan apa yang sebenarnya dikuatkuasakan oleh pelayan yang digunakan sebelum bergantung pada mana-mana daripadanya. Senarai pembatalan yang tidak dimuat semula, atau semakan peranan yang dilumpuhkan semasa gangguan, mengubah jawapan sepenuhnya. Baca konfigurasi yang berjalan, bukan salinan dalam repositori.

Nilai trafik lalu dengan syaratnya sendiri

Fail yang terdedah tidak dengan sendirinya memberitahu sama ada sesi yang ditangkap sebelum ini boleh dinyahsulitkan. Itu bergantung pada kaedah penubuhan kunci, bahan yang terdedah dan rekod yang wujud, dan kedua-dua ‘semua trafik hilang’ dan ‘tiada apa berlaku’ ialah tekaan tanpa fakta itu.

Jangan siarkan satu lagi salinan kelayakan semasa bertanya kategori mana ia tergolong. Kongsi nama arahan dan metadata bukan rahsia melalui laluan sokongan yang diluluskan.

Kesimpulan yang berguna menamakan objek, peranannya, perlindungan yang hilang dan tindakan terselaras yang diperlukan. Apa-apa yang lebih pendek ialah tajuk, bukan penilaian.

Artikel berkaitan