DNS CAA Membatasi Otoritas Penerbit Sertifikat

Penerbitan sertifikat publik bergantung pada certificate authority yang memvalidasi kontrol atas nama domain yang diminta. DNS Certification Authority Authorization (CAA) menambahkan sinyal kebijakan terpisah: domain dapat menyatakan certificate authority mana yang diizinkan menerbitkan sertifikat untuk nama tersebut.

CAA tidak menggantikan validasi kontrol domain, tidak membuktikan bahwa pemohon sah, dan tidak melindungi private key. Perannya lebih sempit. Certificate authority publik yang mematuhi standar memeriksa kebijakan CAA yang berlaku sebelum penerbitan dan tidak boleh menerbitkan ketika kebijakan tersebut melarangnya.

Batas ini membuat CAA berguna untuk mempersempit cakupan ekosistem CA publik. Domain yang bergantung pada sedikit certificate authority dapat menyatakan pilihan tersebut melalui DNS, alih-alih membiarkan penerbitan terbuka bagi setiap CA yang secara terpisah dapat memvalidasi nama itu.

Record CAA menyatakan izin penerbitan

Record dasar memiliki field flags, property tag, dan value:

example.com.  CAA 0 issue "ca.example"

Property issue mengizinkan certificate authority yang disebutkan untuk menerbitkan sertifikat bagi domain sesuai aturan CAA yang berlaku. Beberapa record issue bersifat aditif: setiap CA yang diizinkan dapat dicantumkan secara terpisah.

Kebijakan CAA bukan permintaan penerbitan sertifikat. Record tersebut hanya menyatakan issuer yang dapat diterima. CA tetap harus menjalankan validasi dan pemeriksaan kebijakan yang diperlukan untuk permintaan sertifikat.

Deployment yang ketat dapat mencantumkan hanya identifier CA yang benar-benar dipakai oleh otomasi sertifikat. Langkah ini memperkecil himpunan CA publik yang boleh menerbitkan untuk domain, tetapi tidak mencegah CA yang sudah diizinkan menerbitkan setelah validasi normalnya berhasil.

issuewild memisahkan kebijakan wildcard

Sertifikat wildcard dapat memiliki kebijakan otorisasi tersendiri melalui property issuewild:

example.com.  CAA 0 issue "ca.example"
example.com.  CAA 0 issuewild "wildcard-ca.example"

Ketika record issuewild yang berlaku tersedia, record tersebut mengatur penerbitan wildcard. Organisasi dengan demikian dapat memakai certificate authority berbeda untuk sertifikat biasa dan wildcard.

Pemisahan ini relevan pada lingkungan yang memberi kontrol operasional lebih ketat pada penerbitan wildcard. Sebuah tim, misalnya, dapat memakai satu CA untuk sertifikat host rutin dan jalur otomasi terpisah untuk wildcard.

Konfigurasi CAA karena itu perlu diperiksa terhadap inventaris sertifikat nyata. Menganggap issue dan issuewild dapat saling menggantikan dapat menghasilkan otorisasi yang tidak diinginkan atau kegagalan renewal.

Kebijakan dapat diwarisi dari nama induk

Pemrosesan CAA mencari kebijakan yang berlaku sesuai aturan lookup DNS dan CAA. Record pada domain induk dapat memengaruhi nama di bawahnya ketika tidak ada kebijakan CAA yang lebih dekat dan berlaku untuk menggantikan hasil tersebut.

Karakteristik ini membuat record tingkat atas berguna untuk menetapkan batas penerbitan default bagi banyak subdomain. Pada saat yang sama, muncul dependensi operasional: tim pengelola subdomain dapat dibatasi oleh kebijakan yang dipublikasikan lebih tinggi dalam namespace.

Ambil service pada api.example.com. Jika nama itu tidak memiliki kebijakan CAA yang lebih dekat, CA dapat menemukan kebijakan yang diwarisi dari example.com. Jika service kemudian berpindah ke otomasi sertifikat dengan CA lain, penerbitan dapat gagal sampai kebijakan DNS dan otomasi diselaraskan.

Lookup CAA juga berinteraksi dengan alias. Arsitektur DNS perlu diperiksa secara utuh, bukan dengan asumsi bahwa record yang terlihat pada hostname permintaan adalah satu-satunya data yang relevan bagi keputusan CA.

CAA adalah kebijakan DNS sehingga integritas DNS tetap penting

CAA mewarisi karakteristik keamanan dari jalur DNS yang dipakai untuk mengambil record. Menerbitkan record yang ketat tidak membuat DNS kebal manipulasi.

DNSSEC dapat menyediakan data DNS yang terautentikasi ketika zone terkait dan jalur validasinya dikonfigurasi dengan benar. Tanpa perlindungan tersebut, CAA tetap menjalankan peran kebijakan penerbitan yang distandardisasi, tetapi tidak tepat disebut sebagai bukti kriptografis bahwa policy yang diterima pasti autentik.

Reliabilitas operasional juga penting. Layanan authoritative DNS yang rusak dapat mengganggu pemrosesan CAA dan penerbitan sertifikat. Renewal sertifikat karena itu tidak hanya bergantung pada ACME atau protokol penerbitan lain, tetapi juga pada ketersediaan serta kebenaran data DNS yang dipakai CA.

Keterkaitan ini menjadi alasan untuk memperlakukan perubahan CAA sebagai perubahan produksi. Sintaks DNS, delegation, status DNSSEC, alias, dan otomasi sertifikat perlu masuk dalam review yang sama.

Critical flag mengubah penanganan property yang tidak dikenal

CAA mendefinisikan issuer-critical flag bit. Ketika bit tersebut aktif, CA tidak boleh sekadar mengabaikan property yang tidak dikenalnya.

Mekanisme ini mendukung penanganan yang lebih ketat untuk property CAA baru atau privat, tetapi juga meningkatkan dampak kesalahan konfigurasi. Critical bit pada property yang tidak didukung oleh CA tujuan dapat menghentikan penerbitan.

Untuk deployment umum dengan issue dan issuewild, nilai flags biasanya 0:

example.com.  CAA 0 issue "ca.example"

Nilai flags selain nol harus disengaja dan terkait dengan semantik property yang digunakan. Menyalin critical flag dari contoh yang tidak terkait dapat mengubah edit DNS yang tampak sederhana menjadi gangguan penerbitan.

CAA tidak mencabut sertifikat yang sudah ada

Perubahan CAA memengaruhi otorisasi penerbitan sertifikat sesuai pemeriksaan yang diwajibkan pada CA. Perubahan tersebut tidak mencabut sertifikat yang sudah diterbitkan.

Jika sertifikat atau private key yang ada tidak lagi dapat dipercaya, responsnya berada pada proses revocation, penggantian key, konfigurasi service, dan penanganan insiden sesuai kondisi. Memperketat CAA dapat mengurangi opsi penerbitan berikutnya, tetapi tidak menghapus credential yang telah diterbitkan.

Batas yang sama berlaku setelah penerbitan yang tidak sah. Koreksi CAA berguna untuk kebijakan berikutnya, sedangkan sertifikat yang terdampak memerlukan jalur respons tersendiri.

Otomasi sertifikat harus tetap selaras dengan kebijakan DNS

CAA mudah salah diterapkan ketika kepemilikan sertifikat tersebar. Tim DNS pusat dapat menerbitkan daftar CA yang sempit sementara tim aplikasi memakai managed platform yang memperoleh sertifikat melalui issuer berbeda.

Rollout yang aman dimulai dari jalur penerbitan yang sudah dipakai. Petakan setiap hostname publik ke certificate authority-nya, bedakan sertifikat wildcard dan non-wildcard, identifikasi subdomain yang didelegasikan serta alias, lalu bandingkan inventaris tersebut dengan record CAA yang akan diterapkan.

Renewal memerlukan perhatian khusus. Sertifikat dapat tetap valid selama berminggu-minggu atau berbulan-bulan setelah kesalahan CAA diperkenalkan, sehingga kegagalan pertama baru terlihat jauh kemudian saat renewal otomatis. Monitoring perlu mencakup kegagalan penerbitan dan renewal, bukan memakai validitas sertifikat saat ini sebagai bukti bahwa policy sudah benar.

Perubahan hosting, CDN, ingress, atau managed certificate service sebaiknya menyertakan review CAA setiap kali certificate authority dapat berubah.

CAA mempersempit satu lapisan otoritas PKI

CAA paling tepat diperlakukan sebagai batas penerbitan, bukan pertahanan TLS secara umum. CAA tidak dapat mengamankan origin server yang telah dikompromikan, mendeteksi private key yang dicuri, memvalidasi identitas aplikasi, atau menggantikan certificate transparency monitoring.

Nilainya berada pada keputusan yang lebih kecil dan eksplisit: certificate authority mana yang boleh menerbitkan untuk sebuah nama DNS. Kebijakan itu dapat mengurangi paparan issuer yang tidak diperlukan dan membuat otomasi sertifikat lebih terarah, selama konfigurasi DNS tetap sinkron dengan sistem yang meminta serta memperbarui sertifikat.

Referensi