Tag Archives: mailserver

Project Mailserver : Linux Based dengan Zimbra Open Source Edition

Proyek ini merupakan kelanjutan dari pekerjaan sebelumnya internet sharing yang sudah selesai. Proyek mailserver di perusahaan Publishing dan Media Marketing Group di daerah Jakarta Selatan ini merupakan upgrade mailserver dari sistem sebelumnya memakai Qmail. Keterbatasan fitur qmail bagi end user menjadi salah satu daya tarik keinginan perusahaan beralih ke Zimbra. Jadi Ownernya yang orang bule menginginkan Zimbra karena dia tertarik dengan Zimbra Desktop yang banyak fiturnya. Mailserver dengan Zimbra memang lagi naik daun baik di dalam dan luar negeri karena sistem mailservernya sangat kompleks dan solusi yang tepat saat ini.  Di luar negeri salah satu server client ku IKON Ltd juga memakai Zimbra yang aku install di salah satu server colocation di ThePlanet.

Secara teknis instalasi dan konfigurasi Zimbra sangatlah mudah dibandingkan dengan sistem mailserver memakai Postfix ataupun Qmail dan juga lebih mudah dibandingkan Microsoft Exchange. Integrasi satu file instalasi yang didalamnya sudah terdapat semua komponen pembentuk zimbra memudahkan seorang admin untuk membuat sebuah mailserver. Tapi kalau belum pernah coba dalam server live dan untuk dipakai yah harus banyak trial dahulu agar memudahkan instalasi dan konfigurasi nantinya.  Angkat topi saya untuk individual developers and contributor Zimbra yang tergabung dalam Yahoo! Inc.

Jika sekedar berhasil menginstall Zimbra saja tapi tidak digunakan dalam sebuah mesin produksi rasanya kurang puas, dalam hal ini menginstall dan mengkonfigurasi Zimbra untuk dipakai perusahaan ini merupakan tantangan dengan rasa tersendiri sebagai kuli IT seperti saya….hehehe

Progress Instalasi ini dilakukan pada server baru mereka, sementara server lama(Qmail) tetap berjalan sebelum di istirahatkan dan nantinya akan dijadikan backup Zimbra secara fisik.

Tahapan Upgrade mailserver ini :
1. Backup Server Mail lama(Qmail), account email semua karyawan
2. Instalasi Server Baru (ZImbra) (sistem operasi Linux Centos 5.2, setting IP , Gateway, DNS, Install Zimbra Open Source Edition, Konfigurasi di Admin Zimbra untuk domain dan pembuatan account-account semua email )
3. Migrasi = Merubah setting DNS pada domain perusahaan ini dengan mempointing IP MX kearah IP mailserver baru (ZImbra)
4. Matikan Server lama (QMail)
5. Hidupkan Server Baru (Zimbra)
6. Trial and Error, dan maintenance.
7. Instalasi dan konfigurasi Server lama (Qmail) menjadi backup Fisik Zimbra dan transfer data dari mesin Zimbra yang sudah running menggunakan rsync.

Untuk detail instalasi dan konfigurasi Zimbra Open Sources Edition pada perusahaan ini, saya sempat dokumentasikan dari konsol putty menggunakan copy paste ke notepad sebagai berikut :

Continue reading

Project Mailserver : Windows 2003, Active Directory, Exchange 2003

Awal tahun 2009 dapat proyek membuat mailserver dengan Windows Server dari teman kantor. Temanku langsung menghubungkan aku dengan GM Operation perusahaan yang memerlukan tenaga ku. Proyek nya mepet banget karena GM Operation nya pingin cepat selesai sebelum hari Senin(19Jan) dan aku diberitahu baru Jumat(16 Jan). Setelah mendapat informasi tentang sistem mailserver yang diperlukan disana, aku iyakan aja untuk kesana hari Sabtu(17 Jan).  Sudah biasa menangani kerjaan yang mepet-mepet apalagi urusan IT.

Perusahaan ini memiliki pabrik plastik(houseware well designed) mempunyai 2 site(pabrik di Jakarta dan Semarang) dan 1 main office(Jakarta). Semua nya terhubung dalam satu jaringan Virtual Private Newtwork(VPN) baik di main office dan ke pabrik. Proyek ini adalah membuat mailserver local agar main office dan site bisa berkomunikasi. Mailserver local ini dengan domain berbeda(multi domain) untuk tiap site. Sistem mailserver sebelumnya crash dan IT staff nya yang menangani ini sudah keluar dan baru ada tambahan IT staff baru. Sudah seminggu masalah ini dan GM Operation nya mendapat assigment harus kelar, begitu permohonannya saat aku ke main officenya di daerah Cideng.

Setelah mendapat informasi garis besar sistem sebelumnya, akhirnya aku mulai mensetup baru sistem mailserver local mereka. Sistem mailserver lama yang crash memakai Windows NT dan Exchange 5.5 Sistem baru mereka inginkan memakai :

-Ms Windows Server 2003 R2 Lisensi.

-MS Exchange Server 2003 Lisensi.

Semua cdrom nya lengkap dengan lisensi asli tidak bajakan.  Karena sistem mailserver terintegrasi dengan Active Direktory maka dasarnya pada sistem mailserver lama NT dikenal adanya Primary Domain Controller(PDC / BDC), nah pada Windows Server 2003 istilah itu tidak dikenal lagi dan hanya Domain Controller(DC).

Berikut prosesnya :

Continue reading

How to email FROM specific IPs, using Postfix

Clientku di India baru saja menambah 4 (internet protocol) IP address baru pada server colocationnya di Ohio USA. Kemudian dia memintaku untuk setup ke empat IP tersebut ke dalam server colo nya dan setup outgoing mail pada setiap IP untuk setiap domainnya. Secara dia mempunyai 5 domain dan 1 domain sudah running pada IP utama (eth0) di server sebelumnya.

Untuk memasukkan ke 4 IP lainnya ke dalam servernya sangat mudah dilakukan dengan settingan IP Alias di linux pada eth0, sehingga terdapat eth0:0, eth0:1, eth0:2, eth0:3.

Untuk mensetting outgoing mail pada masing-masing IP sesuai alamat domainnya atau istilah kerennya “Other Postfix instance” sedikit memusingkan. Akhirnya kembali ke laptop ehhhh…. postfix.org dengan membaca kembali Postfix main.cf file format.  Setelah berpusing ria memainkan alur logika dan otak atik eksperiment aku menemukan beberapa langkah untuk mensetup permintaan orang India ini.

Konfigurasi utama di postfix yang sudah jalan pada server ini ada pada /etc/postfix dan /var/spool/postfix.  Dengan IP 209.51.x.100 dan domain namadomain100.net.in

Isi didalam konfigurasi /etc/postfix/main.cf yang perlu dicermati agar bisa kita gunakan dalam kasus ini adalah : queue_directory, myhostname, smtp_bind_address, inet_interfaces, alternate_config_directories.  Untuk direktory adalah /etc/postfix, /var/spool/postfix, /etc/init.d/postfix

Berikut langkah untuk membuat semuanya menjadi nyata didalam dunia maya dengan contoh setup pada salah satu IP tambahan yaitu IP 209.51.x.200 dengan namadomain200.net.in :

1. Kita buat copy direktory dan file pada konfigurasi utama postfix yang sudah berjalan dengan perintah cp -rp /etc/postfix /etc/postfix200

2. Edit /etc/postfix/main.cf dan tambahkan :
alternate_config_directories = /etc/postfix200
smtp_bind_address = 209.51.x.100
inet_interfaces = 209.51.x.100
myhostname = mail.namadomain.net.in

3. Pada Postfix instance kita harus membuat direktori /var/spool sendiri dan tidak share dengan /var/spool utama dengan perintah mkdir /var/spool/postfix200

4. Kita edit /etc/postfix200/main.cf untuk memasukkan tambahan IP dengan hosname ke domain lain.
queue_directory = /var/spool/postfix200
smtp_bind_address = 209.51.x.200
inet_interfaces = 209.51.x.200
myhostname = mail.namadomain200.net.in

5. Jalankan postfix -c /etc/postfix200 check

6. Untuk running Postfix instance kita haru buat scripts baru agar tidak bentrok dengan yang utama,
cp /etc/init.d/postfix /etc/init.d/postfix200

7. Edit /etc/init.d/postfix200
Ganti semua path yang ke /etc/postfix menjadi /etc/postfix200, termasuk untuk /var/spool/,  /var/lock/subsys/, jadi mengikuti path postfix200.

8. Jalankan postfix200 : postfix -c /etc/postfix200 start

9. Cek pake netstat -nltup :

tcp  0  0 209.51.xxx.100:25  0.0.0.0 *LISTEN  13733/master

tcp 0  0 209.51.xxx.200:25  0.0.0.0  * LISTEN 13957/master

jika services master muncul dengan binding ke IP 209.51.xxx.100 dan 209.51.xxx.200 dengan port 25 sudah sukses nih memasukkan IP lain untuk outgoing mail.

10. Cek pakai mail client dan masukkan settingan pada outgoing mail : mail.namadomain200.net.in lalu kirim email ke gmail. Jika sukses cek email tersebut di webmail gmail dan klik messages header dengan mengklik Show original : Hasilnya sbb :

Delivered-To: henry.gultom@gmail.com
Received: by 10.150.92.11 with SMTP id p11cs198399ybb;
        Thu, 31 Jul 2008 10:25:16 -0700 (PDT)
Received: by 10.114.25.19 with SMTP id 19mr10440208way.225.1217525114616;
        Thu, 31 Jul 2008 10:25:14 -0700 (PDT)
Return-Path: <kumar@namadomain200.net.in>
Received:from mail.namadomain200.net.in (x.xxx.xlhost.com [209.51.xxx.200])
        by mx.google.com with ESMTP id 4si50043yxq.8.2008.07.31.10.25.14;
        Thu, 31 Jul 2008 10:25:14 -0700 (PDT)

Baris yang dibold menunjukkan instalasi beda IP untuk outgoing mail smtp berhasil, email FROM specific IPs pada postfix sudah jalan.

Sekarang bagaimana dengan 3 IP dan 3 domain lainnya?

Tinggal ulangi langkah 1,3,4,5,6,7,8,9,10 diatas dan untuk langkah ke 2 hanya menambahkan path alternate_config_directories ke path lainnya seperti : alternate_config_directories = /etc/postfix300 dst. Ini dilakukan pada file /etc/postfix/main.cf

Dalam artikel ini nama domain dan IP disamarkan.

Contact me :
henry@gultom.or.id

setup mailserver

Untuk mensetup sebuah mailserver tidak makan waktu lama, dengan catatan semua software dan kawan-kawannya telah menjadi favorit makanan sehari-hari.

Minggu lalu via telepon aku deal dengan salah seorang yang membutuhkan jasa tersebut, dari perkenalan,teknis penginstalan, sampai deal harga semua via telepun, sangking ngebetnya nih orang pingin hari itu juga dilaksanakan, sampai dia rela antar komputer servernya ke tempat saya. Setelah saya bicarakan teknis dan apa-apa saja yang diperlukan akhirnya mengerti. Dan disepakati keesokan harinya untuk dilakukan di kantornya secara live.

Kebetulan dapat off  dari kantor, aku isi waktu dengan mendatangi kantornya di Gedung Patra Jasa Jl. Gatot Subroto. Aku hanya bawa cd netinstall Debian 4 Etch. Karena teknisnya insalasi sistem operasi on site, dan konfigurasi secara remote.  Untuk Instalasi sistem operasi Debian Etch untuk server hanya butuh waktu 1 jam jika tidak ada kendala berarti khususnya koneksi ke internet, karena untuk system instalasi dasar masih membutuhkan koneksi ke internet dalam tahap akhir instalasi ini. 1 jam selanjutnya aku seting essential program yang diperlukan dalam instalasi mailserver ini.  Bagian IT yang memakai jasanya ikut dan tampak serius melihat setiap proses instalasi ini, sembari belajar silahkan dilihat dan ditanya macam2 juga, kataku dalam hati. Stelah semua selesai termasuk menginstall ssh untuk keperluan remote kurang dari 3 jam aku pulang, karena ada janji dengan temanku urursan keluarga. Nanti malam dilanjutkan kataku, karena di sana servernya hidup terus jadi bisa remote nanti sebelum tidur menyelesaikan konfigurasi mailserver.

