Perintah dan cakupan
Sebuah tim ingin DNS memublikasikan data service-binding sehingga klien dapat menemukan host alternatif, port, protokol, dan petunjuk (hints) TLS, dengan mengutamakan HTTP/3 jika tersedia. Jelaskan record SVCB dan HTTPS, prioritas, AliasMode, caching, dan batasan keamanan. RFC 9460 mendefinisikan SVCB dan varian HTTP-nya, tetapi petunjuk DNS tidak menggantikan validasi sertifikat, semantik HTTP, atau otorisasi.
Apa yang dievaluasi pewawancara
- Mengetahui bahwa HTTPS adalah varian SVCB khusus untuk HTTP.
- Membedakan AliasMode dan ServiceMode beserta aturan prioritasnya.
- Memahami bahwa
alpn,port, dan petunjuk alamat adalah petunjuk koneksi. - Menjelaskan batasan kepercayaan DNSSEC, DoH/DoT, dan DNS biasa.
- Merancang TTL, fallback, pemantauan, dan pencabutan (revocation).
Klarifikasi yang perlu ditanyakan terlebih dahulu
Konfirmasikan versi klien dan resolver, apakah tujuannya adalah aliasing atau pemilihan protokol, penerapan DNSSEC dan encrypted-DNS, persyaratan fallback HTTP/3, serta target sertifikat dan ketersediaan. Jika tidak ditentukan, asumsikan beberapa resolver tidak memahami record HTTPS.
Kerangka jawaban tiga puluh detik
Perlakukan HTTPS record sebagai penemuan layanan HTTP. AliasMode dengan prioritas 0 mengarah ke nama lain dan memerlukan pencarian lain; record ServiceMode bukan nol mendeskripsikan layanan. alpn dan port membantu memilih koneksi tetapi tidak memberikan otorisasi atau menggantikan validasi TLS. Jika pencarian gagal atau protokol tidak didukung, lakukan fallback ke A/AAAA, port default, dan protokol yang didukung, dengan TTL dan pemantauan yang mengontrol peluncuran.
Penyelaman mendalam langkah demi langkah
1. Membedakan jenis record
SVCB adalah record service-binding generik; HTTPS adalah varian yang berorientasi pada HTTP. Keduanya membawa prioritas, nama target, dan parameter key-value. Keduanya tidak membuat lapisan proksi; HTTP tetap mengikuti semantik RFC 9110.
2. Menjelaskan AliasMode dan ServiceMode
AliasMode menggunakan prioritas 0 untuk membuat alias nama saat ini ke nama target, sehingga klien harus mengueri target tersebut. ServiceMode menggunakan prioritas bukan nol untuk mendeskripsikan layanan. Klien mencoba prioritas yang lebih rendah terlebih dahulu tetapi melewati kandidat yang tidak didukung.
3. Membaca petunjuk tanpa terlalu memercayainya
alpn dapat mengiklankan h2 atau h3, port dapat mengiklankan port non-default, dan petunjuk alamat dapat mengurangi pencarian tambahan. Petunjuk bisa usang atau diblokir, sehingga klien tetap menyelesaikan A/AAAA, menyelesaikan QUIC/TLS, dan mengonfirmasi protokol yang dinegosiasikan.
4. Merancang fallback
Dalam batas toleransi error (error budget), coba layanan yang dapat digunakan dengan prioritas terendah, lalu coba kandidat berikutnya setelah terjadi kesalahan koneksi atau batas waktu habis. Jika pencarian HTTPS gagal, gunakan A/AAAA tradisional dan port HTTPS default. Kunci yang tidak dikenal tidak boleh dijadikan kebijakan otorisasi.
5. Mengelola caching dan perubahan
TTL mengontrol berapa lama recursive resolver dan klien menyimpan petunjuk. Siapkan host atau port baru sebelum melakukan perubahan TTL dan record secara bertahap. Menghapus record otoritatif tidak langsung menghapus jawaban yang di-cache; insiden mendesak memerlukan pemblokiran sisi server atau kontrol sertifikat.
6. Menjelaskan keamanan DNS dan TLS
DNSSEC mengautentikasi integritas record; DoH/DoT melindungi transport kueri. Keduanya tidak menggantikan verifikasi identitas TLS. RFC 9460 membatasi kepercayaan pada petunjuk DNS tidak lebih dari sinyal HTTP 307 cleartext. Klien tetap memvalidasi sertifikat, SNI, ALPN, dan versi TLS, serta tidak dapat mengotorisasi target cross-origin yang tidak tercakup.
7. Memvalidasi dan melakukan rollback
Uji klien lama, rantai AliasMode, beberapa prioritas, kunci yang tidak dikenal, cache usang, kegagalan DNSSEC, h3 yang tidak tersedia, ketidakcocokan sertifikat, dan jaringan khusus IPv4/IPv6. Pantau waktu handshake, keberhasilan protokol, fallback, error, dan sinyal privasi. Lakukan rollback dengan memulihkan record lama dan menunggu TTL; gunakan pemblokiran sisi server untuk keadaan darurat identitas.
Contoh jawaban berkualitas tinggi
Saya akan memosisikan record HTTPS sebagai petunjuk penemuan layanan. AliasMode membuat klien mengueri nama target, sedangkan ServiceMode mencantumkan kandidat berdasarkan prioritas. alpn, port, dan petunjuk alamat membantu pemilihan tetapi tidak memberikan akses. Jika h3 gagal, lakukan fallback dalam batas toleransi ke h2 atau jalur A/AAAA tradisional, dan jaga agar jalur lama tetap tersedia saat kueri DNS gagal.
DNSSEC melindungi integritas record dan DoH/DoT melindungi transport kueri, tetapi pemeriksaan sertifikat, SNI, ALPN, dan versi TLS tetap independen. Gunakan peluncuran yang memperhatikan TTL dan pantau keberhasilan protokol, fallback, error sertifikat, dan perilaku cache. Uji resolver lama, kunci yang tidak dikenal, AliasMode, kegagalan DNSSEC, dan jaringan khusus IPv6. Untuk masalah identitas darurat, pemblokiran sisi server dan kontrol sertifikat diperlukan; menunggu kedaluwarsa cache DNS tidaklah cukup.
Kesalahan umum
- Memperlakukan HTTPS sebagai pengganti CNAME atau pengalihan (redirect).
- Membingungkan AliasMode, ServiceMode, dan prioritas.
- Memperlakukan petunjuk alamat sebagai otoritatif dan melewati A/AAAA.
- Mengasumsikan
alpn=h3melewati negosiasi QUIC/TLS. - Menyebut DNS biasa tepercaya tanpa perlindungan integritas.
- Mengabaikan jawaban yang di-cache setelah menghapus record otoritatif.
- Mengarah ke target yang tidak dicakup oleh sertifikat yang dapat diverifikasi.
Pertanyaan lanjutan dan tanggapan
Pertanyaan lanjutan 1: Mengapa AliasMode memerlukan pencarian lain?
Ini hanya mengekspresikan alias tingkat nama dan tidak membawa parameter layanan akhir, sehingga klien harus mengueri target untuk mendapatkan data ServiceMode.
Pertanyaan lanjutan 2: Dapatkah record HTTPS melewati sertifikat untuk host CDN?
Tidak. Klien tetap memvalidasi sertifikat dan konfigurasi TLS untuk nama koneksi; CDN harus menyajikan sertifikat yang dapat diverifikasi.
Pertanyaan lanjutan 3: Apa perbedaan antara DNSSEC dan DoH/DoT?
DNSSEC memvalidasi asal dan integritas record. DoH/DoT melindungi privasi transport kueri. Keduanya bukan pengganti validasi identitas TLS.
Pertanyaan lanjutan 4: Bagaimana cara mencabut target yang bocor?
Blokir atau cabut sertifikatnya di sisi server terlebih dahulu, kemudian perbarui record dan kurangi TTL; jawaban yang di-cache tidak akan langsung hilang.