PEMAHAMAN MAIL SERVER SECARA GLOBAL

Salah satu proses yang kerap membingungkan rekan-rekan yang training mengenai Zimbra Mail Server di Excellentadalah soal urutan proses pembuatan mail server yang akan diterapkan di perusahaan/instansi tempatnya bekerja, mulai dari proses instalasi awal sampai dengan siap dipergunakan baik untuk pengiriman dan penerimaan email internal maupun pengiriman dan penerimaan email secara umum melalui internet. Pemahaman mengenai proses konfigurasi ini sebenarnya dibutuhkan oleh semua SysAdmin yang hendak melakukan konfigurasi mail server untuk keperluan live production. Tanpa memahaminya, SysAdmin mail server harus membentur banyak rintangan sampai akhirnya mail server bisa go live.

Untuk membantu mencerahkan proses ini, berikut saya tuliskan secara global langkah-langkah yang perlu dilakukan untuk membuat mail server dari awal hingga akhir. 1. Instalasi Mail Server. Misalnya untuk Zimbra mail server, pelajari cara instalasi Zimbra Mail Server pada distro Linux yang diinginkan. Agar sukses dalam instalasi, proses ini memerlukan pemahaman mengenai tata cara instalasi Linux, cara melakukan konfigurasi DNS Server, Cara melakukan modifikasi/editing file konfigurasi (misalnya menggunakan text editor via konsole seperti vi atau nano jika server-nya text mode) dan cara membaca petunjuk instalasi dengan benar .Banyak SysAdmin yang pemalu yang sebentar-bentar bertanya mengenai “Ini dijawab apa ya mas?”, padahal cara menjawabnya sudah diberi tahu oleh si installer, misalnya begini : “Configuration Complete, Press a to Apply”. Tuh kan, sudah diberi tahu jawabnya dengan menekan tombol adi Keyboard Jangan berlanjut ke tahap berikutnya kalau pada tahap ini gagal. Jangan meninggalkan beban masalah. Jangan berpindah ke proses selanjutnya jika pada tahap awal ini masih ragu apakah akan sukses juga jika diminta melakukan instalasi ulang. Jadikan diri anda benar-benar paham pada tahap ini. Bukan sekedar paham secara sambil lalu, begitu diminta instalasi ulang malah kebingungan . Camkan selalu, jika kita mengabaikan masalah pada tahap awal, bisa jadi masalah itu akan terus menerus menghantui kita pada tahap-tahap selanjutnya. Beberapa referensi bagus (soalnya saya yang nulis makanya saya bilang bagus, hehehe…) : * Instalasi Zimbra Mail Server pada distro SUSE Linux Enterprise Server 11 SP1 64 bit

