Setiap kali Anda membuka sebuah situs, perangkat Anda meminta sebuah resolver untuk mengubah nama domain menjadi alamat IP. Pertanyaan itu adalah catatan teks polos tentang ke mana Anda hendak pergi, dan secara bawaan ia dikirim ke resolver mana pun yang diberikan jaringan Anda — biasanya milik penyedia internet Anda.

Kebocoran DNS adalah ketika permintaan itu pergi ke tempat yang tidak Anda maksudkan. Kasus yang lazim adalah perangkat yang sudah diatur memakai resolver pribadi atau terenkripsi, tapi karena salah satu dari beberapa sebab struktural tetap saja mengirim sebagian atau seluruh permintaan ke ISP. Tidak ada yang tampak rusak, dan itulah sebabnya kebocoran bisa bertahan bertahun-tahun tanpa disadari.

Apa yang sebenarnya dibocorkan DNS?

Domainnya, cap waktunya, dan sumbernya — dan itu sudah cukup untuk menyusun ulang satu sesi penjelajahan.

DNS klasik berjalan tanpa enkripsi lewat port 53. Siapa pun yang berada di antara Anda dan resolver bisa membaca permintaannya, dan resolver itu sendiri melihat setiap permintaan yang tercatat atas nama koneksi Anda. Ia tidak melihat halaman spesifiknya, tapi domainlah yang biasanya jadi bagian sensitifnya.

Enkripsi mengubah siapa yang memegang catatan ini, bukan apakah catatan itu ada:

Transport Terenkripsi? Siapa yang melihat permintaannya
DNS polos (port 53) Tidak Jaringan Anda, ISP Anda, resolvernya
DNS over TLS (DoT, port 853) Ya Resolver yang Anda pilih
DNS over HTTPS (DoH, port 443) Ya Resolver yang Anda pilih; lebih sulit dibedakan jaringan dari lalu lintas web biasa
DNSSEC Tidak — fungsinya autentikasi Sama seperti DNS polos; ia membuktikan jawabannya asli, bukan menyembunyikannya

DNSSEC adalah baris yang paling sering disalahpahami. Ia menandatangani jawaban supaya tidak bisa dipalsukan. Ia sama sekali tidak memberi kerahasiaan.

Bagaimana kebocoran sebenarnya terjadi?

Enam sebab struktural mencakup hampir semuanya.

Sebab Mekanismenya
Perutean terbelah Sebagian lalu lintas lewat terowongan, DNS lewat antarmuka bawaan
IPv6 tidak dibawa Terowongan hanya menangani IPv4, jadi permintaan IPv6 lewat jalur ISP
Resolusi paralel di OS Windows bisa bertanya ke semua antarmuka sekaligus dan memakai jawaban pertama
DoH di tingkat peramban Peramban menerjemahkan nama secara terpisah dari pengaturan sistem, ke dua arah
Router menimpa pengaturan Router memaksakan resolvernya sendiri lewat DHCP atau menyadap port 53
Captive portal Jaringan hotel atau bandara membajak DNS untuk memaksa halaman login mereka

Kasus peramban perlu dijabarkan, karena ia berlaku dua arah. Peramban dengan pengaturan DoH sendiri bisa melewati resolver sistem yang sudah Anda atur dengan cermat, dan sebaliknya peramban yang sudah diatur benar bisa menutupi kenyataan bahwa segala hal di luar peramban itu masih bocor. Memeriksa yang satu lalu berasumsi soal yang lain adalah kesalahan pengujian yang paling umum.

Bagaimana cara memeriksanya?

Ujilah setiap lapisan secara terpisah, karena hasilnya bisa saling bertentangan.

Sistem operasi — resolver mana yang terpasang:

Sistem Perintah
macOS scutil --dns | grep nameserver
Windows Get-DnsClientServerAddress
Linux (systemd-resolved) resolvectl status
Linux (umum) cat /etc/resolv.conf

Resolver mana yang benar-benar menjawab — pengaturan dan perilaku nyata itu dua hal berbeda:

dig +short whoami.akamai.net mengembalikan alamat IP resolver yang melakukan penerjemahan atas nama Anda. Bandingkan hasilnya dengan resolver yang Anda harapkan.

Tingkat peramban: buka pengaturan DNS aman di peramban Anda dan perhatikan apakah ia aktif dan penyedia mana yang dipilih. Lalu buka halaman uji kebocoran DNS di peramban itu. Kalau halaman tersebut melaporkan resolver yang berbeda dari hasil uji baris perintah Anda, berarti peramban menerjemahkan nama sendiri.

IPv6: ulangi pemeriksaan dengan permintaan khusus IPv6. Terowongan yang hanya membawa IPv4 adalah penyebab tunggal paling umum dari kebocoran sebagian.

Bagaimana cara membaca hasilnya?

Bandingkan pemilik resolvernya dengan apa yang Anda harapkan, bukan dengan daftar alamat yang dianggap "bagus".

Yang terlihat Tafsirannya
Resolvernya milik ISP Anda, padahal Anda mengatur yang lain Bocor
Beberapa resolver, salah satunya ISP Anda Bocor sebagian — permintaannya terbelah
IPv4 menunjukkan resolver yang diharapkan, IPv6 menunjukkan ISP Kebocoran IPv6
Peramban dan sistem melaporkan resolver berbeda Belum tentu bocor, tapi ada dua jalur terpisah yang perlu diverifikasi
Resolvernya berada di negara yang tak terduga Sering kali normal — resolver anycast menjawab dari lokasi terdekat
Resolvernya adalah alamat privat router Tidak konklusif; router meneruskan ke hulu, jadi periksa pengaturan routernya sendiri

Baris terakhir itu menjebak orang di jaringan rumahan. Hasil 192.168.1.1 hanya memberi tahu Anda bahwa routerlah yang menjawab. Ke mana router meneruskannya adalah pertanyaan terpisah, yang jawabannya ada di pengaturan WAN atau DNS router tersebut.

Apa batas dari memperbaiki ini?

Memperbaiki kebocoran DNS mengubah siapa yang tahu domain mana yang Anda cari. Itu tidak membuat kunjungannya jadi privat, dan melebih-lebihkan hal ini adalah cara utama topik ini disalahgambarkan.

Setelah namanya diterjemahkan, perangkat Anda membuka koneksi ke alamat IP itu. Pengamat mana pun di jalurnya melihat alamat tujuannya, dan di sebagian besar koneksi TLS nama server dikirim tanpa enkripsi dalam jabat tangan, kecuali Encrypted Client Hello dipakai di kedua ujung. Kedua sinyal itu mengenali situsnya tanpa perlu bantuan DNS.

Jadi rangkuman jujurnya sempit tapi nyata: DNS terenkripsi ke resolver pilihan Anda menghapus daftar teks polos berisi setiap domain yang Anda kunjungi dari jaringan lokal Anda dan dari log ISP Anda, lalu memindahkan daftar itu ke pengelola resolvernya. Ia memindahkan kepercayaan, bukan meniadakannya — dan itulah yang membuat siapa yang menjalankan resolver, serta apa yang mereka catat, jadi pertanyaan yang sebenarnya penting.

Pertanyaan terkait