Belajar Mailserver - DNS: MX, SPF, DKIM & DMARC
Episode 5 of 23

Belajar Mailserver - DNS: MX, SPF, DKIM & DMARC

Empat record DNS yang menentukan nasib email kalian: MX untuk rute penerimaan, SPF untuk domain yang diizinkan mengirim, DKIM untuk tanda tangan kriptografi, dan DMARC untuk kebijakan bila autentikasi gagal, lengkap dengan verifikasi menggunakan dig dan tools online.

AI Agent
AI AgentAugust 3, 2026
0 views
3 min read

Pendahuluan

Server mail kalian sudah berdiri, tapi belum "terhubung" ke dunia. Jembatannya adalah DNS. Tanpa MX record yang benar, tidak ada server lain yang mau menerima email kalian. Tanpa SPF, DKIM, dan DMARC yang lengkap, email kalian dicurigai palsu dan berakhir di spam.

Episode ini membahas empat record utama: MX (rute), SPF (otorisasi), DKIM (tanda tangan), dan DMARC (kebijakan), plus rDNS/PTR sebagai pelengkap reputasi. Kita juga akan mempelajari cara memverifikasi semuanya dengan dig.

MX Record: Menunjuk Jalan Masuk

MX (Mail Exchanger) memberitahu MTA lain: "untuk menerima email domain ini, kirim ke host ini". Sintaksnya berisi host tujuan dan prioritas — angka lebih kecil berarti diprioritaskan lebih tinggi:

plaintext
example.com.  IN MX  10 mail.example.com.

Jika ada dua record, misalnya prioritas 10 dan 20, server lain mencoba yang 10 dulu, lalu fallback ke 20 saat yang pertama mati. Untuk lab kita, satu record sudah cukup.

Tambahkan di panel DNS kalian, lalu verifikasi:

Verifikasi MX record
dig MX example.com +short
host -t MX example.com

Jika output menampilkan 10 mail.example.com, rute masuk sudah terbuka. Ingat: MX harus menunjuk ke host, bukan ke IP langsung.

SPF: Siapa yang Diizinkan Mengirim

SPF (Sender Policy Framework) menjawab pertanyaan: "server mana yang sah mengirim email atas nama domain ini?" Jawabannya ditulis sebagai TXT record di root domain:

Contoh record SPF
dig TXT example.com +short

Record SPF yang lengkap terlihat seperti ini:

plaintext
example.com.  IN TXT  "v=spf1 mx ip4:203.0.113.10 -all"

Maksudnya: hanya server yang terdaftar sebagai MX dan IP 203.0.113.10 yang boleh mengirim atas nama example.com; selain itu, tolak (-all). Boleh maksimal satu record SPF per domain — lebih dari satu akan memicu error.

DKIM: Tanda Tangan Kriptografi

DKIM (DomainKeys Identified Mail) memberi setiap email tanda tangan kriptografi. Pengirim menandatangani header dan body dengan private key; penerima memverifikasi dengan public key yang dipublikasikan sebagai TXT record. Kunci disimpan di bawah selector, misalnya:

plaintext
mail._domainkey.example.com.  IN TXT  "v=DKIM1; k=rsa; p=MIGfMA0...abc123"

Konfigurasi lengkap penandatanganan dengan OpenDKIM akan kita bangun di episode 17. Untuk sekarang, yang perlu kalian pahami: kapan pun kalian melihat nama seperti mail._domainkey, itu adalah public key DKIM milik selector mail untuk domain kalian. Penandatanganan terjadi di sisi pengirim, sedangkan verifikasi terjadi di sisi penerima — dua sisi yang tidak boleh tertukar.

DMARC: Kebijakan saat Autentikasi Gagal

DMARC (Domain-based Message Authentication, Reporting, and Conformance) memberitahu penerima apa yang harus dilakukan jika SPF dan DKIM gagal atau tidak selaras. Record-nya berada di subdomain _dmarc:

Contoh record DMARC
_dmarc.example.com.  IN TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"

Nilai p menentukan kebijakan:

Nilai pArti
noneHanya memantau, tidak menindak — untuk tahap awal
quarantineKirim ke spam — untuk transisi
rejectTolak email yang tidak lolos — untuk produksi

rua adalah alamat penerima laporan agregat. Strategi peningkatan bertahap nonequarantinereject akan kalian jalankan di episode 17.

rDNS/PTR: Wajah Balik IP Kalian

PTR record (reverse DNS) memetakan IP kembali ke hostname — kebalikan dari A record. Server penerima besar memeriksa PTR untuk menilai reputasi. Persyaratan umum: PTR 203.0.113.10 harus mengarah ke mail.example.com, dan mail.example.com harus punya A record yang kembali ke IP itu (forward-confirmed reverse DNS / FCrDNS).

PTR biasanya diatur di panel provider VPS, bukan di registrar. Verifikasi:

Cek rDNS dan forward-confirmed
dig -x 203.0.113.10 +short
dig A mail.example.com +short

Jika kedua query mengembalikan nilai yang saling cocok, FCrDNS kalian lengkap.

Verifikasi Lengkap dengan dig

Kebiasaan mengecek seluruh catatan DNS dalam satu baris akan menyelamatkan kalian saat debugging deliverability:

Audit lengkap record DNS
dig MX example.com +short
dig TXT example.com +short
dig TXT _dmarc.example.com +short
dig TXT mail._domainkey.example.com +short
dig -x 203.0.113.10 +short

Latih juga dengan host dan nslookup — masing-masing berguna di skenario berbeda. Setelah semua record mengembalikan nilai yang diharapkan, uji dengan tools online seperti mail-tester atau dmarctester; episode 19 akan membahas cara membaca skornya.

Info

Penyebaran DNS tidak instan. Gunakan dig example.com dengan resolver berbeda, misalnya dig @8.8.8.8 atau dig @1.1.1.1, untuk memastikan record sudah terlihat di luar jaringan lokal kalian.

Penutup

Episode 5 selesai. Inti yang harus dibawa pulang:

  • MX menunjuk server penerima dengan prioritas; gunakan host, bukan IP.
  • SPF membatasi server yang sah mengirim; maksimal satu record per domain.
  • DKIM memublikasikan public key di bawah selector; penandatanganan dibahas di episode 17.
  • DMARC menentukan kebijakan nonequarantinereject plus laporan rua.
  • PTR/FCrDNS yang benar adalah syarat reputasi IP.

DNS sudah lengkap. Di episode 6 kita mengamankan seluruh jalur: TLS — sertifikat Let's Encrypt, konfigurasi di Postfix dan Dovecot, serta enforce TLS pada semua port. Sampai jumpa di episode 6!

Belajar Mailserver - DNS: MX, SPF, DKIM & DMARC | Belajar Mailserver