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:

LokasiFungsi
/etc/opendkim.confKonfigurasi utama
/etc/opendkim/keys/Penyimpanan key DKIM
/var/spool/postfix/opendkim/Socket OpenDKIM
/var/log/mail.logLog 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:

FieldValue
Namedefault._domainkey
TypeTXT
Valuev=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:

FieldValue
Name_dmarc
TypeTXT
Valuev=DMARC1; p=none; rua=mailto:dmarc@alfasmk.my.id; ruf=mailto:dmarc@alfasmk.my.id; fo=1

Catatan:

  • p=none aman untuk tahap awal
  • Setelah stabil, bisa dinaikkan ke quarantine atau reject

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

KesalahanDampak
DKIM selector tidak samaDKIM fail
Permission private key salahOpenDKIM error
Socket path salahEmail tidak ditandatangani
SPF terlalu longgarSpoofing
DMARC langsung rejectEmail 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.

By Admin

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *