Topik wawancara representatif

Wawancara Umum: Bagaimana Anda Menilai Risiko Penerapan DNS SVCB dan HTTPS?

UmumSulit
Tim Redaksi Offer.ccDipublikasikan Diperbarui

Pertanyaan

Tim Anda menginginkan rekaman DNS HTTPS untuk HTTP/3, ECH, atau parameter endpoint. Bagaimana Anda menilai dukungan resolver, klien lama, DNSSEC, caching, dan risiko fallback?

Perintah dan konteks

Sebuah tim menginginkan rekaman DNS SVCB/HTTPS untuk memublikasikan binding layanan HTTPS seperti ALPN, port, alias, dan parameter keamanan. Jelaskan pemilihan rekaman, prioritas, rantai alias, caching, kompatibilitas klien lama, DNSSEC, dan fallback saat terjadi kegagalan. Ini adalah pertanyaan general tentang service binding DNS dan peluncuran progresif (progressive rollout).

Apa yang dievaluasi oleh pewawancara

  1. Membedakan SVCB generik dari rekaman HTTPS khusus HTTP.
  2. Menjelaskan semantik SvcPriority, TargetName, dan kunci parameter.
  3. Menangani mode alias, mode layanan, multi-rekaman, dan loop.
  4. Mengidentifikasi perbedaan resolver, klien, cache, dan DNSSEC.
  5. Merancang canary yang dapat diamati (observable) dan fallback yang aman daripada memperlakukan DNS sebagai control plane instan.

Pertanyaan klarifikasi yang perlu diajukan

  • Apakah klien target dan recursive resolver mendukung kueri HTTPS/SVCB?
  • Apakah Anda memublikasikan ALPN, HTTP/3, sebuah port, atau parameter terkait ECH?
  • Apa yang terjadi jika validasi DNSSEC gagal?
  • Berapa durasi TTL, rilis otoritatif, dan jendela waktu rollback?
  • Apakah klien lama harus tetap mempertahankan rekaman A/AAAA dan jalur sertifikat yang sudah ada?

Jawaban 30 detik

"Saya akan memilih HTTPS atau SVCB generik sesuai dengan RFC 9460, kemudian menentukan prioritas, target, dan kunci parameter. Sebelum memublikasikan, saya akan menguji versi resolver dan klien sambil tetap mempertahankan A/AAAA dan jalur HTTPS default. Canary dengan TTL rendah akan mengukur keberhasilan kueri, negosiasi protokol, kesalahan koneksi, dan fallback; kegagalan DNSSEC atau parameter yang tidak didukung harus memiliki fallback yang aman. Rollback harus menunggu jendela cache maksimum karena DNS tidak langsung konvergen secara instan."

Jawaban mendalam

Langkah 1: Pilih jenis rekaman

RFC 9460 mendefinisikan rekaman sumber daya SVCB dan HTTPS. HTTPS dikhususkan untuk asal HTTP, sedangkan SVCB mengekspresikan service binding yang lebih umum. Pilih jenis rekaman berdasarkan protokol dan matriks dukungan, bukan memperlakukan rekaman HTTPS sebagai konfigurasi aplikasi yang arbitrer.

text
HTTPS priority target alpn=h3 port=443

Contoh ini hanya menunjukkan hubungan; nilai produksi harus mengikuti spesifikasi.

Langkah 2: Jelaskan prioritas dan mode

SvcPriority mengekspresikan prioritas pemilihan layanan. Mode alias mengarahkan pencarian ke nama target lain; mode layanan menyediakan parameter koneksi pada nama pemilik. Validasi pemilihan multi-rekaman, kunci yang tidak dikenal, nilai yang tidak valid, dan siklus sesuai dengan RFC.

Langkah 3: Pertahankan kompatibilitas

Resolver atau klien lama mungkin mengabaikan rekaman baru dan hanya meminta A/AAAA. Pertahankan rekaman tradisional, sertifikat, dan port default sehingga rekaman baru menjadi pengoptimalan bagi klien yang mampu, bukan migrasi yang dipaksakan.

Langkah 4: Rencanakan caching dan rollback

