2017-05-19

Install dan Konfigurasi DKIM pada Postfix

Sering kali kita sedikit frustasi karena email yang kita kirimkan sering masuk folder spam ataupun junk. Hal tersebut bisa disebabkan oleh beberpa hal, diantaranya:


1. Mail sever kita terindikasi sebagai open mail relay.

2. Terdaftar sebagai blacklist.

3. Tidak mempunyai Fully Qualified Domain Name (FQDN) dan a PTR record.

4. Tidak Memiliki Sender Policy Framework (SPF) DNS record atau salah konfigurasi.

5. Tidak Mengiplementasikan DomainKeys Identified Mail (DKIM


Kali ini kita fokus membahas tentang DKIM. DKIM adalah sarana verifikasi email berdasarkan domain, hal ini memastikan email yang dikirim asli dan tidak dimodifikasi. Jadi fungsinya mencegah spoofing dan phishing pada email.


Berikut langkah-langkah installasi dan konfigurasi OpenDkim

1. Install paket Open Dkim

apt-get install opendkim opendkim-tools


2. Edit File configurasi opendkim.conf

nano /etc/opendkim.conf

Silahkan hapus isi file yang standar dan ganti isinya dengan konfigurasi berikut:
AutoRestart             Yes
AutoRestartRate         10/1h
UMask                   002
Syslog                  yes
SyslogSuccess           Yes
LogWhy                  Yes

Canonicalization        relaxed/simple

ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts           refile:/etc/opendkim/TrustedHosts
KeyTable                refile:/etc/opendkim/KeyTable
SigningTable            refile:/etc/opendkim/SigningTable

Mode                    sv
PidFile                 /var/run/opendkim/opendkim.pid
SignatureAlgorithm      rsa-sha256

UserID                  opendkim:opendkim

Socket                  inet:12301@localhost




3. Buat Directory baru untuk menyimpan keys

mkdir /etc/opendkim mkdir /etc/opendkim/keys

4. Buat sebuah file untuk mendaftarkan host atau domain yang "trushted"

nano /etc/opendkim/TrustedHosts
isikan konfigurasi berikut
127.0.0.1 localhost 192.168.0.1/24
# 192.168.0.1/24 sesuaikan dengan jaringanmu
*.example.com
# *.example.com diganti dengan domain yang kamu pakai

5. Membuat file keyTable
 
nano /etc/opendkim/KeyTable

Isikan konfigurasi berikut:

mail._domainkey.example.com example.com:mail:/etc/opendkim/keys/example.com/mail.private

# example.com diganti dengan domain yang kamu pakai

6. Membuat file SigningTable

nano /etc/opendkim/SigningTable
Isikan konfigurasi berikut

*@example.com mail._domainkey.example.com
# *.example.com diganti dengan domain yang kamu pakai

7. Ganerate Public key dan private key

cd /etc/opendkim/keys

sudo mkdir example.com cd example.com

opendkim-genkey -s mail -d example.com

perintah di atas akan menghasilan 2 file, public key dan private key
selanjutnya rubah kepemilikan private key dengan perintah berikut
chown opendkim:opendkim mail.private



8 Tambahkan public ke pada DNS record.

silahkan buka file mail.txt, didalamnya akan terdapat record public key, contohnya seperti berikut:

Name: mail._domainkey.example.com. Text: "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5N3lnvvrYgPCRSoqn+awTpE+iGYcKBPpo8HHbcFfCIIV10Hwo4PhCoGZSaKVHOjDm4yefKXhQjM7iKzEPuBatE7O47hAx1CJpNuIdLxhILSbEmbMxJrJAG0HZVn8z6EAoOHZNaPHmK2h4UUrjOG8zA5BHfzJf7tGwI+K619fFUwIDAQAB"
Silahkan tambahkan record yang terdapat pada mail.txt pada DNS kamu.






9. Linkkan postfix dengan opendkim

edit file main.cf

nano /etc/postfix/main.cf br />


Tambahkan konfigurasi berikut pada akhir file


milter_protocol = 2

milter_default_action = accept

smtpd_milters = inet:localhost:12301

non_smtpd_milters = inet:localhost:12301



10. Restart posfix dan opendkim


service postfix restart
service opendkim restart

11. Test apakah konfigurasi sudah berjalan atau tidak dengan mengirim email ke

check-auth@verifier.port25.com

jika berhasil balasan emailnya akan seperti berikut "DKIM check: pass"


This message is an automatic response from Port25's authentication verifier
service at verifier.port25.com.  The service allows email senders to perform
a simple check of various sender authentication mechanisms.  It is provided
free of charge, in the hope that it is useful to the email community.  While
it is not officially supported, we welcome any feedback you may have at
<verifier-feedback@port25.com>.

Thank you for using the verifier,

The Port25 Solutions, Inc. team

==========================================================
Summary of Results
==========================================================
SPF check:          pass
DomainKeys check:   neutral
DKIM check:         fail
SpamAssassin check: ham