0Pricing
Cloud & IT Cert Prep · Pelajaran

DNS Aman: DNSSEC dan DNS melalui HTTPS (DoH)

Pelajari cara DNSSEC mencegah keracunan tembolok DNS, serta cara DNS melalui HTTPS dan DNS melalui TLS melindungi privasi kueri dari pengamat di jalur komunikasi.

DNS Aman: DNSSEC dan DNS melalui HTTPS (DoH) adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Tantangan Keamanan DNS

Domain Name System (DNS) menerjemahkan nama domain yang mudah dibaca manusia menjadi alamat IP. Dirancang pada 1980-an, DNS dibuat tanpa keamanan — Query dan jawaban berjalan melalui port UDP/TCP 53 dalam bentuk teks biasa tanpa autentikasi. Hal ini menciptakan dua kerentanan utama: keracunan cache DNS (menyisipkan jawaban DNS palsu untuk mengarahkan pengguna ke Server berbahaya) dan penyadapan DNS (mengamati domain yang di-Query pengguna dapat mengungkap aktivitas penjelajahan mereka). Dua standar mengatasi hal ini: DNSSEC mencegah pemalsuan, dan DNS melalui HTTPS (DoH) mencegah penyadapan.

Keracunan Cache DNS

Keracunan cache DNS (serangan Kaminsky) mengeksploitasi kurangnya autentikasi pada protokol DNS. Resolver mengirimkan Query ke Server DNS otoritatif dan menyimpan jawabannya selama durasi TTL. Attacker yang dapat menebak ID transaksi (16-bit, mudah diprediksi) dan port sumber (digunakan sebagai entropi tambahan sejak RFC 5452) dapat mengirim jawaban palsu yang disimpan oleh Resolver, sehingga mengarahkan semua pengguna yang melakukan Query ke Resolver tersebut ke Server milik Attacker. Setelah cache diracuni, pengguna diarahkan ke Server palsu meskipun mereka mengetikkan domain yang benar. DNSSEC mencegah hal ini dengan menandatangani jawaban DNS secara digital.

# DNS cache poisoning simulation
# Attacker floods resolver with forged responses
# for the query 'A example.com?'

# Each response guesses a different transaction ID:
# ID=1234: example.com -> 198.51.100.1  (attacker IP)
# ID=1235: example.com -> 198.51.100.1
# ...
# ID=XXXX: example.com -> 198.51.100.1  (correct guess!)

# Resolver caches poisoned answer (TTL = 3600s)
# All users querying this resolver get attacker IP
# Users are redirected to phishing/malware server

DNSSEC: Ekstensi Keamanan DNS

DNSSEC menambahkan tanda tangan kriptografis ke record DNS, sehingga Resolver dapat memverifikasi bahwa jawaban berasal dari otoritas zona yang sah dan belum diubah. DNSSEC memperkenalkan jenis record baru: RRSIG (tanda tangan resource record, yaitu tanda tangan sebenarnya atas sekumpulan record), DNSKEY (kunci publik yang digunakan untuk memverifikasi tanda tangan), DS (delegation signer, yang menghubungkan kunci zona induk dan anak), serta NSEC/NSEC3 (penolakan keberadaan terautentikasi — membuktikan bahwa suatu nama tidak ada). DNSSEC membuat rantai kepercayaan dari zona akar (ditandatangani oleh ICANN) hingga zona TLD dan zona otoritatif.

# Verify DNSSEC signature on a domain
dig +dnssec example.com A
# Look for 'ad' (authenticated data) flag in response
# and the RRSIG record alongside the A record

# Query for DNSKEY record
dig DNSKEY example.com

# Query for DS record at parent zone
dig DS example.com @a.iana-servers.net

# Full DNSSEC chain validation check
dig +sigchase +trusted-key=/.../root.key example.com A

Jenis Kunci DNSSEC: KSK dan ZSK

DNSSEC menggunakan dua jenis kunci penandatanganan. Zone Signing Key (ZSK) menandatangani setiap kumpulan record DNS (RRSIG) dan sering dirotasi (setiap bulan atau setiap kuartal) demi keluwesan operasional. Key Signing Key (KSK) menandatangani kumpulan record DNSKEY dan menjadi jangkar kepercayaan untuk zona tersebut. KSK dirotasi lebih jarang (setahun sekali) karena zona induk harus diperbarui dengan record DS baru setiap kali KSK berubah — proses yang memerlukan koordinasi. KSK memverifikasi ZSK; ZSK menandatangani data. Struktur dua lapis ini menyeimbangkan keamanan (rotasi ZSK yang sering) dengan beban operasional (rotasi KSK yang jarang).

Keterbatasan DNSSEC

DNSSEC memiliki keterbatasan penting. DNSSEC tidak mengenkripsi Query DNS — DNSSEC hanya menandatangani jawaban untuk menjaga integritas. Penyadap tetap dapat melihat semua Query DNS, tetapi tidak dapat memalsukan jawaban. Enumerasi zona: record NSEC (yang membuktikan ketidakberadaan) memungkinkan Attacker menelusuri zona dan mencantumkan semua nama domain di dalamnya; NSEC3 mengurangi risiko ini dengan nama yang di-hash, tetapi tidak sempurna. Kompleksitas operasional: pengelolaan kunci, kedaluwarsa tanda tangan, dan koordinasi dengan zona induk menimbulkan beban operasional yang signifikan. Penerapan DNSSEC masih belum lengkap — banyak TLD dan registrar mendukungnya, tetapi banyak organisasi belum menerapkannya.

DNS melalui HTTPS (DoH)

DNS melalui HTTPS (DoH) mengenkripsi queries DNS di dalam HTTPS (RFC 8484), sehingga isi queries tersembunyi dari pengamat jaringan. Queries dikirim ke resolver yang mendukung DoH melalui URL HTTPS standar, sehingga lalu lintas DNS tidak dapat dibedakan dari lalu lintas HTTPS lainnya. Hal ini mencegah ISP, pemberi kerja, dan penyerang yang berada di jalur komunikasi melihat domain mana yang ditanyakan pengguna—menutup celah privasi yang tidak ditangani oleh DNSSEC. Namun, DoH memindahkan kepercayaan dari resolver DNS jaringan ke penyedia DoH (biasanya Google 8.8.8.8, Cloudflare 1.1.1.1, atau resolver DoH milik organisasi sendiri). Kini DoH didukung secara bawaan oleh sebagian besar peramban utama.

# DoH query using curl
curl -H 'accept: application/dns-json' \
  'https://cloudflare-dns.com/dns-query?name=example.com&type=A'

# DoH query via RFC 8484 (binary format)
curl -s -H 'Content-Type: application/dns-message' \
     -H 'Accept: application/dns-message' \
     --data-binary @query.bin \
     https://dns.google/dns-query

# Configure Firefox to use DoH
# about:config -> network.trr.uri
# Set to: https://mozilla.cloudflare-dns.com/dns-query

DNS melalui TLS (DoT)

DNS melalui TLS (DoT) (RFC 7858) mengenkripsi queries DNS menggunakan TLS melalui port TCP khusus 853, bukan dengan melakukan tunneling melalui HTTPS. DoT memberikan manfaat privasi yang sama seperti DoH—menyembunyikan isi queries dari penyadap—tetapi lebih mudah dikenali dan disaring oleh administrator jaringan (port 853 dibandingkan port 443). Ini menjadi pedang bermata dua: DoT terlihat jelas dan dapat diblokir oleh firewall perusahaan, sedangkan DoH lebih sulit diblokir tanpa memengaruhi lalu lintas HTTPS secara umum. Resolver stub (tingkat OS) lebih umum menggunakan DoT; peramban lebih umum menggunakan DoH.

# Test DoT connection using kdig
kdig -d @9.9.9.9 +tls-ca example.com A

# Test DoT using openssl
openssl s_client -connect 1.1.1.1:853
# Then type: query string in DNS wire format

# Configure systemd-resolved to use DoT (Linux)
# /etc/systemd/resolved.conf:
[Resolve]
DNS=9.9.9.9#dns.quad9.net
DNSOverTLS=yes

DoH dan DoT: Pertimbangan untuk Perusahaan

DNS terenkripsi menimbulkan tantangan bagi lingkungan perusahaan yang bergantung pada penyaringan berbasis DNS dan sinkhole. Ketika peramban menggunakan resolver DoH eksternal, kontrol DNS internal dapat dilewati. Tindakan penanggulangan di lingkungan perusahaan: gunakan resolver DoH/DoT internal (Cisco Umbrella, Pi-hole dengan DoH) dan konfigurasikan semua perangkat untuk menggunakannya; blokir IP resolver DoH eksternal di firewall (Google 8.8.8.8, Cloudflare 1.1.1.1) pada port 443; gunakan Group Policy untuk menonaktifkan DoH tingkat peramban pada Endpoint yang dikelola; serta gunakan aturan proxy transparan yang mencegat DNS-over-TLS pada port 853. Tujuannya adalah merutekan semua DNS melalui resolver yang dikendalikan tanpa memblokir DNS terenkripsi sepenuhnya.

# Enterprise DoH bypass prevention
# Windows Group Policy:
# Computer Config > Admin Templates > Google Chrome
# 'DNS over HTTPS mode': Disabled
# 'DNS over HTTPS URI templates': <empty>

# Firewall: block known public DoH resolvers
iptables -I FORWARD -d 8.8.8.8 -p tcp --dport 443 -j DROP
iptables -I FORWARD -d 1.1.1.1 -p tcp --dport 443 -j DROP
iptables -I FORWARD -d 9.9.9.9 -p tcp --dport 443 -j DROP
iptables -I FORWARD -d 149.112.112.112 -p tcp --dport 443 -j DROP

# Redirect all DNS to corporate resolver
iptables -t nat -A PREROUTING -p udp --dport 53 \
  -j DNAT --to-destination 10.0.0.53:53

Keamanan DNS dalam Praktik

Strategi keamanan DNS yang lengkap menggabungkan beberapa kontrol. DNSSEC untuk zona otoritatif Anda mencegah keracunan cache pada domain Anda. Penyaringan berbasis DNS (Cisco Umbrella, Cloudflare Gateway) memblokir domain berbahaya pada tingkat resolver. DoH/DoT ke resolver yang dikendalikan memberikan privasi queries tanpa menghilangkan visibilitas penyaringan. Pencatatan DNS ke SIEM merekam semua queries untuk perburuan ancaman—log DNS mengungkap lalu lintas C2, eksfiltrasi data melalui tunneling DNS, dan aktivitas algoritma pembangkitan domain (DGA) dari malware. Telemetri DNS merupakan salah satu sumber data keamanan dengan nilai tertinggi yang tersedia.

Deteksi Tunneling DNS

Tunneling DNS menyandikan data di dalam queries dan respons DNS untuk mengekfiltrasi data atau membangun kanal C2 melalui jaringan yang memblokir lalu lintas keluar lainnya. Alat seperti iodine, DNScat, dan dnscat2 menyandikan payload dalam label subdomain (melakukan query untuk EXFILTRATEDDATA.evil.com) atau catatan TXT. Deteksi: nama query DNS yang sangat panjang (>100 karakter), volume query yang tinggi dari satu host, queries untuk domain induk yang tidak ada, jenis catatan yang tidak biasa (TXT, NULL), serta analisis entropi label domain (data yang disandikan memiliki entropi Shannon yang tinggi). Platform analitik keamanan DNS secara otomatis menandai pola tunneling.