TTL, negative caching, dan prefetch menunda propagasi. Canary dapat menggunakan TTL yang lebih pendek, tetapi rollback tetap mengikuti jendela cache terlama. Catat serial otoritatif, batch perubahan, dan perkiraan waktu konvergensi.

Langkah 5: Perhitungkan DNSSEC dan parameter privasi

Kesalahan validasi DNSSEC dapat berubah menjadi kegagalan resolusi, jadi ujilah di berbagai versi resolver dan klien. Rekaman terkait ECH menyediakan informasi bootstrap; rekaman tersebut tidak secara otomatis menyembunyikan setiap side channel DNS, IP, atau lalu lintas. Tentukan perilaku rotasi kunci dan kedaluwarsa.

Langkah 6: Terapkan canary dan observasi

Rilis berdasarkan wilayah, hostname, atau jenis resolver. Lacak pangsa kueri, penguraian parameter, negosiasi HTTP/3, kegagalan koneksi, rasio fallback, cache hit, dan kesalahan DNSSEC. Gunakan klien lama sebagai kontrol negatif untuk membuktikan bahwa jalur tradisional masih berfungsi.

Langkah 7: Verifikasi rollback

Suntikkan parameter yang tidak dikenal, loop alias, target yang tidak dapat dijangkau, tanda tangan DNSSEC yang kedaluwarsa, dan port yang salah di domain uji. Konfirmasikan fallback yang aman atau kegagalan eksplisit tanpa menyimpan respons yang tidak aman di cache. Di lingkungan produksi, ubah rekaman otoritatif, tunggu jendela cache, dan bandingkan ketersediaan serta error budget.

Jawaban teladan

"Saya akan menggunakan RFC 9460 untuk membedakan HTTPS dari SVCB generik dan memilih mode alias atau layanan, lalu memvalidasi prioritas, target, dan kunci parameter. Matriks resolver, browser, SDK, dan DNSSEC akan diperlukan sebelum peluncuran, dengan mempertahankan A/AAAA, sertifikat, dan jalur HTTPS default. Canary regional dengan TTL terkontrol akan mengukur keberhasilan kueri, negosiasi HTTP/3, kesalahan koneksi, fallback, dan perilaku cache.

Pengujian mencakup klien lama, parameter yang tidak dikenal, loop, target yang tidak dapat dijangkau, kegagalan DNSSEC, dan port yang salah. Rollback mengikuti jendela cache maksimum; rekaman baru adalah pengoptimalan atau bootstrap privasi, bukan satu-satunya jalur ketersediaan."

Kesalahan umum

  • Memperlakukan DNS sebagai control plane instan → cache menunda perubahan → rencanakan untuk jendela TTL maksimum.
  • Menghapus A/AAAA → klien lama gagal → pertahankan jalur lama (legacy).
  • Mengabaikan prioritas dan loop → pemilihan yang salah atau siklus resolusi → validasi terhadap RFC.
  • Hanya menguji browser modern → lalu lintas nyata memiliki fallback → buat matriks resolver/klien.
  • Mengklaim ECH menyelesaikan semua privasi → metadata DNS, IP, dan lalu lintas tetap ada → nyatakan batasannya.

Pertanyaan lanjutan dan tanggapan

Lanjutan 1: Kapan Anda memilih HTTPS dibandingkan SVCB?

HTTPS dikhususkan untuk asal HTTP; SVCB lebih umum. Pilih berdasarkan semantik protokol dan dukungan klien.

Lanjutan 2: Bagaimana jika klien lama tidak dapat melihat rekaman tersebut?

Pertahankan A/AAAA, sertifikat, dan jalur default agar tetap dapat melanjutkan alur koneksi lama.

Lanjutan 3: Bisakah menghapus rekaman melakukan rollback secara instan?

Tidak. Cache rekursif dan negatif menunda konvergensi; tunggu jendela yang direncanakan dan tetap lakukan observasi.

Lanjutan 4: Bagaimana Anda membuktikan ketersediaan tidak menurun?

Bandingkan keberhasilan koneksi, latensi DNS, hasil negosiasi, rasio fallback, dan kesalahan yang dipisahkan berdasarkan jenis klien sebelum dan sesudah canary.

Sumber publik

Pertanyaan terkait