Dev.to Security πŸ” Cybersecurity πŸ‘ 0 πŸ“– 4 min read

Saya Cek DMARC 4.437 Domain .id. 47% Domain go.id Masih Bisa Dipalsukan

Versi bahasa Inggris dengan metodologi lengkap: https://www.kielltampubolon.id/writing/i-checked-dmarc-on-4437-indonesian-id-domains/. Di setiap pelatihan phishing, selalu ada yang bertanya: "Bagaimana membedakan email

Saya Cek DMARC 4.437 Domain .id. 47% Domain go.id Masih Bisa Dipalsukan

Versi bahasa Inggris dengan metodologi lengkap: https://www.kielltampubolon.id/writing/i-checked-dmarc-on-4437-indonesian-id-domains/.

Di setiap pelatihan phishing, selalu ada yang bertanya: "Bagaimana membedakan email asli dari instansi dengan yang palsu?" Jawaban jujurnya: tergantung domainnya. Kalau pemilik domain sudah memasang DMARC dengan kebijakan reject, email palsu yang memakai nama domain itu persis di kolom From biasanya tidak akan sampai ke inbox. Kalau belum, email palsu itu bisa lolos.

Pada 25 Oktober 2026 saya mengecek 4.437 domain .id populer. Dari 469 domain go.id, 222 (47,3%) belum punya DMARC atau masih memakai p=none. Artinya, nama instansi tersebut masih bisa dipakai di email palsu, dan server penerima tidak diminta untuk memblokirnya.

Ringkasan untuk pimpinan

  • DMARC adalah satu record DNS yang memberi tahu Gmail, Outlook dan lainnya apa yang harus dilakukan terhadap email palsu atas nama domain Anda. Tanpa DMARC, atau dengan p=none, tidak ada yang diblokir.
  • Dari 4.437 domain .id, 3.301 (74,4%) masih bisa dipalsukan dengan cara ini.
  • go.id paling baik, tetapi tetap 47,3%. Kampus (ac.id) 84,2%, sekolah (sch.id) 91,7%.
  • Domain yang tidak dipakai untuk email juga perlu dilindungi. Dari 929 domain tanpa server email, hanya 40 yang sudah dikunci.

Kenapa ini penting

Phishing di Indonesia sering menumpang nama instansi resmi. Pada April 2024, Kemenkes memperingatkan email phishing yang mengatasnamakan SATUSEHAT. Pada 9 Juli 2026, DJP menegaskan bahwa email pengingatnya hanya dikirim dari @pajak.go.id. Imbauan "cek domain pengirim" hanya berguna kalau domain itu sendiri tidak bisa dipalsukan.

Google mewajibkan DMARC sejak 1 Februari 2024 untuk pengirim lebih dari 5.000 email per hari ke akun Gmail, dan Yahoo memberlakukan aturan serupa. Tetapi keduanya cukup dengan p=none. Jadi aturan itu menjaga email Anda tetap terkirim, bukan melindungi nama Anda dari pemalsuan.

Saya juga mencari panduan dari BSSN dan PANDI. Peraturan BSSN Nomor 4 Tahun 2021 tentang keamanan SPBE tidak menyebut SPF, DKIM, maupun DMARC, dan saya tidak menemukan dokumen BSSN atau PANDI lain yang membahasnya. Kalau ada, saya senang sekali kalau dikabari.

Cara pengukuran (singkat)

Sumbernya daftar Tranco GQ32K yang berisi 4.814 domain .id. Saya ambil semua domain go.id, ac.id, co.id, or.id, sch.id, web.id, my.id, biz.id dan .id langsung: 4.573 domain. Sebanyak 91 domain sudah tidak ada (NXDOMAIN) dan 45 gagal di DNS (SERVFAIL), jadi yang dianalisis 4.437 domain.

Skrip Python hanya mengirim query DNS ke 1.1.1.1 dan 8.8.8.8, maksimal 45 query per detik. Tidak ada koneksi langsung ke server domain yang dicek. Total 33.336 query dalam 813 detik.

Bisa dipalsukan berarti: tidak ada DMARC yang valid, atau p=none. p=none hanya meminta laporan, tidak meminta tindakan. SPF dengan ~all juga tidak cukup, karena SPF mengecek alamat pengirim tersembunyi (envelope), bukan alamat From yang dilihat orang, dan RFC 7208 menyatakan softfail sebaiknya tidak menjadi satu-satunya alasan penolakan.

Hasil per kategori

Grafik batang DMARC per kategori .id: go.id 47% bisa dipalsukan, co.id 59%, or.id 74%, .id 82%, ac.id 84%, sch.id 92%, biz.id 96%, web.id 97%, my.id 97%.