Malamnya aku remote ke mesinnya yang ada di lantai 17 Gedung Patra Jasa dari rumah menggunakan IM2. Lumayan cepat karena sama-sama masih dalam jalur IIX Indonesia, hanya lintas ISP saja.

Kebutuhan yang diinginkan client inilah adalah POP3, SMTP, Antivirus, Anti Spam, Webmail, Mail Admin via web, firewall.   Karena alur instalasi ini sudah sering kulakukan jadi tidak sulit lagi, semua berjalan cepat dan lancar.  Software-software yang di tanamkan ke servernya adalah : Qmail dkk, Vpopmail, Mysql, Vqadmin, Postifx, Amavisdnew, Spamassassin, Pyzor, Razor, DCC, SaneSecurity, Clamav, Aide, iptables, SquirrelMail, fail2ban. Tanpa basa basi server disana ikut saja apa yang kuketik, dan kurang dalam waktu 3 jam konfigurasi selesai. Testing create email baru, test mengunakan mailclient, smtp oke semua. Cek ketangguhan firewal oke(server sendiri kok di hack hehehhe…). Done !!

Besok pagi ngantor seperti biasa dan koordinasi dengan bagian IT nya, bahwa pekerjaan telah selesai, tinggal training dan tanya jawab dalam mengadministrasi mailserver tersebut.

migrasi mailserver

Seminggu lalu aku baru menyelesaikan pemindahan mailserver lama ke mailserver baru. Pergantian hardware fisik mailserver ini dilakukan karena pada server lama sudah menunjukkan gejala yang menakutkan seperti harddisk failure. Di sisi lain alasan pergantian hardware mailserver adalah saat saya cek menggunakan vmstat, status “pi” dan “po” diatas 0, sehingga memerlukan tambahan RAM.

Mailserver ini berfungsi sebagai POP3, SMTP, Webmail. Di kantor memakai 2 server mailserver. Server satu lagi khusus untuk SMTP dan backup MX(Mail exchanger). Jadi migrasi mailserver ini dilakukan pada server MX 1. Biasannya sysadmin mempunyai beberapa cara dalam melakukan proses migrasi, diantaranya dengan sistem cloning dan sistem install konfigurasi ulang dari awal. Cara cloning paling gampang tapi beresiko, aku memilih cara install konfigurasi dari awal semua komponen software mailserver. Walau banyak proses dijalanin, tapi bisa lebih memahami satu persatu proses dan konfigurasi apa yang dilakukan untuk pengoptimalan dan pemakaian versi terbaru dari setiap software yang terinstall.

Perbedaan dalam konfigurasi mailserver baru ini adalah jika sebelumnya pada mailserver lama memakai konfigurasi Postfix, Amavisd-new, Spamassassin, Clamav, maka aku menghilangkan ketiganya dan menerapkan kombinasi konfigurasi Postfix, Postgrey+Geylising, RBL. Dari pengamatan cara terbaru ini lebih powerfull dalam menangkal spam dan good performance, dibanding memakai kombinasi Amavisd-new, Spamassassin,Clamav.

Migrasi ini harus hati-hati dan teliti karena didalamnya juga ada mail hosting banyak client kantor. Jadi diharapkan tidak satupun email yang hilang atau password yang berubah.  Secara garis besar langkah yang dilakukan dalam migrasi mailserver ini :

-Mailserver lama tetap up menjelang diistirahatkan.
-Install sistem operasi mailserver baru menggunakan sistem operasi linux dengan distro kesayangan saya yaitu mbah Debian yang saat ini sudah versi 4.0 dengan kode nama Etch.
-Install dan konfigurasi software pendukung pada mailserver baru. Dalam hal ini  qmailpatch untuk pop3,  postfix dkk untuk smtp, daemontools, ucspi-tcp, vpopmail, courier, postgrey, vqadmin, mysql, apache, php,  sqwebmail, mailgraph, pflogsumm, fail2ban, dll.
– Menyesuaikan konfigurasi qmail(/etc/qmail dan /var/qmail) dan postfix (/etc/postfix)
– Memindahkan /home/vpopmail/domains dari mailserver lama ke /home/vpopmail/domains mailserver baru
– Memindahkan /var/lib/mysql/vpopmail dari mailserver lama ke /var/lib/mysql/vpopmail mailserver baru
– Mengganti ip mailserver baru menjadi ip mailserver lama, mailserver lama down, untuk selanjutnya mailserver baru Trial dan Live.
– Optimalkan firewal pada mailserver baru.
– Terapkan rsync untuk backup transfer data dari mailserver baru ke mailserver lama.
– Monitoring & Maintenance

