Anda menerbitkan sertifikat host baru dengan alamat overlay yang berbeda, menyalinnya menimpa berkas lama, mengirim muat ulang, dan host tetap menjawab pada alamat yang sebelumnya dipakainya. Refleksnya adalah menganggap muat ulang gagal atau berkas yang dibaca salah. Biasanya tidak ada yang terjadi: proses yang berjalan sengaja mempertahankan identitas yang sudah dimilikinya, karena penggantian mengubah sesuatu yang tidak dapat diterapkan oleh muat ulang.

Dukungan muat ulang PKI Nebula didokumentasikan dengan batas itu, dan mudah terlewat ketika dokumentasi yang sama menunjukkan muat ulang bekerja untuk perubahan lain.

Apa yang sebenarnya dibaca ulang oleh muat ulang

Sertifikat host bukan sekadar kredensial seperti halnya kunci SSH. Ia membawa alamat overlay, nama host, keanggotaan grup, dan jendela masa berlaku, dan semuanya terikat oleh tanda tangan CA. Daemon memakai isi bertanda tangan itu untuk memutuskan bagaimana ia menampilkan diri dan aturan apa yang berlaku baginya.

Muat ulang memungkinkan proses mengambil kredensial yang diperbarui tanpa menjatuhkan terowongannya, yang bernilai untuk rotasi rutin: alamat sama, nama sama, grup sama, kedaluwarsa lebih lambat. Batasannya adalah identitas harus tetap sama. Ubah alamat overlay dan jalur muat ulang tidak dapat menerapkannya, karena alamat adalah bagian dari hal yang sudah disepakati instans yang berjalan.

Jadi perilaku yang Anda lihat adalah batas terdokumentasi yang menjalankan tugasnya, bukan kegagalan senyap. Berkas di disk baru; identitas di memori lama; proses tidak punya cara yang didukung untuk mendamaikan perbedaan itu tanpa restart.

Alamat, nama, dan grup adalah satu identitas

Akan membantu bila memandang sertifikat sebagai satu catatan, bukan sekumpulan bidang yang bisa Anda sunting secara terpisah. Memindahkan alamat tidak seperti mengubah preferensi, karena alamat muncul di konfigurasi peer host lain, di pengikatan layanan, dan di kebijakan yang ditulis terhadap identitas itu.

FieldWhat changes when you replace it
Overlay addressPeers that pinned the old address, service bindings, and any rule written against it
Host nameName-based policy and the identities other hosts expect to see
GroupsWhich access rules match, even if the address stays identical
Validity windowNothing structural, which is why renewal reloads cleanly

Grup layak mendapat barisnya sendiri karena mereka menyebabkan versi yang lebih senyap dari kebingungan yang sama. Host yang mempertahankan alamatnya tetapi berpindah grup dapat menjangkau layanan berbeda setelah restart, dan uji yang hanya melakukan ping ke alamat lama akan tampak sepenuhnya sehat sementara keputusan akses telah berubah di bawahnya. Periksa satu layanan yang diatur aturan, bukan hanya keterjangkauan. Itulah beda antara memastikan terowongan dan memastikan kebijakan.

Bandingkan sertifikat yang dimuat dengan penggantinya

Sebelum menganggap daemon mengabaikan berkas, baca keduanya. Cetak sertifikat yang hendak Anda muat dan pastikan bidang yang Anda kira berubah, lalu pastikan konfigurasi yang berjalan menunjuk ke jalur itu dan bukan ke salinan di tempat lain.

nebula-cert print -path /etc/nebula/host.crt
systemctl status nebula
ps -o args= -p $(pgrep -f 'nebula -config' | head -1)

Argumen proses lebih penting daripada yang orang duga. Unit yang meneruskan -config /etc/nebula/config.yml membaca entri pki.cert berkas itu, dan sertifikat yang dipasang di direktori sementara tidak memengaruhi apa pun. Periksa jalur di baris perintah yang berjalan, bukan jalur di dokumentasi yang Anda ikuti. Jika keduanya berbeda, Anda telah menemukan masalahnya tanpa menyentuh sertifikat sama sekali.

Jika sertifikat baru punya alamat berbeda dan proses mempertahankan yang lama, kini Anda punya penjelasan, bukan misteri. Restart jika itu dapat diterima, dan perlakukan perubahan alamat sebagai perubahan jaringan yang terencana, bukan kebetulan.

Perubahan alamat adalah perubahan jaringan

Rencanakan seperti Anda merencanakan memindahkan mesin. Host lain mungkin telah menyematkan alamat lama di konfigurasinya, layanan mungkin mengikat secara eksplisit kepadanya, dan aturan firewall mungkin ditulis terhadapnya. Mengubah sertifikat memindahkan host, dan memindahkan host membatalkan asumsi di tempat lain.

Sediakan jalur manajemen kedua selama melakukannya, karena koneksi overlay mungkin justru yang sedang Anda ganggu. Melakukannya lewat terowongan yang akan Anda putus adalah cara klasik mengubah perubahan lima menit menjadi kunjungan ke lokasi.

Apakah restart dapat diterima tergantung pada apa yang dilakukan host, dan itu pertanyaan penjadwalan, bukan teknis. Yang tidak opsional adalah mengakui kebutuhan restart alih-alih mengirim muat ulang untuk kelima kalinya.

Pensiunkan kredensial lama secara terpisah

Memasang pengganti di satu mesin membuat setiap peer masih memercayai kredensial yang sudah dikenalnya. Jika alasan perubahan adalah kompromi, identitas lama harus dipensiunkan melalui prosedur kepercayaan atau daftar blokir agar peer benar-benar menolaknya.

Itu langkah terpisah dengan verifikasinya sendiri: pastikan dari host lain bahwa identitas lama tidak lagi berfungsi, alih-alih menganggap berkas baru sudah menyelesaikan tugasnya. Dokumentasi konfigurasi PKI Nebula mencakup pengaturan yang dapat dimuat ulang dan batasan alamat yang dijelaskan di sini, dan ada baiknya membacanya utuh sebelum merotasi apa pun yang menghadap produksi.

Artikel terkait