Kategori Dianalisis Tanpa DMARC p=none quarantine reject Bisa dipalsukan
go.id 469 87 135 156 91 222 (47,3%)
co.id 1.029 341 271 217 200 612 (59,5%)
or.id 50 25 12 9 4 37 (74,0%)
.id 1.607 957 357 169 124 1.314 (81,8%)
ac.id 942 318 475 97 52 793 (84,2%)
sch.id 133 83 39 7 4 122 (91,7%)
biz.id 23 16 6 0 1 22 (95,7%)
web.id 70 57 11 1 1 68 (97,1%)
my.id 114 88 23 0 3 111 (97,4%)
Total 4.437 1.972 1.329 656 480 3.301 (74,4%)

Tiga temuan

1. go.id sudah setengah jalan, lalu berhenti. 247 domain go.id (52,7%) sudah quarantine atau reject, terbaik di antara semua kategori. Tetapi 135 masih p=none, dan 97 di antaranya sudah menerima laporan rua. Laporan masuk, tetapi kebijakannya tidak pernah dinaikkan.

2. Kampus dan sekolah paling terbuka. ac.id punya 475 domain di p=none, separuh dari semua domain kampus yang dianalisis, dan 367 di antaranya sudah mengumpulkan laporan. Di sch.id, 83 dari 133 domain sekolah belum punya DMARC sama sekali.

3. Domain tanpa email paling mudah diperbaiki, tetapi paling jarang dikunci. Ada 929 domain tanpa MX. Hanya 40 (4,3%) yang memasang SPF -all dan DMARC p=reject sesuai praktik M3AAWG. Sebanyak 786 tidak punya SPF maupun DMARC. Di go.id ada 19 domain tanpa MX, dan tidak satu pun yang dikunci.

Kontrol lain masih langka: MTA-STS 35 domain (0,8%), TLS-RPT 35 (0,8%), DNSSEC 190 (4,3%).

Langkah perbaikan

Ganti contoh.go.id dengan domain Anda.

1. Mulai dengan monitoring dan laporan.

_dmarc.contoh.go.id.  TXT  "v=DMARC1; p=none; rua=mailto:[email protected]"

Baca laporannya selama 2 sampai 4 minggu. Pastikan semua pengirim resmi lolos SPF atau DKIM: email dinas, SIAKAD, aplikasi layanan, LMS, aplikasi buletin. Perbaiki yang belum.

2. Naik ke quarantine.

_dmarc.contoh.go.id.  TXT  "v=DMARC1; p=quarantine; rua=mailto:[email protected]"

Tag pct sudah dihapus di RFC 9989 (pengganti RFC 7489), jadi jangan mengandalkannya.

3. Reject.

_dmarc.contoh.go.id.  TXT  "v=DMARC1; p=reject; sp=reject; rua=mailto:[email protected]"

Pastikan juga hanya ada satu record SPF, maksimal 10 lookup, dan diakhiri -all.

4. Domain yang tidak dipakai untuk email (domain aplikasi, domain event, domain lama):

contoh.go.id.         MX   0 .
contoh.go.id.         TXT  "v=spf1 -all"
_dmarc.contoh.go.id.  TXT  "v=DMARC1; p=reject; rua=mailto:[email protected]"

Ini cukup lima menit dan tidak perlu uji coba, karena memang tidak ada email resmi yang bisa rusak.

5. MTA-STS dan TLS-RPT untuk email masuk:

_mta-sts.contoh.go.id.    TXT  "v=STSv1; id=20261025T000000"
_smtp._tls.contoh.go.id.  TXT  "v=TLSRPTv1; rua=mailto:[email protected]"

Lalu sajikan file https://mta-sts.contoh.go.id/.well-known/mta-sts.txt berisi version: STSv1, mode: testing, mx: mail.contoh.go.id, max_age: 86400. Ubah ke enforce setelah laporan TLS bersih.

Batasan

  • Sampelnya domain .id paling populer menurut Tranco, jadi condong ke organisasi besar.
  • Yang dicek hanya domain utama, bukan subdomain. DKIM tidak diukur.
  • "Bisa dipalsukan" berarti pemilik domain belum meminta pemblokiran. Sebagian penerima tetap menyaring email palsu dengan filter mereka sendiri.
  • DMARC tidak mencegah domain tiruan (seperti kasus SATUSEHAT) atau akun email yang dibobol.
  • Satu waktu pengukuran: 25 Oktober 2026, dari Batam.

Saya hanya menerbitkan angka agregat, tidak ada hasil per domain.

Penutup

Perbaikannya hanya beberapa record TXT, bukan proyek besar. Untuk rekan-rekan admin di pemda, kampus dan sekolah: apa yang membuat domain Anda masih di p=none? Takut sistem lama rusak, tidak ada yang membaca laporan, atau tidak jelas siapa yang memegang DNS?

Baca juga: Let's Encrypt Pindah ke 64 Hari. Saya Cek 520 Situs .id

πŸ“° Read the original article on Dev.to Security

Originally published by Dev.to Security. Aggregated on AIWithGhost for educational purposes β€” full credit and traffic to the original publisher.