Terowong naik, ping menjawab, dan semua orang menandatangani. Empat jam kemudian sesi terputus, rakan sebaya merekodkan ralat cadangan atau pertukaran kunci, dan tekaan pertama ialah sesuatu berubah pada rangkaian. Tiada apa berubah. Terowong yang membawa trafik telah membuktikan kedua-dua rakan sebaya bersetuju tentang cara mengesahkan dan cara melindungi persatuan anak pertama, dan ia tidak membuktikan apa-apa tentang pertukaran kunci yang akan mereka tuntut semasa pembaharuan. Ketidakpadanan itu terletak dalam jurang antara kedua-dua peristiwa itu.

Bersambung tidak bermakna tetapan PFS sepadan

Dengan IKEv2, persatuan anak pertama dicipta semasa pertukaran pengesahan, dan kuncinya diterbitkan daripada bahan yang telah dihasilkan oleh persatuan IKE. Tiada pertukaran Diffie-Hellman berasingan berlaku untuk anak itu, jadi dasar yang menuntutnya semasa pembaharuan tidak diuji semasa penaikan.

Pembaharuan ialah pertukaran yang berbeza. Apabila kunci persatuan anak diperbaharu, rakan sebaya boleh melakukan pertukaran kunci baharu dengan kumpulan yang dinamakan dalam cadangan mereka, dan itulah saat pertama tetapan kumpulan dibandingkan. Oleh itu dua rakan sebaya yang tidak bersetuju boleh mengesahkan, memasang persatuan anak dan melepasi trafik, kemudian gagal semasa pembaharuan.

Di mana ketidakpadanan bersembunyi dalam rentetan cadangan

Dalam strongSwan kumpulan ditambahkan pada cadangan anak, sebab itulah rentetan seperti aes256gcm16-prfsha256-ecp256 kelihatan seperti pilihan penyulitan tetapi juga membawa keperluan pertukaran kunci. Rakan sebaya yang hanya menawarkan aes256gcm16-prfsha256 tidak mempunyai keperluan itu, dan kedua-dua senarai bersilang pada penyulitan tetapi berbeza pada pertukaran.

Baca cadangan anak dan cadangan IKE sebagai senarai berasingan. Kumpulan yang muncul dalam senarai IKE tidak mengatakan apa-apa tentang senarai anak, dan menyunting satu sambil membaca yang lain ialah cara biasa perkara ini terlepas pandang.

Baca kegagalan, bukan fail yang anda sunting

Cari notify yang menamatkan pertukaran. Pembaharuan kunci anak yang mengembalikan «tiada cadangan yang boleh diterima» menunjuk kepada senarai cadangan; permintaan pembaharuan yang tidak pernah menerima balasan menunjuk kepada laluan atau kepada rakan sebaya yang berhenti mendengar. Kedua-duanya memerlukan pembaikan berbeza, dan susunan kata baris log memisahkannya.

Sahkan konfigurasi yang berjalan, bukan yang ada pada cakera. Fail yang disimpan tetapi tidak dimuatkan, atau sambungan yang dibaca semula daripada include lain, akan menghasilkan ketidakpadanan yang tidak dapat dibaiki oleh sebanyak mana penyuntingan fail yang kelihatan.

Tiga peristiwa yang semuanya dipanggil penggantian kunci

Penggantian kunci persatuan IKE, pengesahan semula IKE dan penggantian kunci persatuan anak ialah operasi berasingan dengan peraturan cadangan berasingan. Kegagalan yang dilaporkan pada salah satunya tidak mengatakan apa-apa secara langsung tentang yang lain, dan log yang mencampurkannya dibaca seperti satu kerosakan berulang sedangkan ia tiga.

Perhatikan peristiwa mana yang dinamakan rakan sebaya, kemudian periksa cadangan untuk peristiwa itu sahaja. Tukar satu senarai, muat semula dan paksa peristiwa yang sama sekali lagi. Jika log menamakan pengesahan semula, cadangan IKE itulah yang perlu dibaca. Jika ia menamakan penggantian kunci anak, cadangan anak membawa kumpulan yang penting.

Mematikan pembaharuan bukan pembaikan

Menetapkan masa penggantian kunci kepada sifar menyekat pertukaran yang gagal, dan terowong kemudian bertahan sehingga ia dibongkar atau rakan sebaya dimulakan semula. Yang anda beli ialah kunci yang lebih panjang hayat dan ketidakpadanan yang akan menemui anda lagi semasa migrasi, audit atau kemas kini vendor. Perkara sama berlaku kepada jangka hayat yang diregangkan jauh melebihi dasar yang dijangka oleh pihak lain.

Selaraskan cadangan itu. Pilih kumpulan yang dilaksanakan oleh kedua-dua rakan sebaya, letakkan dalam cadangan anak pada kedua-dua hujung, dan kekalkan dasar pembaharuan dalam julat yang benar-benar diperlukan oleh organisasi.

Buktikan dengan pertukaran yang gagal

Pendekkan masa penggantian kunci anak dalam tetingkap penyelenggaraan supaya peristiwa itu tiba dalam minit bukan jam, atau cetuskan penggantian kunci anak secara manual. Kemudian perhatikan pembaharuan yang berjaya dan sahkan trafik terus melaluinya, kerana jabat tangan baharu yang memasang persatuan anak tetapi menjatuhkan aliran aplikasi ialah kecacatan yang berbeza.

Selepas itu pulihkan jangka hayat normal dan simpan kedua-dua rekod peristiwa, yang gagal dan yang berjaya. Bukti yang anda mahu ialah sambungan bertahan melepasi kitaran hayatnya sendiri, bukan bahawa ia bertahan melepasi ping.

Artikel berkaitan