# DNS tunneling detection indicators
# Flag queries with:
# 1. Query name > 100 characters
# 2. More than 50 queries/minute from single host
# 3. High-entropy domain labels (base64/hex patterns)
# 4. TXT or NULL record type queries (unusual)
# 5. Queries to domains with no web presence

# Example tunnel query (encoded payload)
# aGVsbG8gd29ybGQ.vGhpcyBpcyBkYXRh.evil-domain.com
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Base64 encoded 'hello world this is data'

Zona Kebijakan Respons DNS (RPZ)

Zona Kebijakan Respons DNS (RPZ) memungkinkan resolver DNS menerapkan kebijakan penggantian lokal pada respons DNS—pada dasarnya membuat sinkhole lokal pada tingkat resolver tanpa mengubah infrastruktur DNS global. Ketika Client menanyakan domain yang diketahui berbahaya, kebijakan RPZ mengembalikan NXDOMAIN, mengarahkan ulang ke IP sinkhole, atau mengembalikan respons passthrough. Umpan RPZ tersedia dari penyedia intelijen ancaman (Spamhaus, SURBL) dan dapat diimpor langsung ke resolver BIND atau Unbound. RPZ merupakan alat pertahanan yang ampuh karena menerapkan penyaringan pada lapisan DNS untuk semua perangkat di jaringan tanpa konfigurasi di sisi Client.

# BIND RPZ configuration snippet
# /etc/named.conf
response-policy {
  zone 'rpz.spamhaus.net';
  zone 'local-blocklist.internal';
};

# RPZ zone file (local-blocklist.internal)
$ORIGIN local-blocklist.internal.
@  SOA  ns1.company.com. admin.company.com. 2024010101 3600 600 86400 300
botnet-c2.evil IN CNAME .   # NXDOMAIN response
phishing-site.com IN A 10.0.0.99  # Redirect to sinkhole

Pemeriksaan Cepat

Uji pemahaman Anda tentang konsep CompTIA Security+ (SY0-701) dari lesson ini.

Ringkasan Lesson

Dalam lesson ini Anda mempelajari: DNSSEC menambahkan tanda tangan kriptografis ke catatan DNS menggunakan pasangan kunci KSK/ZSK untuk mencegah keracunan cache, tetapi tidak mengenkripsi queries; DNS melalui HTTPS (DoH) mengenkripsi queries DNS di dalam HTTPS untuk mencegah penyadapan, tetapi menimbulkan risiko dilewatinya penyaringan perusahaan; dan tunneling DNS menyandikan data dalam queries DNS dan dapat dideteksi melalui analisis panjang, volume, serta entropi queries. Selanjutnya kita akan membahas IPsec, protokol VPN, dan keamanan akses jarak jauh.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “DNS Aman: DNSSEC dan DNS melalui HTTPS (DoH)” gratis?

Ya — teks lengkap “DNS Aman: DNSSEC dan DNS melalui HTTPS (DoH)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “DNS Aman: DNSSEC dan DNS melalui HTTPS (DoH)”?

Pelajari cara DNSSEC mencegah keracunan tembolok DNS, serta cara DNS melalui HTTPS dan DNS melalui TLS melindungi privasi kueri dari pengamat di jalur komunikasi. Kamu berlatih Cloud & IT Cert Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cloud & IT Cert Prep?

Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “DNS Aman: DNSSEC dan DNS melalui HTTPS (DoH)” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cloud & IT Cert Prep ini?

Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mengganti Protokol Tidak Aman: Telnet vs SSH, FTP vs SFTP
  2. Versi TLS, Rangkaian Sandi, dan Kerahasiaan Terus-Menerus
  3. DNS Aman: DNSSEC dan DNS melalui HTTPS (DoH)
  4. IPsec, Protokol VPN, dan Keamanan Akses Jarak Jauh
← Kembali ke Cloud & IT Cert Prep