Beberapa waktu yang lalu saya menulis artikel mengenai implementasi DKIM/DomainKeys pada Zimbra Mail Server berbasis SUSE Linux Enterprise Server (SLES) 11 SP1. DKIM/DomainKeys adalah metode signing sebuah mail menggunakan Public-key cryptography sebagai bukti bahwa email yang terkirim sudah divalidasi oleh pengirimnya. Penerapan DomainKeys/DKIM pada mail server akan meningkatkan eligibilitas suatu email yang dikirimkan.
Selain DKIM/DomainKeys, ada beberapa faktor lain yang mempengaruhi performance suatu mail server (baca link diatas untuk lengkapnya), namun DKIM/DomainKeys merupakan salah satu feature penting yang sebaiknya diimplementasikan.
Tadi siang ada saya melakukan implementasi sistem pada salah satu klien Excellent yang menggunakan Zimbra Mail Server diatas Ubuntu LTS 10.04.2 64 bit. Salah satu improvement yang saya lakukan adalah implementasi DKIM/DomainKeys menggunakan OpenDKIM. Sebagai sample, saya akan menggunakan live domain saya sendiri, yaitu vavai.net. Berikut adalah contoh message header saat belum diimplementasikan DKIM, belum ada label Signed By :
Langkah-langkah implementasi DKIM dapat dibagi kedalam 5 bagian, yaitu :
- Instalasi OpenDKIM
- Konfigurasi OpenDKIM
- Konfigurasi DNS Records
- Integrasi dengan Zimbra Mail Server
- Testing & Verifikasi DKIM
INSTALASI OPENDKIM
OpenDKIM sudah ada pada repo Ubuntu jadi untuk instalasi bisa langsung dilakukan dengan perintah apt-get sebagai berikut :
sudo apt-get update && apt-get install opendkim |
KONFIGURASI OPENDKIM
- Lakukan perubahan isi file /etc/opendkim.conf, jangan lupa sesuaikan dengan nama domain dan IP yang mail server yang dikonfigurasi
# This is a basic configuration that can easily be adapted to suit a standard # installation. For more advanced options, see opendkim.conf(5) and/or # /usr/share/doc/opendkim/examples/opendkim.conf.sample. # Log to syslog Syslog yes # Required to use local socket with MTAs that access the socket as a non- # privileged user (e.g. Postfix) UMask 002 # Sign for example.com with key in /etc/mail/dkim.key using # selector '2007' (e.g. 2007._domainkey.example.com) Domain vavai.net KeyFile /etc/mail/mail.private Selector mail # Commonly-used options; the commented-out versions show the defaults. #Canonicalization simple Mode sv #SubDomains no #ADSPDiscard no Socket inet:8891@localhost X-Header Yes
- Buat file selector dan key (sesuaikan dengan nama domain dan selector yang digunakan)
opendkim-genkey -d vavai.net -D /etc/mail/ -s mail chmod 440 /etc/mail/mail.private
Perintah diatas akan menghasilkan 2 buah file yaitu mail.txt dan mail.private. File mail.txt berisi records DNS yang harus kita paste ke konfigurasi DNS Server yang kita gunakan, sedangkan file mail.private berisi kriptografi public key.
- Jalankan OpenDKIM dengan perintah :
/etc/init.d/opendkim start
Agar otomatis berjalan setiap kali sistem direstart, masukkan perintah diatas kedalam file /etc/rc.local
KONFIGURASI DNS SERVER
Buka file /etc/mail/mail.txt dan salin isinya menjadi salah satu records pada DNS Server. Jika DNS Server publik yang digunakan dikelola oleh pihak ISP, kirimkan file /etc/mail/mail.txt pada pihak ISP dan minta pada mereka untuk membuatkan records baru sesuai permintaan anda tersebut. Jika ISP tidak bersedia melakukannya dan tidak bersedia mendelegasikan wewenang perubahan DNS server pada anda, pertimbangkan untuk pindah ISP. Hal ini mutlak diperlukankarena DomainKeys/DKIM memang memerlukan penambahan records. Jika tidak, anda harus mengubur impian anda membuat DomainKeys
.
Berikut adalah contoh tambahan TXT records untuk DNS Server yang saya kelola untuk vavai.net (merupakan isi dari file /etc/mai/mail.txt):
# cat /etc/mail/mail.txt mail._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFaeJe6OvwfaveStqNTNfU1U24JxE5jYY3y2uUkMTQey64NWBM1lMZ5H/POGtevtYNuJkpBFRcqN5eencLzNO2/X7yPW7RC10OPAUtOlQyvM2D+MJ2HyhYNb0CF+WoRR/lPRzUjSZ9b+45QQkUlXb6frKBGQjIz4f/CACDQGZ2NQIDAQAB" ; ----- DKIM mail for vavai.net |
INTEGRASI DENGAN ZIMBRA MAIL SERVER
Masuk sebagai Zimbra user (su – zimbra) dan tambahkan baris berikut pada file /opt/zimbra/postfix/conf/master.cf.in, tepat dibagian bawah baris :
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_address_mappings
-o milter_default_action=accept -o smtpd_milters=inet:localhost:8891 -o non_smtpd_milters=inet:localhost:8891 -o disable_mime_output_conversion=yes |
Setelah selesai, jalankan perintah : zmcontrol restart untuk melakukan restart service Zimbra.
TESTING & VERIFIKASI DKIM
Jika kesemua perintah diatas sudah diakukan, lakukan testing pengiriman email ke sa-test@sendmail.net atau check-auth@verifier.port25.com atau autorespond+dkim@dk.elandsys.com. Bisa juga dilakukan dengan mengirim email ke Gmail dan check pada bagian header apakah sudah mencantumkan label Signed By atau belum.
Berikut adalah contoh pesan dari sendmail :
Authentication System: DomainKeys Identified Mail Result: DKIM signature confirmed GOOD Description: Signature verified, message arrived intact Reporting host: sendmail.net More information: http://mipassoc.org/dkim/ Sendmail milter: https://sourceforge.net/projects/dkim-milter/ |
Pesan dari elandsys :
This is an automatic response. Replies to this message will not generate an automatic response. Do not reply to this message except for reporting a problem. The results are as follows: DKIM Signature validation: pass (1024-bit key) |
Contoh respon dari Gmail
Hasil pengecekan message source :
Received-SPF: pass (google.com: domain of vavai@vavai.net designates 202.43.114.252 as permitted sender) client-ip=202.43.114.252; Authentication-Results: mx.google.com; spf=pass (google.com: domain of vavai@vavai.net designates 202.43.114.252 as permitted sender) smtp.mail=vavai@vavai.net; dkim=pass header.i=@vavai.net Received: from localhost (localhost [127.0.0.1]) by mail.vavai.net (Postfix) with ESMTP id 4C41140322 for ; Fri, 1 Jul 2011 04:54:31 +0700 (WIT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=vavai.net; s=mail; t=1309470871; bh=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN/XKdLCPjaYaY=; h=Date:From:To:Subject:Message-ID:Content-Type: Content-Transfer-Encoding:MIME-Version; b=rGDDFx07Cfh0XB8+XMtQlbXmxuuiG+2R3KWlvkF/uzFtkizfQrH4MfRZ1gwBbY1aV ByrfdB2LYsAJouH8/w3k5QKxgMfH4nvAM8A7u4xtPLnC24LoYMecNNDtbg8gUzEHZn /ysSnnEvPvLuBeeO8CAZzP2mlDWqFIvm/YrModOo= |
TROUBLE SHOOTING
Setting DomainKeys/DKIM merupakan salah satu proses konfigurasi yang butuh kesabaran dan ketelitian untuk mengimplementasikannya. Saran saya, ikuti panduan diatas sesuai dengan urutan dan jangan terburu nafsu untuk cepat-cepat mendapat hasilnya
Jika ada masalah, silakan share melalui halaman komentar dibawah ini.














Kalo di ubuntu, memasang prgram untuk jalan di startup bisa digunakan tool update-rc.d. Jadi tidak diletakkan di rc.local. Tapi ya, dimana saja boleh asal kebutuhan terpenuhi.
[...] Dilengkapi dengan DomainKeys atau DKIM. DomainKeys atau DKIM pada dasarnya merupakan signature yang menjadi pertanda bahwa email yang keluar dari suatu mail server sudah di sign dengan kode tertentu sesuai nama domain dan identitas mail server sehingga dianggap syah dan meyakinkan sebagai pengirim resmi. Untuk SUSE Linux Enterprise Server bisa merujuk pada tulisan ini : Implementasi DomainKeys pada Zimbra & SLES 11 SP1 Menggunakan OpenDKIM sedangkan jika menggunakan Ubuntu Server bisa merujuk pada tulisan berikut : Implementasi DomainKeys/DKIM pada Zimbra Mail Server Berbasis Ubuntu [...]
kalau DKIM multiple domain dalam satu zimbra sepertinya tidak jalan? ada ide mas?
@Yudi,
Jalan kok mas, hanya perlu membuat nama domain dengan pemisah koma di opendkim.conf.
[...] http://vavai.com/2011/07/02/mengaktifkan-instant-messenger-pada-zimbra-mail-server-versi-7/ http://vavai.com/2011/07/01/implementasi-domainkeysdkim-pada-zimbra-mail-server-berbasis-ubuntu/ http://vavai.com/2010/12/22/implementasi-domainkeys-pada-zimbra-sles-11-sp1-menggunakan-opendkim/ [...]
mas, TXT Records itu cara menambahkannya bagaimana ya? saya menggunakan NS dari webhosting, apakah saya menghubungi pihak hosting buat menambahkannya???
Terima kasih….
[...] Dilengkapi dengan DomainKeys atau DKIM. DomainKeys atau DKIM pada dasarnya merupakan signature yang menjadi pertanda bahwa email yang keluar dari suatu mail server sudah di sign dengan kode tertentu sesuai nama domain dan identitas mail server sehingga dianggap syah dan meyakinkan sebagai pengirim resmi. Untuk SUSE Linux Enterprise Server bisa merujuk pada tulisan ini :Implementasi DomainKeys pada Zimbra & SLES 11 SP1 Menggunakan OpenDKIMsedangkan jika menggunakan Ubuntu Server bisa merujuk pada tulisan berikut :Implementasi DomainKeys/DKIM pada Zimbra Mail Server Berbasis Ubuntu [...]
mas untuk installasi DKIM menggunakan Server Centos seperti apa ya ?, apakah sama atau ada yg berbeda, trus installasi DKIM ini dilakukan di DNS server atau di server terpisah sendiri ?
Pak vavai klo dns dengan mail server terpisah bagaimana cara implementasinya? kebetulan dns server ada di isp?
salam
@mikriting,
Sama saja mas, lakukan perubahan di DNS Server yang ada di ISP (kasih tahu mereka isi yang hendak ditambahkan)
mas kok linknya udh ga aktif yak buat download opendkimnya