:http://bit.ly/upGAiU * Instalasi Zimbra Mail Server pada distro Linux Ubuntu : http://bit.ly/vhH27h * Instalasi Zimbra Mail Server pada distro Linux CentOS : http://bit.ly/s1pvBN * Installing Zimbra Mail Server on SLES 11 SP1 64 bit in less than 30 Minutes 2. Test Kirim Email ke Sesama Account Lokal. Lakukan pengiriman email sesama account lokal, misalnya dari admin@excellent.co.id ke admin@excellent.co.id. Tidak perlu merasa tersinggung jika ada yang berkomentar, “Ini SysAdmin Stress, mengirim email ke dirinya sendiri” . Ingat, orang yang sedang belajar mesti tetap riang gembira meski kerap dihina. Seperti kata Saleem Iklim dalam “Suci Dalam Debu”, “Di situ kita lihat, Bersinarlah hakikat, Debu jadi permata, Hina jadi mulia” ` Bukan khayalan yang aku berikan, Tapi keyakinan yang nyata, hehehe…Jangan lupa, berikan identitas dan penanda yang jelas saat mengirim email testing. Jangan cuma menulis subject “Test” berulangkali, nanti bingung sendiri, mana email test yang dimaksudkan. Jadi SysAdmin perlu agak pinter sedikit daripada yang lain, misalnya dengan menulis subject email disertai jam/waktu sebagai penanda waktu test, misalnya “Test Email 05.08 AM” yang berarti bahwa ini merupakan email test yang dikirim pada waktu tersebut. Penanda email seperti ini kelihatan sepele tapi sebenarnya banyak fungsinya, antara lain untuk mengecek sejauh mana kecepatan pengiriman email sesama lokal, apakah setting waktu di email sudah tepat, apakah ada service yang tidak berjalan, dan lain-lain. Jika terjadi kegagalan proses pengiriman sesama lokal, lakukan pengecekan mengenai : 1. 2. 3. 4. 5. Apakah server sudah dinyalakan?? Apakah service mail server sudah berjalan? Apakah service DNS Server sudah berjalan? Apakah network card berjalan (bisa ping ke dirinya sendiri) Apakah ada service yang bermasalah. Misalnya jika service Anti Spam dan Anti Virus down, email tidak bisa terkirim ke tujuan; jika service MTA tidak berjalan, email tidak bisa dikirimkan karena ibaratnya tukang pos-nya mogok; jika mailbox down, email sudah diteruskan tapi tidak bisa masuk ke tujuan karena penerimanya tidak berfungsi 6. Check log, pada Zimbra : /var/log/zimbra.log dan /opt/zimbra/log/mailbox.log Jangan sampai SysAdmin berulang-ulang bertanya hal yang menggelikan yang tidak semestinya ditanyakan oleh SysAdmin seperti ini : “Saya sudah kirim email, sudah sent tapi kok nggak ada ditujuan ya??”. Kenapa saya bilang tidak semestinya ditanyakan oleh SysAdmin, karena pertanyaan itu semestinya ditanyakan oleh user dan harusnya dijawab oleh SysAdmin. Kalau SysAdmin bertanya, lha pegimane si user, apa si user nggak tambah bingung melihat SysAdminnya kebingungan Ingat, status “email sent” dari mail client bukan berarti segalanya lancar. Status Email Sent dari email client hanya berarti bahwa email sudah berhasil dikirimkan dari email client ke MTA alias ke email server. Belum menjamin email akan diterima oleh penerimanya. Email masih harus melewati pengecekan anti spam dan anti virus, pengecekan MTA dan distribusi mailbox (jika untuk tujuan lokal) atau melewati relay transport (jika ditujukan untuk tujuan external). Jika service anti spam atau anti virus mati, email TIDAK AKAN PERNAH diteruskan, macet di AS/AV. Jika MTA unavailable, email email TIDAK AKAN PERNAH terkirim, karena tidak ada yang mengantarkan. Jika mailbox down, email tidak bisa masuk ke inbox tujuan. Jika SMTP Relay timeout, email tidak bisa direlay ke tujuan. Bagaimana tahu itu semua? Cara mengetahui-nya adalah dengan cara membaca log, untuk Zimbra ada di /var/log/zimbra.log dan /opt/zimbra/log/mailbox.log. Umumnya mail server di Linux menyimpan log di /var/log/mail atau /var/log/messages

Lihat, baru 2 materi yang disampaikan, artikelnya sudah cukup panjang. Saya akan lanjutkan ke pembahasan berikutnya. Estimasi saya, secara total akan ada sekitar 11 langkah yang akan dibahas, antara lain : 03. Test kirim ke internet –> Jika masuk ke tujuan dianggap spam, gunakan ISP relay 04. Check IP public 05. Setting NAT/Port Forward, arahkan port : 25,110,143,587,993,995,7071 ke IP public Zimbra 06. Test akses IP public (minta tolong teman atau gunakan akses internet lain) ex : telnet mail.excellent.co.id 25 07. Beli domain & hosting, dapatkan user name dan password cpanel 08. Tambahkan A Records dengan nama yang merujuk ke IP public, misalnya mail.excellent.co.id 09. Ubah records mail dari CNAME menjadi A Records dengan isi = IP Public 10. Ubah MX Entry agar merujuk ke mx.excellent.co.id 11. Test akses, kirim & terima email dari luar jaringan Jangan khawatir jika masih gagal, karena kegagalan akan memperkuat jiwa dan semangat kita (dalam arti kata lain, kegagalan juga akan melunturkan semangat kita jika kita gagal melulu dan berlangsung terus menerus, hehehe…). Proaktif bertanya jika mengalami kegagalan. Tidak usah malu (kita kan tidak install mail server sambil nyolong ), tidak usah mengeluh dan tidak usah putus asa. Satu-satunya kegagalan yang mungkin saat belajar mail server adalah mengikuti artikel dan panduan yang sesat . Jika panduan dan caranya benar, belajar mail server akan sangat menyenangkan dan menenteramkan. . Mudah-mudahan tulisan ini tidak tambah menyesatkan Berlanjut ke artikel berikutnya ya, mudah-mudahan dapat ditulis siang hari ini. Summary Proses Instalasi & Konfigurasi Mail Server untuk Production Server (Live)-Bagian 2, Pengiriman Email ke Internet

Kemarin saya sudah membahas mengenaiSummary Proses Instalasi & Konfigurasi Mail Server untuk Production Server (Live)-Bagian 1, yang berisi tata cara instalasi sistem dan testing email untuk pengiriman email sesama domain lokal. Sekarang saya akan membahas kelanjutannya, yaitu : TEST PENGIRIMAN EMAIL KE INTERNET

1.

2.

3.

Untuk mengetes apakah email server yang dibangun memiliki kemampuan mengirim email ke internet atau tidak caranya mudah. Berikut adalah cara mengetesnya : Check Setting Route/Gateway. Lakukan perintah ping ke suatu IP public dari mesin mail server, misalnya : ping 174.120.9.7. IP tersebut adalah IP public dari website http://www.excellent.co.id. Jika mendapat reply, berarti setting gateway/routing sudah benar. Jika mendapat pesan Request Time Outatau Destination Host Unreachable, kemungkinan besar mail server tidak bisa mengakses internet atau ada kesalahan setting pada bagain route/gateway Check Setting DNS. Lakukan perintah ping ke suatu nama server dari mesin mail server, misalnya : ping excellent.co.id. Setting DNS yang baik otomatis akan membuat server mampu mengenali nama (mampu melakukanresolve address) dan menampilkan pesan reply. Jika tidak mampu mengenai alamat tersebut, kemungkinan besar salah setting di bagian DNS (file /etc/resolv.conf) Check Kondisi Outgoing Port 25 atau Port 587. Bisa ping ke alamat IP internet dan mampu mengenali suatu nama host di internet tidak selalu menjadi pertanda bahwa mail server mampu mengirim email ke internet. Salah satu kunci terakhir adalah masalah outgoing port 25. Port 25 atau port SMTP adalah port yang digunakan untuk melakukan pengiriman email, baik ke sesama lokal maupun ke internet. Beberapa SMTP server bisa juga menggunakan Submission port 587 jadi untuk jaga-jaga sebaiknya open port 25 dan 587 (outgoing) pada Firewall yang digunakanUntuk mengecek apakah port 25 dan port 587 bisa dipergunakan atau tidak, perintahnya cukup sederhana, yaitu menggunakan perintah telnet, telnet alamat-mail-server 25, contoh :
view s ourceprint?

1.telnet mail.excellent.co.id 25 2.Trying 202.43.114.252... 3.Connected to mail.excellent.co.id. 4.Escape character is '^]'. 5.220 mail.vavai.net ESMTP Postfix
Jika respon dari telnet hanya Trying …, kemungkinan besar port 25 tersebut mengalami pemblokiran pada Firewall yang dipergunakan. Berikut adalah contoh log lengkap suatu proses pengiriman email :
view s ourceprint?

01.Feb 9 04:25:25 mail postfix/smtpd[17305]: connect from mail.excellent.co.id[127.0.0.2] 02.Feb 9 04:25:25 mail postfix/smtpd[17305]: 3693D1C7E232: client=mail.excellent.co.id[127.0.0.2] 03.Feb 9 04:25:25 mail postfix/cleanup[17308]: 3693D1C7E232: message-id= 04.Feb 9 04:25:25 mail postfix/qmgr[4824]: 3693D1C7E232: from=, size=598, nrcpt=1 (queue active) 05.Feb 9 04:25:25 mail postfix/smtpd[17305]: disconnect from mail.excellent.co.id[127.0.0.2] 06.Feb 9 04:25:25 mail amavis[4132]: (04132-17) /opt/zimbra/data/amavisd/tmp/amavis-20120126T083418-04132/email.txt no longer exists, can't re-use it 07.Feb 9 04:25:25 mail amavis[4132]: (04132-17) ESMTP::10024 /opt/zimbra/data/amavisd/tmp/amavis-20120126T083418-04132: -> SIZE=598 Received: from mail.excellent.co.id ([127.0.0.1]) by localhost

(mail.excellent.co.id [127.0.0.1]) (amavisd-new, port 10024) with ESMTP for ; Thu, 9 Feb 2012 04:25:25 +0700 (WIT) 08.Feb 9 04:25:25 mail amavis[4132]: (04132-17) Checking: xu2imBArtIe2 MYNETS [127.0.0.2] -> 09.Feb 9 04:25:27 mail postfix/smtpd[17310]: connect from localhost[127.0.0.1] 10.Feb 9 04:25:27 mail postfix/smtpd[17310]: 99DA61C7E27E: client=localhost[127.0.0.1] 11.Feb 9 04:25:27 mail postfix/cleanup[17308]: 99DA61C7E27E: message-id= 12.Feb 9 04:25:27 mail postfix/qmgr[4824]: 99DA61C7E27E: from=, size=1079, nrcpt=1 (queue active) 13.Feb 9 04:25:27 mail postfix/smtpd[17310]: disconnect from localhost[127.0.0.1] 14.Feb 9 04:25:27 mail amavis[4132]: (04132-17) FWD via SMTP: -> ,BODY=7BIT 250 2.0.0 from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 99DA61C7E27E 15.Feb 9 04:25:27 mail amavis[4132]: (04132-17) Passed CLEAN, MYNETS LOCAL [127.0.0.2] [127.0.0.2] -> , Message-ID: , mail_id: xu2imBArtIe2, Hits: 1.105, size: 598, queued_as: 99DA61C7E27E, 2469 ms 16.Feb 9 04:25:27 mail postfix/smtp[17309]: 3693D1C7E232: to=, relay=127.0.0.1[127.0.0.1]:10024, delay=2.5, delays=0.02/0.02/0/2.5, dsn=2.0.0, status=sent (250 2.0.0 from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 99DA61C7E27E) 17.Feb 9 04:25:27 mail postfix/qmgr[4824]: 3693D1C7E232: removed 18.Feb 9 04:25:31 mail postfix/smtp[17312]: 99DA61C7E27E: to=, relay=aspmx.l.google.com[74.125.53.27]:25, delay=3.9, delays=0.08/0.02/1.3/2.5, dsn=2.0.0, status=sent (250 2.0.0 OK 1328736331 j10si802886pbr.26) 19.Feb 9 04:25:31 mail postfix/qmgr[4824]: 99DA61C7E27E: removed
Pusing membacanya? Lagian siapa yang suruh baca, hehehe… Bagian yang penting dari pesan log diatas adalah beberapa baris terakhir, yaitu baris :
view s ourceprint?