Selengkapnya (Instalasi dan Migrasi)

lumpur dan spam

Pemerintah lagi pusing mengatasi lumpur di Porong Sidoarjo. Sama juga dengan pekerja IT berusaha mengatasi spam. Masalah lumpur dan spam ini tentu sudah memiliki solusi yang sedang dikerjakan dari beragam solusi yang ada. Kalau untuk mengatasi lumpur digunakan teknik counter weight sedangkan untuk mengatasi spam bisa digunakan teknik policyd-weight. Saya akan sedikit membahas keduanya.

Lumpur vs Counter Weight :

Engineer dari Jepang menawarkan metode ini utnuk mengatasi lumpur Porong kepada pemerintah Indonesia seharga 600 milyar. Metode dilakukan dengan menimbun endapan lumpur di sekitar lubang semburan lumpur yang diharapkan dapat menekan dan menutup secara bertahap semburan tersebut. Lumpur yang keluar di counter weight, jadi desakan di sumur akan dicover dengan double dam bisa berupa pipa besi atau pipa baja. Diagram bisa dilihat disini. Katanya teknik ini secara bertahap akan menciptakan keseimbangan di atas lubang semburan lumpur sehingga akan menekan dan menghentikan semburan. Tapi sampai sekarang lumpur masih menyembur dengan gagahnya. Teknik ini sempet digugat oleh beberapa orang yang mengatakan telah mematenkan hal ini.

Spam vs Policyd-Weight

Berbeda dengan lumpur, mengatasi spam ndak sampai mengeluarkan biaya milyaran rupiah. Spammer sebagai pelaku penyebar spam biadab ini berhadapan dengan mailserver dan mengelabuhinya untuk menyampaikan pesan-pesan yang isinya gak penting. Salah satu pencegahan bisa dilakukan dari mailserver tempat email-email berada. Metode mengatasi spam ada berbagai cara baik sistem operasi dengan mailserver *nix atau windows. Jika menggunakan linux dengan kombinasi Postfix, Amavisd-new, Spamassassin, Clamav sudah berjalan baik. Tapi akan lebih efektif jika ditambahin policyd weight. Policyd-weight merupakan Perl policy daemon untuk Postfix (2.1 keatas) dengan tujuan mengurangi forged envelope senders dan HELOs (mis: pada bogus mails). Teknik ini akan memberi nilai DNSBLs (RBL/RHSBL), HELO, MAIL FROM dan IP Client sebelum proses queuing selesai. Kita dapat me REJECT email yang memiliki nilai tinggi dari yang kita perbolehkan, sangat efektif dalam memblok spam atau virus email. Instalasi teknik ini dapat dilihat di sini. Saya memasang teknik ini pada mailserver secondary MX. Karena sebagian besar spam lari ke secondary MX. Dan cukup efektif mereject spam-spam. Berikut log mailserver yang menerapkan policyd-weight :

May 18 08:15:24 mail-server-bcu postfix/smtpd[3303]: connect from S010600195b4bfc58.vc.shawcable.net[24.85.35.10]
May 18 08:15:25 mail-server-bcu postfix/policydweight[28982]: weighted check: IN_PBL_SPAMHAUS=3.25 IN_ZEN_SPAMHAUS=4.35 IN_SPAMCOP=3.75, rate: 11.35
May 18 08:15:25 mail-server-bcu postfix/policydweight[28982]: decided action=550 Your MTA is listed in too many DNSBLs; check http://rbls.org/?q=24.85.35.10; delay: 0s
May 18 08:15:25 mail-server-bcu postfix/smtpd[3303]: NOQUEUE: reject: RCPT from S010600195b4bfc58.vc.shawcable.net[24.85.35.10]: 550 <cip@infoasia.net>: Recipient address rejected: Your MTA is listed in too many DNSBLs; check http://rbls.org/?q=24.85.35.10; from=<xrpeehiad@punkass.com> to=<cip@infoasia.net> proto=ESMTP helo=<S010600195b4bfc58.vc.shawcable.net>
May 18 08:15:25 mail-server-bcu postfix/policydweight[28982]: decided action=550 Mail appeared to be SPAM or forged. Ask your Mail/DNS-Administrator to correct HELO and DNS MX settings or to get removed from DNSBLs (multirecipient mail); delay: 0s
May 18 08:15:25 mail-server-bcu postfix/smtpd[3303]: NOQUEUE: reject: RCPT from S010600195b4bfc58.vc.shawcable.net[24.85.35.10]: 550 <cisa@infoasia.net>: Recipient address rejected: Mail appeared to be SPAM or forged. Ask your Mail/DNS-Administrator to correct HELO and DNS MX settings or to get removed from DNSBLs (multirecipient mail); from=<xrpeehiad@punkass.com> to=<cisa@infoasia.net> proto=ESMTP helo=<S010600195b4bfc58.vc.shawcable.net>
May 18 08:15:25 mail-server-bcu postfix/policydweight[28982]: decided action=550 Mail appeared to be SPAM or forged. Ask your Mail/DNS-Administrator to correct HELO and DNS MX settings or to get removed from DNSBLs (multirecipient mail); delay: 0s
May 18 08:15:25 mail-server-bcu postfix/smtpd[3303]: NOQUEUE: reject: RCPT from S010600195b4bfc58.vc.shawcable.net[24.85.35.10]: 550 <citajaya@infoasia.net>: Recipient address rejected: Mail appeared to be SPAM or forged. Ask your Mail/DNS-Administrator to correct HELO and DNS MX settings or to get removed from DNSBLs (multirecipient mail); from=<xrpeehiad@punkass.com> to=<citajaya@infoasia.net> proto=ESMTP helo=<S010600195b4bfc58.vc.shawcable.net>
May 18 08:15:26 mail-server-bcu postfix/smtpd[3303]: lost connection after DATA from S010600195b4bfc58.vc.shawcable.net[24.85.35.10]
May 18 08:15:26 mail-server-bcu postfix/smtpd[3303]: disconnect from S010600195b4bfc58.vc.shawcable.net[24.85.35.10]

Kombinasi yang cukup bagus lain mengatasin spam : Primary MX memakai Policyd-weight, dan pada Secondary MX memakai Postgrey dan Greylisting.

Sit back and enjoy the absence of spam :)

yahoo deferred

Kembali ke log, ini bukan jargon tukul, tapi bagian penting dalam memonitor sebuah system. System yang besar tentu semakin banyak yang harus di perhatikan di log.

Kasus yahoo deferred yang terjadi pada mail server kantorku beberapa minggu lalu membuat pusing pala. Sebenarnya kasus ini bisa cepat ditangani jika aku perhatikan log di mail sebelum yahoo menolak berkomunikasi dengan smtp mail serverku. Log yang kumaksud adalah log transaksi mail client. Mail Server kantorku yang juga berfungsi sebagai mail hosting client menghandle banyak domain membuat akses koneksi memperbolehkan client yang berlangganan internet ke kantor untuk memanfaatkan fasilitas SMTP. Continue reading

Upgrade ClamAV di Debian Sarge

#clamd -V
ClamAV 0.84/3147/Sun Apr 22 22:09:35 2007 #nano /etc/apt/sources.list
deb http://people.debian.org/Ëœsgran/debian sarge main
deb-src http://people.debian.org/Ëœsgran/debian sarge main#apt-get update
Get:1 http://people.debian.org sarge/main Packages [3577B]
Get:2 http://people.debian.org sarge/main Release [115B]
Get:3 http://people.debian.org sarge/main Sources [20B]
Get:4 http://people.debian.org sarge/main Release [117B]
Fetched 3829B in 1s (2895B/s)
Reading Package Lists… Done Continue reading

SMTP reply codes

500 Syntax error, command unrecognized [This may include errors such as command line too long]
501 Syntax error in parameters or arguments
502 Command not implemented
503 Bad sequence of commands
504 Command parameter not implemented

211 System status, or system help reply
214 Help message [Information on how to use the receiver or the meaning of a particular on-standard command; this reply is useful only to the human user]

Continue reading