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.

Masukkan alamat email pada form dibawah ini untuk menerima update mengenai artikel, tutorial atau tips terbaru dari website ini:

Delivered by FeedBurner

11 Responses for “Implementasi DomainKeys/DKIM pada Zimbra Mail Server Berbasis Ubuntu”

  1. budiwijaya says:

    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. [...] 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 [...]

  3. yudi says:

    kalau DKIM multiple domain dalam satu zimbra sepertinya tidak jalan? ada ide mas?

  4. Vavai says:

    @Yudi,

    Jalan kok mas, hanya perlu membuat nama domain dengan pemisah koma di opendkim.conf.

  5. Wawan Setiawan says:

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

    Terima kasih….

  6. [...] 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 [...]

  7. combe says:

    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 ?

  8. mikriting09 says:

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

  9. Vavai says:

    @mikriting,

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

  10. hendra says:

    mas kok linknya udh ga aktif yak buat download opendkimnya

Leave a Reply

Google Adsense

openSUSE 13.1

Ads

Switch to our mobile site

Log in - BlogNews Theme by Gabfire themes