DNSSEC: segel anti-utak-atik untuk DNS
Anda baru menyalakan DNSSECⓘ untuk pangaea.id — Cloudflare kini
menandatangani zona-nya, dan Anda menitipkan sebuah DS recordⓘ kecil ke
registrar. Begini manfaat sebenarnya, dan langkah persis yang Anda lakukan — dalam bahasa sederhana.
Masalahnya: DNS memercayai jawaban apa pun
DNSⓘ itu buku telepon internet: ia mengubah pangaea.id menjadi alamat IP yang
dihubungi browser. Titik lemahnya — DNS biasa tak punya cara membuktikan sebuah jawaban asli. Saat
resolver pengunjung bertanya "berapa alamat pangaea.id?", ia memercayai jawaban apa pun yang datang.
Penyerang di jaringan — atau yang meracuni cache sebuah resolver — bisa memalsukan jawaban yang
mengarahkan domain Anda ke server mereka. Pengunjung tak sadar; browser-nya langsung menyambung ke
pemalsu itu.
Di balik layar: bagaimana sebuah jawaban DNS dipalsukan
Kenapa pemalsuan bisa terjadi? Akarnya ada di cara resolver mendapat jawaban. Saat resolver rekursif
Anda belum punya pangaea.id di cache, ia bertanya ke jaringan dan menerima jawaban pertama yang
tampak benar — yang cocok dengan pertanyaannya, source port-nya, dan sebuah transaction ID
16-bit. DNS klasik berjalan di atas UDP: tanpa koneksi, tanpa handshake, dan yang krusial tanpa
bukti siapa sebenarnya yang mengirim jawaban itu.
Penyerang mengejar celah itu:
- Mereka memancing resolver agar mencari
pangaea.id(atau tinggal menunggu). - Mereka membanjirinya dengan jawaban palsu berisi IP palsu, menebak ID 16-bit (cuma 65.536 kemungkinan) dan source port-nya.
- Kalau sebuah jawaban palsu yang cocok mendarat sebelum jawaban asli, resolver memercayainya — dan menyimpannya di cache. (Inilah cache poisoning kelas Kaminsky; pengacakan source-port menaikkan palang, tapi tak pernah menutup pintunya.)
- Kini
pangaea.idmenunjuk ke server penyerang untuk semua orang yang memakai resolver itu, selama TTL berlaku — tanpa malware, tanpa peringatan.
Itu kasus jarak jauh. Penyerang di jalur (on-path) — hotspot Wi-Fi nakal, router yang diretas, ISP yang bermusuhan — bahkan tak perlu menebak: mereka melihat kuerinya dan langsung menyuntikkan jawaban palsu.
Benang merahnya: DNS biasa tak bisa membedakan jawaban asli dari yang palsu. Persis celah itulah yang ditutup DNSSEC — jawaban palsu tak bisa membawa tanda tangan yang sah, jadi resolver yang memvalidasi langsung membuangnya.
Apa yang ditambahkan DNSSEC: segel anti-utak-atik
DNSSEC (DNS Security Extensions) memberi segel lilin kriptografis pada tiap entri buku telepon.
DNS Anda (Cloudflare) menandatangani tiap record dengan kunci privat; kunci publik yang cocok
diterbitkan di DNS. Kini resolver bisa memverifikasi tanda tangannya sebelum memercayai sebuah
jawaban — membuktikan jawaban itu (a) benar-benar datang dari yang mengendalikan pangaea.id, dan (b)
tak diubah di perjalanan. Jawaban palsu gagal cek itu dan dibuang.
Kuncinya: siapa yang menjamin kunci tersebut. DNSSEC itu rantai kepercayaan (chain of trust),
satu mata rantai per tingkat: root menjamin .id, dan .id menjamin pangaea.id. Tiap
induk menerbitkan sidik jari kecil — sebuah DS record (Delegation Signer) — dari kunci penanda-tangan
anaknya. Itulah record yang Anda tambahkan di registrar: mata rantai yang menyambung zona .id ke zona
Anda, sehingga resolver bisa menyusuri root → .id → pangaea.id, mengecek tanda tangan di tiap langkah.
Jadi saat jawaban palsu tadi muncul lagi, kini ia harus lolos satu pemeriksaan — dan itulah inti pertahanannya:
Cara menyiapkannya — langkah demi langkah
-
Cloudflare → domain Anda → DNS → Settings → Enable DNSSEC. Cloudflare langsung mulai menandatangani zona Anda dan menampilkan sebuah DS record.
-
Salin DS record-nya yang ditampilkan Cloudflare — empat nilai (contoh di bawah; digest Anda sendiri berupa hash 64 karakter yang unik):
Key Tag: 12345 Algorithm: 13 (ECDSA P-256 / SHA-256) Digest Type: 2 (SHA-256) Digest: 49FD2A8C…E1B07C3D (hash SHA-256 dari kunci Anda) -
Di registrar — Hostinger → domain → DNS / Nameservers → DNSSEC — tambahkan sebuah DS record dan tempel keempat nilai itu.
-
Registrar meneruskan DS-nya ke registry
.id, yang menerbitkannya di zona induk — melengkapi rantainya. -
Selesai: "pangaea.id is protected with DNSSEC." Cloudflare menandatangani; registry menjamin kuncinya; resolver memverifikasi.
Arti tiap kolom, sederhananya:
- Key Tag (
12345) — angka ID yang menunjuk kunci penanda-tangan yang mana. - Algorithm (
13) — cara menandatanganinya: ECDSA P-256 / SHA-256, modern dan cepat. - Digest Type (
2) — hash di balik sidik jarinya: SHA-256. - Digest (
49FD…7C3D) — sidik jarinya sendiri, sebuah hash dari kunci publik Cloudflare. Inilah yang disimpan registry.iduntuk mengenali kunci Anda.
Verifikasi sendiri
Jangan cuma percaya dashboard — tanyakan ke internet. Dari terminal mana pun:
dig pangaea.id DNSKEY +dnssec # kunci tertanda Anda + tanda tangan RRSIG
dig pangaea.id +dnssec # flag `ad` = resolver pemvalidasi sudah mengecek rantainya
Zona yang tertanda mengembalikan kunci-kuncinya plus record RRSIG, dan resolver yang memvalidasi
menyetel flag ad (Authenticated Data) pada jawabannya. Versi ramahnya: pakai analyzer DNSSEC
seperti dnsviz.net — tempel pangaea.id dan cari rantai utuh dari root sampai domain Anda.
Yang TIDAK dilakukan DNSSEC
Jebakannya: matikan dulu sebelum memindahkan DNS
Jangan ganti nameserver saat DNSSEC masih aktif
- DS record di registrar terikat ke kunci Cloudflare. Kalau suatu saat Anda memindahkan DNS keluar
dari Cloudflare tanpa lebih dulu menghapus DS record di registrar, resolver akan terus menuntut
tanda tangan yang tak bisa dibuat nameserverⓘ baru → mereka membalas
SERVFAIL→ seluruh domain mati di mana-mana. Menghapus DS itu langkah pertama tiap perpindahan DNS ke depan — bukan urusan belakangan. (Ini sepupu DNSSEC dari jebakan CAA di artikel SSL.)
Pertanyaan umum
DNSSEC sebenarnya melindungi dari apa?
Jawaban DNS palsu — cache poisoning dan penyadapan di jalur, saat penyerang membuat resolver memercayai alamat palsu untuk domain Anda. Tanda tangan DNSSEC membuat resolver bisa mendeteksi pemalsuan itu dan menolaknya, jadi pengunjung tak bisa diam-diam dialihkan ke server pemalsu.
Apakah DNSSEC sama dengan HTTPS?
Bukan — keduanya mengamankan lapisan yang berbeda. DNSSEC mengamankan lookup-nya (membuktikan Anda dapat alamat yang asli); HTTPS/TLS mengamankan koneksi-nya (mengenkripsi yang Anda pertukarkan dengan server). Anda butuh keduanya: DNSSEC mengantar Anda ke server yang benar, HTTPS melindungi percakapannya begitu sampai.
Apakah DNSSEC membuat DNS saya privat?
Tidak. Ini soal keaslian, bukan kerahasiaan — DNSSEC membuktikan sebuah jawaban asli tapi tak menyembunyikan nama apa yang Anda cari. Mengenkripsi kueri itu sendiri adalah hal terpisah (DNS-over-HTTPS atau DNS-over-TLS).
DS record yang saya tambahkan di registrar itu apa?
DS record (Delegation Signer) adalah sidik jari kunci penanda-tangan zona Anda, dititipkan ke registry .id lewat registrar. Itulah mata rantai yang membuat zona induk (.id) bisa menjamin kunci Anda, melengkapi rantai kepercayaan dari root sampai pangaea.id. Tanpanya, resolver tak punya cara memercayai tanda tangan Anda.
Apa yang terjadi kalau nanti saya ganti penyedia DNS?
Hapus dulu DS record di registrar. DS itu terikat ke kunci penyedia Anda sekarang; kalau Anda memindahkan nameserver saat ia masih ada, resolver menuntut tanda tangan yang tak bisa dibuat penyedia baru dan domain gagal resolve (SERVFAIL) di mana-mana. Hapus DS-nya, pindahkan DNS, lalu aktifkan lagi DNSSEC di penyedia baru.
Posisinya di mana
DNSSEC menyegel lookup-nya; SSL & keamanan cepat-aman di edge menyegel koneksi-nya, dan Arahkan domain ke Cloudflare adalah tempat nameserver-nya dipindahkan sejak awal. Cerita bahasa-sederhana dari seluruh proses pengerasan ini ada di catatan diary Bikin cepat dan aman.
Sources