Monday, March 19, 2012

Setup DKIM (DomainKeys Identified Mail)

DKIM (DomainKeys Identified Mail) adalah salah satu metode untuk email authentifikasi yang mengijinkan penerima email untuk melakukan verifikasi bahwa pesan/email yang di terima datang dari domain dan server yang benar dengan melakukan pengecekan alamat email pengirim dan isi pesan secara terintegritas. DKIM dikembangkan berdasarkan teknik DomainKeys milik Yahoo. DKIM akan sangat berguna jika traffic outgoing email banyak yang menuju ke layanan email Yahoo atau Gmail, tanpa DKIM, mungkin saja email yang kita kirim akan dikategorikan sebagai junk mail atau spam oleh mereka.

Instalasi DKIM pada Linux Debian
 root@localhost# apt-get install dkim-filter   

Membuat certificate DKIM1
 root@localhost# mkdir /etc/dkim   
 root@localhost# cd /etc/dkim   
 root@localhost# dkim-genkey -d indika.co.id -s mail   
 root@localhost# ls   
 mail.private mail.txt  

Keterangan:
-d nama domain yang ditandangani
-s nama selector untuk di-entry di record DNS. Dalam hal ini, nama selector adalah 'mail'.

Berikut isi dari file mail.txt:
 mail._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDGAHxqGSWvDQwMCfJ67qFvLI85ScRzrsa4snV1pC3zsef9CIar13DDhNzM1r2y2hqvYdZtjq8DASTT2GfBTM9/GqO/ntqEKRtQ5GTVbrl/PERHerWjjMJCemi12I+qx/pQlirlnsqlHSgqfcUx9ow9J01Geawwzt5a/yBLiny1aQIDAQAB" ; ----- DKIM mail for indika.co.id  

Pada server DNS, tambahkan isi file mail.txt tersebut ke file zone DNS indika.co.id, menjadi seperti berikut:
mail._domainkey.indika.co.id. IN TXT "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDGAHxqGSWvDQwMCfJ67qFvLI85ScRzrsa4snV1pC3zsef9CIar13DDhNzM1r2y2hqvYdZtjq8DASTT2GfBTM9/GqO/ntqEKRtQ5GTVbrl/PERHerWjjMJCemi12I+qx/pQlirlnsqlHSgqfcUx9ow9J01Geawwzt5a/yBLiny1aQIDAQAB" ; ----- DKIM mail for indika.co.id

Ada penambahan nama domain indika.co.id di belakang record mail._domainkey.

Konfigurasi DKIM
Pada file /etc/dkim-filter.conf, tambahkan baris berikut:
Domain indika.co.id
KeyFile /etc/dkim/mail.private
Selector mail
Mode sv

Pada file /etc/default/dkim-filter, edit menjadi:
SOCKET="inet:8891@localhost"

Pada file /etc/postfix/main.cf, edit menjadi:
# Konfigurasi DKIM 
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

Kemudian restart service DKIM dan Postfix, seperti berikut:
root@localhost# /etc/init.d/dkim-filter restart
root@localhost# /etc/init.d/postfix restart

Test Kirim Email
Lakukan test kirim email melalui webmail/aplikasi mail client ke yahoo/gmail. Contoh pengiriman email lewat console:

gethuk:~# mail ewoh7nix@gmail.com
Subject: Test Email Dengan DKIM
Ini tes email dengan DKIM
thx

.
Cc: 
gethuk:~# 


Contoh isi header email yang dikirim tanpa menggunakan DKIM:



Contoh isi header email yang dikirim menggunakan DKIM:

No comments: