Implementasi DomainKeys/DKIM pada Zimbra Mail Server Berbasis Ubuntu

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 :

  1. Instalasi OpenDKIM
  2. Konfigurasi OpenDKIM
  3. Konfigurasi DNS Records
  4. Integrasi dengan Zimbra Mail Server
  5. 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

  1. 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
  2. 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.

  3. 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.

Pin It

11 thoughts on “Implementasi DomainKeys/DKIM pada Zimbra Mail Server Berbasis Ubuntu

  1. 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. :D

  2. Pingback: Tips Mail Server : 9 Ciri-Ciri Mail Server yang Dikonfigurasi dengan Baik | Migrasi Windows Linux

  3. Pingback: Pertanyaan Jika Jadi Mengikuti Training Tanggal 22 Agustus 2011 di Excellent « virtualpabx

  4. mas, TXT Records itu cara menambahkannya bagaimana ya? saya menggunakan NS dari webhosting, apakah saya menghubungi pihak hosting buat menambahkannya???

    Terima kasih….

  5. Pingback: Beberapa tips konfigurasi mail server yang terbaik. | Yours IT Guides

  6. 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 ?

  7. Pak vavai klo dns dengan mail server terpisah bagaimana cara implementasinya? kebetulan dns server ada di isp?
    salam

  8. @mikriting,

    Sama saja mas, lakukan perubahan di DNS Server yang ada di ISP (kasih tahu mereka isi yang hendak ditambahkan)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>