Soalan
Reka bentuk satah kawalan guling ganti kunci DNSSEC untuk platform yang mengehoskan puluhan ribu zon bertandatangan. Ia menyelaraskan rekod DS pendaftar, rekod DNSKEY/RRSIG DNS berwibawa, dan kelulusan penyewa tanpa mendedahkan penyelesai pengesahan kepada rantaian yang terputus.
Senario dan kekangan
Jangka hayat KSK dan ZSK berbeza, API pendaftar mengalami kelewatan dan boleh dicuba semula, serta nod berwibawa merentasi pelbagai rantau. Satah kawalan memerlukan percubaan semula idempoten, jeda bagi setiap penyewa, peralihan keadaan yang boleh diaudit, dan tingkah laku gagal-tertutup (fail-closed) apabila sesuatu langkah tidak pasti.
Perkara yang diuji
Terasnya ialah mesin keadaan (state machines), ketakvarian masa, orkestrasi kesan sampingan luaran, dan kebolehcerapan. Jawapan yang mantap membezakan prapenerbitan DNSKEY, penerbitan DS, penamatan kunci lama, dan pertindihan tandatangan; menjana kunci semata-mata bukanlah satu guling ganti.
Pendekatan rujukan
Kekalkan mesin keadaan bagi setiap zon: observe, prepublish, ds-submit, ds-visible, sign-with-both, retire-old, dan verify. Rekodkan versi yang diingini, token operasi, belanjawan TTL, dan snapshot bukti pada setiap peralihan. Terbitkan DNSKEY baharu ke semua nod berwibawa dan tunggu tempoh TTL-nya, kemudian serahkan DS melalui pendaftar. Selepas DS induk kelihatan melalui beberapa penyelesai rekursif, tandatangani dengan kedua-dua kunci untuk tetingkap keselamatan, dan hanya selepas itu buang DS dan DNSKEY lama.
Jalankan satu zon pada satu masa di bawah pajakan (lease). Panggilan luaran menggunakan kunci keidempotenan dan undur eksponen (exponential backoff). Bekukan zon apabila berlaku SERVFAIL, ketidakpadanan DS/DNSKEY, atau RRSIG tamat tempoh; kekalkan bahan lama dan minta kelulusan manusia.
Butiran kritikal
Pangkalan data menyimpan keadaan yang diingini, manakala pertanyaan DNS dan bacaan semula pendaftar ialah punca kebenaran (sources of truth); konflik tidak boleh ditimpa secara membuta tuli. Pemasaan merangkumi TTL berwibawa dan rekursif, kesahan tandatangan, serta margin penyebaran. Simpan kunci persendirian dalam storan KMS yang terkawal, dan log cap jari, tag kunci, versi, dan pelaku dan bukannya bahan persendirian.
Perangkap lazim
Mengubah satu objek pendaftar secara serentak merentasi penyewa; hanya menyemak nod berwibawa dan bukannya DS induk; memadamkan kunci lama serta-merta selepas langkah yang gagal; menganggap percubaan semula giliran sebagai keidempotenan; dan mengabaikan laluan jeda atau pengambilalihan manusia.
Rubrik penilaian
Jawapan yang kukuh mentakrifkan sempadan antara satah kawalan, DNS berwibawa, pendaftar, penyelesai pengesahan, dan storan audit; menyatakan sekurang-kurangnya tiga ketakvarian keselamatan; dan menyatakan syarat kemasukan, keluar, dan pengunduran bagi setiap keadaan. Mereka juga menamakan metrik kadar kejayaan, SERVFAIL, kependaman penyebaran, dan pajakan tersekat.
Soalan susulan
Mengapakah penerbitan DS biasanya dilakukan selepas prapenerbitan DNSKEY?
Prapenerbitan membolehkan nod berwibawa dan cache memperoleh DNSKEY baharu terlebih dahulu. DS induk kemudiannya boleh menunjuk kepada kunci yang boleh diambil oleh pengesah, sekali gus mengurangkan tetingkap DS-kelihatan/DNSKEY-hilang.
Bagaimanakah anda mencuba semula apabila panggilan pendaftar tamat masa tetapi mungkin telah berjaya?
Baca DS semasa pendaftar menggunakan versi zon dan token keidempotenan, kemudian tentukan sama ada perlu mencuba semula. Jangan serahkan mutasi kedua yang tidak diketahui hanya berdasarkan satu peristiwa tamat masa.
Bilakah sistem boleh membuang DS lama secara automatik?
Hanya selepas DS baharu kekal kelihatan dalam set penyelesai rekursif sasaran, pengesahan RRSIG lulus, serta tetingkap TTL dan tandatangan memenuhi dasar. Jika tidak, zon kekal dibekukan.