DKIM, SPF, dan DMARC adalah tiga protokol email yang digunakan untuk memverifikasi keaslian email dan mencegah pengiriman email yang palsu atau merugikan. Ketiga protokol ini bertujuan untuk meningkatkan keamanan email dan melindungi pengguna dari phishing, spoofing, dan spam.
DKIM (DomainKeys Identified Mail) adalah sebuah protokol yang memungkinkan pengguna untuk menandatangani email mereka dengan kunci enkripsi digital yang terkait dengan domain mereka. Ketika email dikirim, penerima dapat memverifikasi bahwa email itu berasal dari domain yang dianggap asli dengan memeriksa tanda tangan digital.
Untuk membangkitkan DKIM key baru pada Zimbra, berikut caranya:
- Masuk ke akun zimbra
sudo su zimbra
cd ~
- ketik command untuk memunculkan dkim
libexec/zmdkimkeyutil -a -d example.com
DKIM Data added to LDAP for domain example.com with selector 0E9F184A-9577-11E1-AD0E-2A2FBBAC6BCB
Public key to enter into DNS:
0E9F184A-9577-11E1-AD0E-2A2FBBAC6BCB._domainkey IN TXT "v=DKIM1;=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDY5CBg15nZ2vYnRmrNub6Jn6ghQ2DXQbQgOJ/E5IGziUYEuE2OnxkBm1h3jived21uHjpNy0naOZjLj0xLyyjclVy1chrhSbsGAhe8HLXUsdXyfRvNTq8NWLsUnMEsoomtJCJ/6LYWYU1whOQ9oKZVAwWHSovAWZpByqNMZmFg7QIDAQAB" ; ----- DKIM 0E9F184A-9577-11E1-AD0E-2A2FBBAC6BCB for example.com
- Buat record pada DNS dengan nilai sebagai berikut :
Domain : 0E9F184A-9577-11E1-AD0E-2A2FBBAC6BCB._domainkey
TTL : 14400 (default)
Class : IN
Record type : TXT
Destination : "v=DKIM1;=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDY5CBg15nZ2vYnRmrNub6Jn6ghQ2DXQbQgOJ/E5IGziUYEuE2OnxkBm1h3jived21uHjpNy0naOZjLj0xLyyjclVy1chrhSbsGAhe8HLXUsdXyfRvNTq8NWLsUnMEsoomtJCJ/6LYWYU1whOQ9oKZVAwWHSovAWZpByqNMZmFg7QIDAQAB"
tunggu hingga propagasi selesai.
SPF (Sender Policy Framework) adalah sebuah protokol yang mengizinkan domain untuk menentukan server mana yang diizinkan untuk mengirim email atas nama domain tersebut. Ketika email dikirim, penerima dapat memverifikasi apakah server pengirim yang digunakan sesuai dengan daftar yang diizinkan oleh domain.
Contoh SPF records untuk mail server adalah seperti ini:
Domain : example.com
TTL : 14400
Class : IN
Record type : TXT
Destination : "v=spf1 ip4:192.168.100.0/24 ~all"
Ini artinya mengizinkan pengiriman email dari blok IP 192.168.100.0/24
Atau bisa juga menggunakan MX
Destination : "v=spf1 mx ~all"
Jika menggunakan third party sender (SMTP relay), bisa menambahkan smtp relay dalam variabel include, contoh jika menggunakan SMTP relay dari SendGrid
Destination : "v=spf1 mx ip4:192.168.100.0/24 include:smtp.sendgrid.com ~all"
Untuk value all
merupakan aksi jika verifikasi SPF gagal
+all
(plus – pass) artinya tetap ijinkan kirim meskipun gagal dalam pengujian SPF artinya seperti tanpa pengujian~all
(tilde – soft fail) artinya menunjukkan bahwa email yang tidak lulus pengujian SPF harus ditandai sebagai gagal, tetapi tidak harus ditolak sepenuhnya. Ini biasanya digunakan sebagai tindakan “peringatan” yang mengindikasikan bahwa email mungkin bukan email asli dari domain pengirim dan harus lebih diperhatikan oleh penerima.-all
(minus – fail) menunjukkan bahwa email yang tidak lolos pengujian SPF harus ditolak. Jika email berasal dari server yang tidak terdaftar dalam kebijakan SPF, maka email tersebut akan dianggap palsu dan akan ditolak.
DMARC (Domain-based Message Authentication, Reporting & Conformance) adalah sebuah protokol yang mengombinasikan DKIM dan SPF untuk memberikan pengguna dengan tingkat keamanan yang lebih tinggi untuk email mereka. DMARC mengizinkan domain untuk menentukan apa yang harus dilakukan jika email tidak lulus verifikasi DKIM atau SPF, termasuk mengabaikan, memblokir, atau memperbaiki email tersebut.
Record dari DMARC adalah sebagai berikut :
Domain : _dmarc.example.com
TTL : 14400
Class : IN
Record type : TXT
Destination : v=DMARC1; p=quarantine; rua=mailto:admin@example.com; ruf=mailto:admin@example.com; fo=1
p artinya Policy, berisi 3 kemungkinan nilai yaitu reject, quarantine, atau none.
rua dan ruf : alamat yang akan digunakan untuk melaporkan Aggregate Data dan Forensic Data
fo : failure options. 0 (do nothing), 1 (spam folder), d (reject)
Untuk menguji keberhasilan implementasi parameter DKIM, SPF, dan DMARC bisa menggunakan online tools seperti MX Toolbox. Namun pengujian dilakukan setelah propagasi selesai, perkiraan waktu propagasi bisa sekitar 24 sampai 48 jam.
Referensi tulisan :