Pendahuluan
Setelah Postfix dan Dovecot berhasil dikonfigurasi dengan aman, tahap selanjutnya adalah meningkatkan reputasi dan kepercayaan email menggunakan SPF, DKIM, dan DMARC.
Tanpa konfigurasi ini:
- Email sangat berpotensi masuk spam
- Gmail/Yahoo bisa menolak email
- Domain mudah dipalsukan (spoofing)
Artikel ini membahas instalasi OpenDKIM dan konfigurasi DNS SPF, DKIM, serta DMARC secara lengkap dan benar, ditujukan untuk pemula namun mengikuti praktik standar mail server modern.
1. Gambaran Singkat SPF, DKIM, dan DMARC
1.1 SPF (Sender Policy Framework)
Menentukan server mana yang diizinkan mengirim email atas nama domain.
1.2 DKIM (DomainKeys Identified Mail)
Menandatangani email secara kriptografi untuk menjamin:
- Email tidak diubah
- Email benar-benar berasal dari domain pengirim
1.3 DMARC
Kebijakan lanjutan yang mengatur:
- Apa yang harus dilakukan jika SPF/DKIM gagal
- Laporan ke pemilik domain
2. Instalasi OpenDKIM
2.1 Install Paket OpenDKIM
sudo apt install opendkim opendkim-tools -y
Aktifkan layanan:
sudo systemctl enable opendkim
sudo systemctl start opendkim
3. Struktur Direktori OpenDKIM
Direktori penting yang akan digunakan:
| Lokasi | Fungsi |
|---|---|
/etc/opendkim.conf | Konfigurasi utama |
/etc/opendkim/keys/ | Penyimpanan key DKIM |
/var/spool/postfix/opendkim/ | Socket OpenDKIM |
/var/log/mail.log | Log OpenDKIM |
4. Konfigurasi OpenDKIM
4.1 Edit File Konfigurasi Utama
sudo nano /etc/opendkim.conf
Pastikan isi penting berikut ada dan sesuai:
Syslog yes
SyslogSuccess yes
LogWhy yes
UMask 002
Canonicalization relaxed/simple
Mode sv
SubDomains no
AutoRestart yes
AutoRestartRate 10/1h
Socket local:/var/spool/postfix/opendkim/opendkim.sock
PidFile /run/opendkim/opendkim.pid
UserID opendkim:postfix
KeyTable refile:/etc/opendkim/key.table
SigningTable refile:/etc/opendkim/signing.table
InternalHosts /etc/opendkim/trusted.hosts <--- satu spasi aja
5. Buat Direktori dan Permission Socket
sudo mkdir -p /var/spool/postfix/opendkim
sudo chown opendkim:postfix /var/spool/postfix/opendkim
sudo chmod 750 /var/spool/postfix/opendkim
6. Konfigurasi Trusted Hosts
Edit file:
sudo nano /etc/opendkim/trusted.hosts
Isi:
127.0.0.1
localhost
*.alfasmk.my.id
7. Konfigurasi Signing Table
Edit file:
sudo nano /etc/opendkim/signing.table
Isi:
*@alfasmk.my.id default._domainkey.alfasmk.my.id
8. Konfigurasi Key Table
Edit file:
sudo nano /etc/opendkim/key.table
Isi:
default._domainkey.alfasmk.my.id alfasmk.my.id:default:/etc/opendkim/keys/alfasmk.my.id/default.private
9. Generate DKIM Key
9.1 Buat Direktori Key
sudo mkdir -p /etc/opendkim/keys/alfasmk.my.id
sudo chown -R opendkim:opendkim /etc/opendkim/keys
9.2 Generate Key
cd /etc/opendkim/keys/alfasmk.my.id
sudo opendkim-genkey -s default -d alfasmk.my.id
File yang dihasilkan:
default.private→ private key (server)default.txt→ public key (DNS)
Set permission:
sudo chown opendkim:opendkim default.private
sudo chmod 600 default.private
10. Integrasi OpenDKIM dengan Postfix
Edit file Postfix:
sudo nano /etc/postfix/main.cf
Tambahkan di bagian bawah:
milter_default_action = accept
milter_protocol = 6
smtpd_milters = unix:/opendkim/opendkim.sock
non_smtpd_milters = unix:/opendkim/opendkim.sock
11. Restart Layanan
sudo systemctl restart opendkim
sudo systemctl restart postfix
Cek status:
sudo systemctl status opendkim
Pastikan active (running).
12. Konfigurasi DNS DKIM
Buka file default.txt:
sudo cat /etc/opendkim/keys/alfasmk.my.id/default.txt
Isinya seperti:
default._domainkey IN TXT (
"v=DKIM1; k=rsa; p=MIIBIjANBgkq..."
)
Masukkan ke DNS sebagai TXT Record:
| Field | Value |
|---|---|
| Name | default._domainkey |
| Type | TXT |
| Value | v=DKIM1; k=rsa; p=MIIBIjANBgkq... |
13. Konfigurasi SPF
Tambahkan TXT record di domain utama:
v=spf1 ip4:IP_VPS ~all
Jika menggunakan IPv6:
v=spf1 ip4:IP_VPS ip6:IPV6_VPS -all
14. Konfigurasi DMARC
Tambahkan TXT record:
| Field | Value |
|---|---|
| Name | _dmarc |
| Type | TXT |
| Value | v=DMARC1; p=none; rua=mailto:dmarc@alfasmk.my.id; ruf=mailto:dmarc@alfasmk.my.id; fo=1 |
Catatan:
p=noneaman untuk tahap awal- Setelah stabil, bisa dinaikkan ke
quarantineataureject
15. Verifikasi Konfigurasi
15.1 Cek DNS
dig TXT alfasmk.my.id
dig TXT default._domainkey.alfasmk.my.id
dig TXT _dmarc.alfasmk.my.id
15.2 Test Kirim Email ke Gmail
- Kirim email ke akun Gmail
- Buka email → Show original
- Pastikan:
- SPF: PASS
- DKIM: PASS
- DMARC: PASS
16. Kesalahan Umum yang Harus Dihindari
| Kesalahan | Dampak |
|---|---|
| DKIM selector tidak sama | DKIM fail |
| Permission private key salah | OpenDKIM error |
| Socket path salah | Email tidak ditandatangani |
| SPF terlalu longgar | Spoofing |
| DMARC langsung reject | Email bisa hilang |
17. Checklist Akhir Mail Server
- Postfix aman
- Dovecot aktif
- OpenDKIM berjalan
- SPF valid
- DKIM pass
- DMARC pass
- Email masuk inbox Gmail
Penutup
SPF, DKIM, dan DMARC bukan fitur tambahan, melainkan komponen wajib mail server modern.
Dengan konfigurasi yang benar, email akan dipercaya oleh mail provider besar dan reputasi domain tetap terjaga.