1.Feb 9 04:25:31 mail postfix/smtp[17312]: 99DA61C7E27E: to=, relay=aspmx.l.google.com[74.125.53.27]:25, delay=3.9, delays=0.08/0.02/1.3/2.5, dsn=2.0.0, status=sent (250 2.0.0 OK 1328736331 j10si802886pbr.26) 2.Feb 9 04:25:31 mail postfix/qmgr[4824]: 99DA61C7E27E: removed
Baris tersebut menyatakan bahwa email server mail.excellent.co.id mengirimkan email ke alamat vavai@vavai.com. Karena Domain vavai.com menggunakan Google Apps untuk penanganan email, maka email ditangani oleh mesin aspmx.l.google.com sebagai mail server milik Google. Pernyataanstatus=sent menunjukkan bahwa email berhasil dikirimkan dan sudah diterima oleh pihak Google. PENGIRIMAN EMAIL DITOLAK/MASUK SPAM/JUNK FOLDER Konfigurasi route/gateway sudah baik, DNS sudah OK, port 25 dan 587 open belum menjamin pengiriman email bisa sukses diterima oleh penerima. Adakalanya mail server penerima menolak pengiriman email karena beberapa sebab, antara lain : 1. 2. 3. 4. IP public yang digunakan merupakan IP public dynamic IP public yang digunakan tidak memiliki PTR Records IP public yang digunakan terkena blacklist dibeberapa RBL (Relay Block List) provider Konfigurasi Mail Server tidak bagus (Poor Mail Server Configuration) Untuk mengatasi hal diatas secara permanen bisa mengikuti panduan disini : Tips Mail Server : 10 Ciri-Ciri Mail Server yang Dikonfigurasi dengan Baik Selain pilihan diatas, ada juga pilihan yang lebih mudah, yaitu dengan memanfaatkan SMTP milik provider langganan. Misalnya untuk CBN, bisa menggunakan SMTP Server milik CBN di smtp.cbn.net.id atau jika langganan melalui Telkom, bisa menggunakan SMTP Relay : smtp.telkom.net port 587.

Untuk mengetahui SMTP Relay yang tepat, kita bisa menanyakan pada ISP tempat kita berlangganan. Kita tidak bisa menggunakan SMTP Relay milik provider lain, misalnya hendak menggunakan SMTP milik CBN padahal kita berlangganan internet di Telkom Speedy. Ya iyalah, enak saja numpang-numpang ke tetangga padahal langganan pada pihak lain Pada Zimbra Mail Server, setting SMTP Relay bisa dilakukan dengan mudah pada menu Zimbra Admin | Global Setting | MTA | Relay MTA for External Delivery

Jika pihak provider tidak menyediakan SMTP Relay namun memiliki hosting yang bisa dipergunakan emailnya (misalnya bisa membuat account email via Cpanel), kita bisa juga menggunakan metodeISP-SMTP Authentication Relay Semoga bermanfaat, tulisan akan berlanjut ke bagian ketiga mengenai proses konfigurasi untuk incoming mail : Summary Proses Instalasi & Konfigurasi Mail Server untuk Production Server (Live)-Bagian 3, Penggunaan IP Public

Setiap kali memberikan training atau workshop mengenai mail server, kerap ada keluhan mengenai kinerja mail server yang dimiliki, misalnya IP mail server sering terkena black list, banyak serbuan spam, ada floodingemail dan lain sebagainya. Kira-kira seperti apa sih ciri-ciri mail server yang dikonfigurasi dengan baik dan mampu memberikan kinerja yang bagus itu?

Berikut adalah beberapa ciri-ciri yang saya sarikan dari pengalaman melakukan audit sistem mail server : 1.

Memiliki IP public static, bukan dynamic. Cukup banyak mail server tujuan yang menolak
pengiriman email dari IP dynamic, karena IP dynamic ini kerap dijadikan sebagai media open relay suatu email. Jika tidak memiliki IP public static, pilihan satu-satunya untuk bisa mengirim email dan dianggap eligible adalah dengan melakukan relay email melalui SMTP-Authentication milik ISP.

