Autentikasi dan DNS
DKIM
DKIM adalah singkatan dari DomainKeys Identified Mail. DKIM menambahkan tanda tangan digital ke setiap email yang Anda kirim. Server penerima memeriksa tanda tangan itu untuk memastikan email berasal dari domain Anda dan tidak diubah setelah dikirim.
Apa itu DKIM?
DKIM adalah singkatan dari DomainKeys Identified Mail. DKIM didefinisikan di RFC 6376. DKIM menambahkan tanda tangan digital ke setiap email yang keluar dari server Anda. Tanda tangan digital adalah kode panjang yang hanya bisa dibuat oleh server Anda.
Server penerima memeriksa kode itu. Jika kodenya valid, ada dua hal yang benar. Email itu ditandatangani oleh domain Anda. Tidak ada yang mengubahnya setelah dikirim.
Domain adalah nama setelah tanda @ di alamat email, seperti example.com. DKIM bekerja per domain. Setiap domain yang mengirim email sebaiknya menandatanganinya dengan kuncinya sendiri.
Contoh: sebuah toko mengirim struk
Sebuah toko online memakai domain example.com. Lena membeli lampu, dan toko itu mengirim struk ke alamat Gmail miliknya. Inilah yang dilakukan DKIM.
- Server pengirim toko menulis struk itu.
- Server memakai private key (kunci privat) untuk membuat tanda tangan bagi email itu. Private key adalah file rahasia yang tetap berada di server pengirim.
- Server menambahkan tanda tangan ke email sebagai header bernama
DKIM-Signature. Header adalah baris informasi teknis di bagian atas email. Pembaca biasanya tidak melihatnya. - Email sampai di Gmail.
- Gmail membaca header itu. Gmail menemukan domain example.com dan selector s2026a.
- Gmail mencari public key (kunci publik) untuk selector itu di DNS toko. DNS adalah direktori publik tempat domain menerbitkan pengaturannya.
- Gmail memakai public key untuk memeriksa tanda tangan. Pemeriksaan berhasil.
- Gmail mencatat hasilnya sebagai DKIM pass untuk example.com.
Misalnya seseorang mengubah jumlah di struk setelah email dikirim. Pemeriksaan di langkah 7 akan gagal. Public key bisa memastikan sebuah tanda tangan, tetapi tidak bisa membuatnya. Hanya private key yang bisa membuatnya.
Tanda tangan DKIM
Tanda tangan DKIM adalah satu header dengan beberapa bagian, yang disebut tag. Setiap tag terdiri dari huruf, tanda sama dengan, dan nilai. Dua tag paling penting.
d=adalah domain penanda tangan, misalnyad=example.com.s=adalah selector, misalnyas=s2026a. Selector adalah label yang memberi nama pada satu kunci. Sebuah domain bisa punya beberapa kunci sekaligus, masing-masing dengan selector sendiri.
Header itu juga berisi tanda tangan di b=, dan kode untuk isi email di bh=. Server penerima memakai semuanya untuk menjalankan pemeriksaan.
DKIM record
Public key diterbitkan di DKIM record. Ini adalah DNS TXT record, yaitu entri DNS yang berisi teks biasa. Namanya dibentuk dari selector dan domain:
s2026a._domainkey.example.com
Nilai record-nya terlihat seperti ini:
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
v=DKIM1menyatakan bahwa ini adalah DKIM record.k=rsamenyebut jenis kuncinya.p=berisi public key. Nilai sebenarnya panjangnya beberapa ratus karakter.
Private key tidak pernah dimasukkan ke DNS. Kunci itu tetap di server pengirim. Untuk ukuran kunci, pakai 2048 bit. Gmail menerima 1024 bit sebagai batas minimum, tetapi menyarankan 2048. RFC 8301 menyatakan bahwa penanda tangan sebaiknya memakai 2048 bit.
Kenapa DKIM penting
DKIM tetap bekerja saat email diteruskan. Misalnya seseorang meneruskan struk dari toko itu ke akun lain. Server penerus mengirimnya dari alamat IP miliknya sendiri. Alamat IP adalah angka yang mengenali sebuah server di internet. Alamat IP itu tidak ada di SPF record toko, jadi SPF gagal. Tanda tangan DKIM ikut berada di dalam email, jadi DKIM tetap lolos.
DMARC memakai DKIM. DMARC lolos jika SPF atau DKIM lolos untuk domain yang sama dengan yang tampil di alamat From. Penerusan email merusak SPF, jadi DKIM sering menjadi pemeriksaan yang membuat DMARC lolos.
DKIM juga wajib untuk pengirim massal. Panduan pengirim dari Google mewajibkan SPF, DKIM, dan DMARC bagi pengirim 5.000 email atau lebih per hari ke Gmail. Microsoft punya aturan yang sama untuk Outlook.com, Hotmail, dan Live.
Cara memasang DKIM
Cara memasang DKIM tergantung pada siapa yang mengirim email Anda.
- Anda memakai layanan email seperti Google Workspace, Microsoft 365, Mailchimp, atau SendGrid. Layanan itu membuat kunci untuk Anda. Layanan itu menampilkan DKIM record yang perlu Anda tambahkan di penyedia DNS Anda. Penyedia DNS biasanya adalah perusahaan tempat Anda membeli domain.
- Anda mengelola server email sendiri. Anda membuat pasangan kunci sendiri. DKIM generator (dalam bahasa Inggris) kami membuat pasangan kunci 2048 bit dan TXT record di browser Anda. Anda memasang private key di server dan menerbitkan record di DNS.
Periksa satu masalah yang umum. Banyak layanan email secara bawaan menandatangani dengan domain bersama milik mereka sendiri. Tanda tangannya lolos, tetapi domain di d= bukan milik Anda, jadi DMARC alignment gagal. Aktifkan DKIM kustom di pengaturan layanan, agar d= menampilkan domain Anda. Halaman DMARC alignment menjelaskan kenapa ini penting.
Cara memeriksa apakah DKIM bekerja
- Kirim email dari domain Anda ke akun Gmail pribadi.
- Buka email itu di Gmail.
- Klik menu titik tiga dan pilih Tampilkan versi asli.
- Cari baris DKIM di bagian atas. Baris itu harus bertuliskan PASS dengan domain Anda.
Jika bertuliskan FAIL, periksa dua hal. Record DNS mungkin belum selesai diterbitkan. Atau selector di server Anda mungkin tidak sama persis dengan selector di DNS.
DKIM dan verifikasi email
DKIM membuktikan bahwa email berasal dari domain Anda. DKIM tidak membuktikan bahwa alamat penerima ada. Email yang ditandatangani dengan benar ke alamat mati tetap bounce. Sebuah email verifier menanyakan ke server penerima apakah setiap kotak masuk ada sebelum Anda mengirim. Alat verifikasi email massal melakukan hal yang sama untuk seluruh daftar. DKIM membuktikan siapa yang mengirim email, dan verifikasi email memastikan email dikirim ke alamat yang bisa menerimanya.
Istilah terkait
- SPF recordSPF record adalah sebaris teks di domain Anda yang mencantumkan server yang boleh mengirim email atas nama domain itu. Server penerima memeriksanya untuk memastikan bahwa email yang mengaku dari domain Anda memang dikirim oleh salah satu server Anda.
- DMARCDMARC adalah aturan yang Anda terbitkan di DNS domain Anda. Aturan ini memberi tahu server penerima apa yang harus dilakukan dengan email yang mengaku dari domain Anda tetapi gagal SPF dan DKIM. DMARC juga memberi tahu ke mana laporan harus dikirim kepada Anda.
- DNS TXT recordDNS TXT record adalah sebaris teks yang disimpan di pengaturan domain Anda. Server email membaca TXT record untuk memeriksa SPF, DKIM, dan DMARC. Layanan lain membacanya untuk memastikan bahwa Anda pemilik domain itu.
- Email spoofingEmail spoofing adalah mengirim email dengan alamat pengirim palsu, sehingga email terlihat berasal dari orang lain. Penipu memakainya untuk menyamar sebagai bank, pemasok, atau atasan Anda sendiri. SPF, DKIM, dan DMARC adalah record yang menghentikannya untuk sebuah domain.
- BIMIBIMI adalah standar email yang menampilkan logo merek Anda di samping email Anda, di kotak masuk yang mendukungnya. BIMI adalah singkatan dari Brand Indicators for Message Identification. BIMI hanya bekerja jika domain Anda lolos DMARC dengan kebijakan quarantine atau reject.