2.

IP tidak tercantum dalam Blacklist. IP public mail server tidak masuk ke dalam blacklist di beberapa
layanan online blacklist seperti barracudacentral, spamhaus, spamcop dll. Bisa dicheck melalui http://www.mxtoolbox.com

3.

Bukan mail server open relay. Jika mail server bersifat open relay, mail server akan memproses
pengiriman email dari domain apapun, padahal semestinya hanya memproses domain tertentu yang sudah ditentukan. Dapat dicheck melalui http://www.checkor.com

4. 5.

Memiliki konfigurasi DNS yang baik. Jika konfigurasi DNS kurang baik, proses pengiriman email akan
terganggu atau membutuhkan waktu yang cukup lama. Bisa dicheck melalui http://www.pingability.com

Memiliki reverse DNS/PTR Records. Keterangan detail mengenai DNS/PTR Records dapat dibaca
pada tulisan ini : Tips Mail Server : Apa itu Reverse DNS Zone sedangkan panduan untuk konfigurasinya jika DNS server dikelola sendiri bisa dilihat pada artikel “Konfigurasi Reverse DNS Server (PTR Records)

secara mudah
6.

Dilengkapi dengan SPF. SPF atau Sender Policy Framework berfungsi sebagai rujukan bahwa mail server
bersangkutan memang eligible untuk mengirimkan email dengan domain tertentu. Penjelasan implementasi SPF dapat dibaca disini : Menangkal Spoofing & Phising Spam Menggunakan SPF (Sender Policy

Framework)
7.

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

Dilengkapi dengan Fasilitas Rate-Limit. Rate Limit adalah rule yang mampu membatasi pengiriman
email dengan quota tertentu pada suatu interval tertentu sehingga jika ada compromised

account atau flooding spam, email bisa dibatasi pengirimannya. Implementasinya bisa merujuk pada tulisan
berikut : Tips Anti Spam : Aktivasi PolicyD & Rate-Limit Sending Message pada Zimbra Mail Server

Versi 7
9.

Menerapkan SMTP-Authentication. SMTP Authentication adalah konfigurasi yang mewajibkan semua
email client melakukan otorisasi dan authentikasi user name dan password menggunakan protokol TLS/SSL sehingga dapat mencegah kemungkinan adanya trusted network yang melakukan spam terhadap jaringan sendiri. Panduannya bisa dibaca disini :Konfigurasi Mail Client Zimbra dengan SMTP Authentication

untuk Akses Melalui Jaringan Publik
10. Dilengkapi dengan Fasilitas Blacklist Spammer. Salah satu cara agar email server tidak dibebani proses scan virus/spam adalah dengan menambahkan fasilitas blacklist online yang dapat digunakan untuk mendeteksi ip/hostname pengirim, apakah mereka eligible sender atau spammer yang sedang menyamar. Jika

diterapkan, hal ini akan mengurangi beban mail server dalam menangkal spam karena banyak spammer yang dapat dicegah secara preventif sebelum masuk ke mail server. Artikelnya bisa dibaca disini : Tips Anti Spam

Mail Server : Aktivasi Fasilitas Blacklist Spammer

Jika kesemua tips diatas diterapkan, semestinya mail server yang anda kelola akan memiliki ranking yang cukup baik dan mampu memenuhi ekspektasi, minimal mampu memecahkan masalah blacklist IP, virus dan spam yang selama ini cukup banyak terjadi. Saya belum memasukkan tambahan soal sistem backup yang baik karena hal ini akan saya bahas pada artikel berikutnya. Jangan lupa bahwa tools apapun akan kurang optimal jika Adminnya sendiri kurang apik dalam mengelola jadi adminnya juga perlu terus menguprade pengetahuan.