panduan adm email

Upload: carlo-dasanov

Post on 22-Jul-2015

54 views

Category:

Documents


0 download

TRANSCRIPT

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008

DOKUMENTASI MAIL SERVER BADAN LITBANGKESDisusun oleh: Indra Kurniawan, Djunaedi dan Tim JII Balitbangkes

Daftar Isi:1. 2. 3. Pendahuluan ................................................................................................................ 3 Kebutuhan Sistem ....................................................................................................... 3 Instalasi Komponen .................................................................................................... 4 a. Instalasi Qmail, ucspi-tcp dan Daemontools........................................................ 4 b. Instalasi Maildrop, Autoresponder, Ezmlm...................................................... 5 c. Instalasi ACL (Access Control List) & Vpopmail ............................................... 5 d. Instalasi Qmailadmin dan Vqadmin ................................................................. 5 e. Finalisasi instalasi Qmail. .................................................................................... 5 f. Instalasi Courier IMAP ........................................................................................ 6 g. Instalasi Web Mail Squirrelmail....................................................................... 6 h. Instalasi Antivirus Clam, Anti Spam Spamassassin dan Qmailscanner. .......... 6 Uji Coba ...................................................................................................................... 7 a. Daemontools......................................................................................................... 7 b. Courier IMAP ................................................................................................... 7 c. Courierpassd......................................................................................................... 8 d. Spamassassin .................................................................................................... 8 Operasional dan Pemeliharaan.................................................................................... 9 a. Pastikan semua program dijalankan ketika booting server. ................................. 9 b. Daemontools ..................................................................................................... 9 c. Qmail queue (antrean mail).................................................................................. 9 d. Qmailscanner .................................................................................................. 10 e. Spamassassin...................................................................................................... 11 f. Clamav ............................................................................................................... 12 g. Upgrade Software ........................................................................................... 13 h. Backup ............................................................................................................ 13 i. Quota .................................................................................................................. 13 j. Log Qmail .......................................................................................................... 14 k. Administrative mail ........................................................................................ 15 l. Arsip mail list (milist) ezmlm ............................................................................ 15 m. Statistik Qmail ................................................................................................ 15 Perbaikan Kesalahan (Troubleshooting)................................................................... 16 FAQ........................................................................................................................... 17 Daftar Pustaka........................................................................................................... 17 Lampiran ................................................................................................................... 18 Lampiran 1 ................................................................................................................ 18 Lampiran 2 ................................................................................................................ 22 Lampiran 3 ................................................................................................................ 24 Lampiran 4 ................................................................................................................ 26 Hal 1

4.

5.

6. 7. 8. 9.

Sub Bag JII, Badan Litbangkes

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008 Lampiran 5 ................................................................................................................ 29 Lampiran 6 ................................................................................................................ 33 Lampiran 7 ................................................................................................................ 37 Lampiran 8 ................................................................................................................ 41 Lampiran 9 ................................................................................................................ 42

Catatan perubahan: 21 April Edit spamassasin 7 Mei Tambah script SMTPD run untuk qmailscanner, gambar komponen

Sub Bag JII, Badan Litbangkes

Hal 2

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008

1. PendahuluanDokumen mengenai mail server dengan menggunakan perangkat lunak qmail telah banyak ditulis orang namun biasanya spesifik untuk lingkungan tertentu, sehingga seringkali kesulitan bila diterapkan dengan sistem operasi yang berbeda, compiler yang berbeda, atau program pendukung lain yang berbeda versinya. Oleh karena itu dokumen ini disusun khusus digunakan untuk kebutuhan instalasi, pemeliharaan maupun pengembangan server mail Badan Litbang Kesehatan. Disusun dari berbagai sumber di internet dan beberapa pengalaman penulis dalam instalasi dan pengoperasian server mail dengan menggunakan Qmail. Sistem mail dapat dibagi menjadi dua bagian, yaitu Mail Transfer Agent (MTA) atau perangkat lunak yang bekerja sebagai server, misalnya qmail, sendmail, Microsoft exchange, postfix, exim, dll dan Mail User Agent (MUA) atau perangkat lunak yang bekerja sebagai client dan berhubungan langsung dengan pengguna, misalnya Microsoft outlook, Outlook Express, dll. Qmail merupakan salah satu MTA untuk sistem operasi sejenis UNIX. Qmail dapat dikatakan telah menggantikan sendmail yang telah lebih awal tersedia untuk sistem operasi UNIX dengan security, performance, reliability, simplicity yang lebih baik dari sendmail. Qmail menggunakan Simple Mail Transfer Protocol (SMTP) untuk pertukaran pesan email (messages) dengan MTA sistem lain. Dari segi keamanan Qmail dirancang dengan keamanan yang tinggi dibandingkan dengan sendmail yang memiliki sejarah masalah keamanan yang panjang. Qmail dapat melayani mail secara paralel, dengan menjalankan 20 layanan secara default dengan simultan. Qmail juga mendukung format mailbox baru yang bekerja lebih handal dan lebih ringan dibandingkan dengan MTA lain (Sill, 2007). Harapan dari penulisan dokumentasi mail server Badan Litbangkes ini semoga dapat mempermudah pemahaman terhadap proses instalasi, pemeliharaan, pengembangan maupun perbaikan kerusakan terhadap sistem mail yang telah berjalan. Dokumen ini masih banyak kekurangan, oleh karena itu saran-saran diharapkan untuk perbaikan tulisan ini.

2. Kebutuhan SistemSebelum melakukan instalasi Qmail, sistem harus memenuhi kebutuhan sebagai berikut: a. Sistem operasi yang berjalan harus UNIX atau sejenis UNIX lainnya. b. Sistem harus telah memiliki dan menjalankan Domain Name System (DNS). c. Sistem server harus memiliki C compiler. d. Hardware e. Software Pendukung i. Perl: http://www.quantumlinux.com/~kevin/rpmpan/rpm/perl-Parse-Syslog-1.038.noarch.rpm http://www.quantumlinux.com/~kevin/rpmpan/rpm/perl-Statistics-Distributions1.02-8.noarch.rpm Sub Bag JII, Badan Litbangkes Hal 3

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008 ii. QmailScanner: http://qmail-scanner.sourceforge.net/ iii. Spamassassin: http://apache.oc1.mirrors.redwire.net/spamassassin/ iv. Clam anti virus: http://sourceforge.net/projects/clamav/ atau RPM: http://www.clamav.net/download/packages/packages-linux v. Qmailrocks download individual software : http://downloads.Qmailrocks.org/ Sistem mail yang saat ini berjalan di Badan Litbangkes memiliki spesifikasi sebagai berikut: a. Sistem operasi : Fedora 5 b. Domain : litbang.depkes.go.id c. C compiler : gcc-4.1.0-3 d. Hardware : prosesor Intel(R) Xeon(TM) CPU 2.00GHz, memori 1032436 kB Harddisk 66752088 kB.

3. Instalasi KomponenSistem mail server dengan MTA Qmail terdiri dari beberapa komponen yang saling mendukung. Berikut gambaran kasar sistem email:

Lebih dari 10 komponen harus diinstalasikan agar Qmail dapat bekerja sesuai dengan kebutuhan. Di internet telah banyak tersedia script atau program yang membantu untuk proses instalasi tersebut, misalnya qmailtoaster, namun terkadang bermasalah bila lingkungan sistemnya berbeda. Berikut adalah proses instalasi secara satu persatu komponen-komponen yang terkait. a. Instalasi Qmail, ucspi-tcp dan Daemontools. Qmail's SMTP server tidak dapat berjalan sebagai stand alone daemon. Sebuah program pembantu seperti inetd, xinetd, atau tcpserver berjalan sebagai daemon. Program yang direkomendasikan untuk Qmail adalah tcpserver, yang merupakan bagian dari paket ucspi-tcp. Tahapan instalasi dapat dilihat pada script lampiran 1. Paket Daemontools terdiri dari fungsi-fungsi untuk controlling dan monitoring service. Paket ini tidak diharuskan untuk diinstall tapi dianjurkan terutama untuk sistem yang berat. Paket ini terdiri dari supervise, svc, multilog dan setuidgid.

Sub Bag JII, Badan Litbangkes

Hal 4

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008 b. Instalasi Maildrop, Autoresponder, Ezmlm. Maildrop adalah semacam mail filtering agent yang dapat digunakan untuk filter messages ketika masuk ke dalam server. Autoresponder memungkinkan kita untuk mengatur autoresponder untuk mailbox. Sedangkan Ezmlm digunakan sebagai mailing list. Tahapan instalasi dapat dilihat pada script lampiran 2. c. Instalasi ACL (Access Control List) & Vpopmail Vpopmail merupakan salah satu komponen utama dalam sistem mail server. Dengan Vpopmail memungkinkan untuk membuat virtual domain mail hosting, lengkap dengan perintah-perintah built in yang memudahkan mengelola virtual domain. Apabila kita tidak bermaksud untuk membuat multi domain, Vpopmail tetap disarankan untuk diinstall untuk memudahkan pengelolaan email server. Tahapan instalasi dapat dilihat pada script lampiran 3. Berikut struktur direktori Vpopmail:

d. Instalasi Qmailadmin dan Vqadmin Qmailadmin dan vqadmin program berbasis web yang digunakan untuk administrasi mail server. Tahapan instalasi dapat dilihat pada script lampiran 4. e. Finalisasi instalasi Qmail. Script dapat dilihat pada lampiran 5.

Sub Bag JII, Badan Litbangkes

Hal 5

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008 f. Instalasi Courier IMAP Instalasi IMAP akan mengaktifkan koneksi IMAP pada mail server dan hal ini dibutuhkan untuk web mail seperti Horde, Sqwebmail dan Squirrelmail. Bagi pengguna squirrelmail, courierpassd memungkinkan pengguna untuk mengubah password email nya melalui interface Squirrelmail. Courier-imap merupakan salah satu IMAP server yang disarankan untuk dipakai karena mendukung perintah vchkpw dalam Vpopmail. Dengan kata lain, Courier IMAP dapat bekerjasama dengan Vpopmail dan virtual domains. Tahapan instalasi dapat dilihat pada script lampiran 6. g. Instalasi Web Mail Squirrelmail. Instalasi webmail squirrelmail tidak sulit untuk dilakukan, hanya menempatkan source squirrelmail pada direktori web server. Selanjutnya melakukan setting konfigurasi melalui menu konfigurasi yang dijalankan dengan perintah #configure dari direktori squirrelmail. Untuk lebih lanjut lihat dokumen manual squirrelmail. Beberapa plugin squirrelmail menggunakan basis data mysql untuk menyimpan datanya. Untuk meng-create basisdata, menggunakan perintah: # mysql -uroot -p mysql> CREATE DATABASE ; mysql> GRANT ALL ON squirrelmail.* TO yourusername@localhost IDENTIFIED BY 'yourpasswordhere'; mysql> quit; h. Instalasi Antivirus Clam, Anti Spam Spamassassin dan Qmailscanner. Tahapan instalasi dapat dilihat pada script lampiran 7. Setelah clam berjalan dengan baik lakukan update dengan perintah freshclam, pastikan freshclam berjalan dengan user yang sama dengan user di mana clamav dijalankan (cek file /etc/freshclam). Pastikan pula logrotate akan merotasi file log dengan atribut yang sesuai dengan yang diinginkan (cek file /etc/logrotate.d/clamd). Ketika Clam mendeteksi sebuah e-mail yang mengandung virus, maka: i. Clam mengkarantina e-mail tersebut dalam /var/spool/Qmailscan/quarantine ii. Clam akan mengirimkan pemberitahuan kejadian tersebut kepada user sesuai dengan konfigurasi file. Jika konfigurasi sesuai dengan standar (default) pemberitahuan tersebut akan dikirimkan kepada system administrator. Jika diinginkan pemberitahuan tersebut dapat juga dikirimkan ke pengirim dan penerima email dengan merubah file konfigurasi. Bila melihat kembali ketika instalasi Qmail, kita telah melakukan patch pada source Qmail dengan "Qmailqueue.patch" (lampiran 1). Patch ini memungkinkan Qmail untuk berjalan dengan mekanisme antrean agar dapat dikombinasikan dengan Qmail-Scanner. Qmail-scanner merupakan engine yang mengintegrasikan antivirus Clam dan anti spam SpamAssassin ke dalam antrean mail server. Setelah Qmail-scanner terinstall, fungsi Clam Antivirus dan SpamAssassin dapat kita atur hanya dengan satu file konfigurasi hasil instalasi tersebut. Sub Bag JII, Badan Litbangkes Hal 6

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008 Untuk menambah variasi konfigurasi termasuk fungsi reporting, kita harus melakukan patch terhadap Qmail-scanner. Patch yang kita gunakan tersebut adalah qms-analog. Tahapan instalasi dapat dilihat pada script lampiran 7. Setelah dilakukan semua tahap instalasi di atas, terbentuk struktur direktori server mail seperti berikut:

4. Uji Cobaa. Daemontools Melakukan test Daemontools: # ps aux svscanboot Apabila tidak ada pesan error, berarti Daemontools berjalan dengan baik. b. Courier IMAP Uji port: IMAP berjalan pada port 143 dan IMAP-SSL pada port 993, pastikan kedua port tersebut terbuka. # nmap localhost, akan terlihat port 143 dan 993 open dan listening. Atau periksa file /etc/sysconfig/iptables Uji program Daemontools: # telnet localhost 143Trying 192.168.1.10... Connected to 192.168.1.10. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE STARTTLS] Courier-IMAP ready. Copyright 1998-2003 Double Precision, Inc. See COPYING for distribution information. a login [email protected] my_password

Sub Bag JII, Badan Litbangkes

Hal 7

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008a OK LOGIN Ok. (successful login!) a logout (logs you out) * BYE Courier-IMAP server shutting down a OK LOGOUT completed Connection closed by foreign host.

Catatan: Tanda "a" adalah semacam prompt, diperlukan sebelum mengetikkan perintah. Jika log in berhasil dilakukan seperti contoh di atas artinya IMAP telah berjalan dengan baik. Untuk melakukan uji coba lebih lanjut, kita dapat configure mail client seperti Outlook Express untuk mencoba koneksi IMAP dan IMAP-SSL kepada mail server. c. Courierpassd Uji port: Courierpassd berjalan pada port 106, pastikan port tersebut terbuka. # nmap localhost, akan terlihat port 106 open dan listening paling tidak untuk local traffic (traffic dari 127.0.0.1). Atau periksa file /etc/services/iptables Uji program Courierpassd dengan mencoba me-reset password untuk sebuah mail account seperti berikut: # telnet localhost 106Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 200 courierpassd v0.30 hello, who are you? user [email protected] 200 Your password please. pass my_password (don't be a dumbass. Put your own password here) 200 Your new password please. newpass my_new_password (don't be a dumbass. Put your new password here) 200 Password changed, thank-you. quit 200 Bye. Connection closed by foreign host. root@redbox:/#

Jika reset password di atas berhasil, artinya Courierpassd berjalan dengan baik. d. Spamassassin Uji port: Spamassassin berjalan pada port 783, pastikan port tersebut terbuka. # nmap localhost, akan terlihat port 783 open dan listening. Atau periksa file /etc/services/iptables Uji program: # ps aux | grep spamd Sub Bag JII, Badan Litbangkes Hal 8

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008 Jika berhasil akan tampil output seperti berikut:spamd 3734 0.2 2.0 24992 20808 ? S 14:21 0:01 /usr/bin/spamd -x -u spamd -H /home/spamd d

5. Operasional dan Pemeliharaan.a. Pastikan semua program dijalankan ketika booting server. # chkconfig Perhatikan program imap/imaps, clamd, spamd, httpd dalam keadaan on untuk level 2,3 dan 4. . Cek lagi! b. Daemontools svscan bekerja hampir sama dengan System V init, yaitu memonitor jalannya aplikasi dan memastikannya untuk tetap berjalan. Biasanya dijalankan dengan direktori /service, dan setiap sub direktori dari direktori tersebut menjalankan sebuah aplikasi, berupa symbolic links. svc menyediakan interface untuk mengontrol svscan; dengan opsi "-u" untuk up, "-d" untuk down, atau "-t" agar down dan up lagi, diikuti oleh nama service, misalnya: # svc -t /service/qmail-send untuk me-restart qmail-send. Untuk mengetahui status dari suatu service, digunakan perintah: # svstat /service/qmail-send supervise dijalankan oleh svscan untuk menjaga specific daemon, dan me-restartnya apabila mati (down). multilog membaca log data dari stdin, mem-filtersnya, dan menyimpan hasilnya ke dalam satu atau lebih file log, melakukan rotasi secara automatik. c. Qmail queue (antrean mail) i. Qmail queue terletak pada file /var/Qmail/queue. Untuk memudahkan dapat menggunalan tools: 1) qmaictl [stat/start/stop] Perintah ini digunakan untuk melihat status server Qmail saat ini, termasuk melihat berapa banyak mail yang ada dalam antrean. 2) qmHandle. Perintah ini digunakan untuk melihat status antrean lebih detil dan melakukan fungsi administrasi terhadap antrean, contoh: # qmHandle l untuk melihat listing antrean secara lengkap.6406395 (195, R) Return-path: [email protected][] From: Bob Smith To: Frank Smith Subject: Re: This weekend Date: Mon, 16 Feb 2004 12:14:31 -0700

Sub Bag JII, Badan Litbangkes

Hal 9

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008Size: 1482 bytes

ii.

Nomor mail di atas 6406395, jika ingin kita hapus dari antrean dapat menggunakan perintah: # qmHandle -d6406395 Setelah melakukan penghapusan, qmHandle akan melakukan restart Qmail dengan sendirinya oleh karena itu cek kembali proses Qmail dengan menggunakan #Qmailctl stat untuk memastikan Qmail telah restart dengan baik. queuelifetime. Merupakan setting Qmail untuk menentukan berapa lama mail dapat bertahan dalam antrean. Nilai defaultnya adalah 604.800 atau 7 (tujuh) hari. Untuk merubahnya, edit file /var/Qmail/control/queulifetime sesuai dengan yang diinginkan. Sebuah mail message biasanya mengalami kegagalan pengiriman dikarenakan 2 hal berikut: 1) Server mail penerima mati (offline). 2) Alamat penerima merupakan alamat bogus (palsu). Hal ini dapat terjadi jika server mail terkena banyak spam sehingga antrean dipenuhi oleh alamat bogus atau mail bounce yang menyebabkan server terus-menerus mencoba mengirimkan ulang pesan tersebut. Cara terbaik untuk menghindari penuhnya antrean dengan mail bounch adalah dengan men-set domain untuk menghapus mail daripada mem-bounchnya. Setting dapat dilakukan melalui Qmailadmin. Qmail-scanner juga memiliki option untuk memberitahukan pengirim bila mail yang dikirim mengandung virus, hindari memilih bounch untuk option tersebut. Di dalam sistem Qmail sendiri terdapat setting queuelifetime, untuk menghapus mail bila tidak terkirim dalam jangka waktu tertentu. Hindari setting yang terlalu tinggi untuk queuelifetime ini. Antrian atau queue merupakan tempat untuk pesan-pesan email yang belum terkirim, jika alamat yang dikirim valid, mail akan segera dikirim, tergantung ukuran dari antrean tersebut.

d. Qmailscanner Setelah Qmail-scanner terinstall dan berjalan dengan baik, dua hal yang perlu diperhatikan adalah: i. log files Setiap proses pada Qmail-scanner akan tercatat pada file log /var/spool/Qmailscan/Qmail-queue.log. File ini lama-kelamaan akan membesar, sehingga secara periodik harus diperhatikan. Cara termudah adalah dengan membuat rotation schedule sehingga secara otomatik log akan dikosongkan, sementara log lama akan disimpan dan dikompresi pada file lain. Batas ukuran file linux adalah sebesar 2GB, sehingga akan terjadi masalah bila file log melebihi ukuran tersebut. Sub Bag JII, Badan Litbangkes Hal 10

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008 ii. Virus quarantine. Ketika Qmail-scanner meneruskan mail ke Anti Virus Clam dan virus ditemukan, virus tersebut akan dikarantina pada direktori /var/spool/Qmailscan/quarantine/new. Jika aktivitas virus sangat tinggi, direktori tersebut akan membesar dengan cepat, sehingga hal ini harus kita perhatikan. Untuk memudahkan, gunakan crontab untuk menghapus file-file dalam direktori tersebut secara periodik, misalnya satu minggu sekali. Setting Qmailscanner . Setiap melakukan perubahan setting pada konfigurasi atau Upgrade terhadap Qmail-scanner, lakukan refresh terhadap database Qmail-scanner perlscanner: # setuidgid qscand /var/Qmail/bin/Qmail-scanner-queue.pl g atau # /var/Qmail/bin/Qmail-scanner-queue -g (untuk setup non setuid) Kernel linux membatasi jumlah file dalam satu direktori, jika melebihi jumlah tertentu akan terjadi kesulitan dalam menghapus file, untuk menghapusnya lihat pada bagian FAQ. e. Spamassassin Log: Setelah Spamassassin terinstall dan berjalan dengan baik, perlu dilakukan pemeliharaan secara periodik. Semua aktivitas yang dilakukan spamassassin tersimpan dalam file /var/log/maillog. File Konfigurasi: File konfigurasi

agar

SpamAssassin

memahami

spam,

terletak

di:

/etc/mail/spamassassin/ /usr/share/spamassassin/

Konfigurasi dasarnya di /etc/mail/spamassassin/local.cf, sebagai berikut :rewrite_header Subject *****SPAM***** report_safe 1 required_score 1.0 use_bayes 1 skip_rbl_checks 0 use_pyzor 1 whitelist_from *@adsn.info *@groups.yahoo.com *@jica.go.jp

Sedangkan file konfigurasi di /usr/share/spamassassin/*.cf berisi aturan pilihan untuk menyaring spam menggunakan perl modules yang telah terinstall. Apabila ingin menambahkan rule set yang lain bisa mengambil sample di http://www.rulesemporium.com. Setiap kali perubahan config file jalankan command :# spamassassin -D --lint

Periksa hasil perintah di atas, bila menemukan error messages perbaiki dahulu kofigurasinya sebelum me-restart qmail. Biasanya terjadi kesalahan akibat modul Perl tidak ditemukan, download dahulu modul Perl yang diperlukan. Setelah melakukan perubahan, restart lah Qmail. Sub Bag JII, Badan Litbangkes Hal 11

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008

Bayesian Learn Dengan perintah berikut spamassassin dapat kita ajarkan untuk mengenali email spam ataupun ham (bukan spam): # sa-learn --showdots --spam /* # sa-learn --showdots --ham /* Upgrade: Jika melakukan Upgrade, pastikan file /etc/mail/spamassassin/local.cf berisi setting yang sesuai dengan versi lama. Berikut proses upgrade: - download rpm source spamassassin dari http://apache.oc1.mirrors.redwire.net/spamassassin/ - # rpmbuild -ta Mail-SpamAssassin-*.*.*.tar.gz - # rpm -Uvh /usr/src/redhat/RPMS/i386/perl-Mail-SpamAssassin-* - # rpm -Uvh /usr/src/redhat/RPMS/i386/spamassassin-* Setelah Upgrade lakukan refresh database Qmail-scanner perlscanner: # setuidgid qscand /var/Qmail/bin/Qmail-scanner-queue.pl # /var/Qmail/bin/Qmail-scanner-queue -g (untuk setup non setuid)

f. Clamav Setelah Clamav terinstall dan berjalan dengan baik, hal yang perlu diperhatikan adalah: i. Pastikan server menjalankan automatic virus definition updates secara berkala, untuk itu gunakan crontab: # crontab e (crontab menggunakan editor vi) Masukan baris berikut (bila belum ada): /usr/bin/freshclam --quiet -l /var/log/clamav/clam-update.log ii. Gunakan versi terbaru, setiap Upgrade Antivirus Clam, kemungkinan memerlukan update file versi Qmail-scanner's. Upgrade . Setelah meng-upgrade jalankan perintah: # setuidgid qscand /var/Qmail/bin/Qmail-scanner-queue.pl -z # /var/Qmail/bin/Qmail-scanner-queue -z (untuk setup non setuid) Cek kembali atribut file/direktori: /var/lib/clamav/ /var/log/clamav/ Periksa file /etc/logrotate.d/freshclam sesuaikan dengan atribut di atas.

Sub Bag JII, Badan Litbangkes

Hal 12

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008 g. Upgrade Software Software versi terbaru dibuat dengan maksud untuk memperbaiki celah keamanan dan unjuk kerja pada kode-kode program software versi sebelumnya. Periksalah secara berkala alamat website masing-masing software untuk mengetahui apakah terdapat versi terbaru. Karena server mail terdiri dari banyak komponen software, untuk mudahnya periksalah website Qmailrocks.org daripada mengunjungi website satu persatu. Untuk software dalam bentuk paket source instalasinya harus melalui proses compile dan install, sehingga versi terbaru me-replace versi sebelumnya. Software dalam bentuk paket RPM (Redhat Packet Manager) instalasinya lebih mudah, cukup menjalankan perintah #rpm ivh , atau #rpm Uvh untuk Upgrade sehingga versi terbaru me-replace versi sebelumnya. Software Qmail sendiri sepertinya telah mencapai versi yang sangat stabil (v.103), karena sejak beberapa tahun yang lalu belum tersedia versi terbaru. h. Backup i. Mysql Data Beberapa data telah menggunakan database MySQL yaitu data yang berhubungan dengan webmail, misalnya profil user dan beberapa modul dalam squirrelmail. Untuk melakukan backup basis data MySQL ini menggunakan perintah. # mysqldump squirrelmail > squirrelmail.dump p Perintah ini akan melakukan backup terhadap database squirrelmail, hasilnya berupa file squirrelmail.dump. Untuk me-restore backup tersebut menggunakan perintah: # mysql squirrelmail < squirrelmail.dump -p Data user Backup dilakukan pada direktori /home/Vpopmail, direktori ini mencakup informasi domain, termasuk mailbox user, password dan mail message. # tar cvzf Vpopmail.tar.gz /home/Vpopmail Apabila direktori tersebut dirasa terlalu besar dapat dilakukan tanpa direktori mail message: # tar cvzf litbang.depkes.go.id.tar.gz no-recursive /home/Vpopmail/domain/ litbang.depkes.go.id/ . Cek lagi! Webmail Backup terhadap webmail perlu juga dilakukan terutama untuk file-file konfigurasinya. Untuk melakukan backup webmail: # tar cvzf webmail.tar.gz /var/www/htdocs/webmail

ii.

iii.

i. Quota i. Quota mailbox, merupakan ukuran maksimal mailbox yang diijinkan untuk digunakan oleh setiap user atau sekaligus terhadap suatu domain. Setting quota dapat dilakukan melalui perintah-perintah Vpopmail pada direktori Hal 13

Sub Bag JII, Badan Litbangkes

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008 /home/Vpopmail/bin/ atau melalui program Qmailadmin atau vqadmin. Masalah yang pernah penulis temukan yaitu apabila menerapkan quota melalui Qmailadmin atau vqadmin indikator quota pada squirrelmail tidak muncul sehingga harus menerapkan melalui perintah Vpopmail langsung. Contoh perintah Vpopmail untuk memberikan quota sebesar 50 MB terhadap user indra: # vsetuserquota [email protected] 50M Contoh perintah Vpopmail untuk memberikan quota sebesar 50 MB terhadap semua user pada domain litbang.depkes.go.id: # vsetuserquota litbang.depkes.go.id 10M Quota attachment, merupakan ukuran (MB) maksimal attachment email yang diijinkan untuk dikirimkan oleh seorang user. Setting quota attachment dapat dilakukan melalui Qmail, yaitu pada file /var/Qmail/control/databytes. Setting pada file ini akan membatasi besar mail yang dikirim atau diterima oleh server mail. Cara lain yaitu melalui setting file konfigurasi php.ini. Variabel upload_max_filesize dalam file php.ini akan membatasi user melakukan upload melalui protocol http (webmail) lebih dari yang ditentukan pada variable tersebut. Kelemahan setting melalui php.ini hanya dapat diterapkan untuk protocol http, sehingga tidak akan berpengaruh bila user menggunakan program mail client seperti outlook express.

ii.

j. Log Qmail Qmail memiliki beberapa file log yang sudah dilengkapi fasilitas untuk melakukan rotasi secara berkala sehingga file log tersebut kembali ke ukuran nol. Bila menghendaki perubahan rotation schedule untuk log tersebut harus dilakukan melalui supervise script. Pada Qmail yang telah terinstalasi, terdapat 3 buah supervise scripts dan masing-masing memiliki 1 file log. Supervise pertama adalah /var/Qmail/supervise/Qmail-pop3d/run yang berfungsi untuk pop server dan setting log pada /var/Qmail/supervise/Qmail-pop3d/log/run Supervise kedua adalah /var/Qmail/supervise/Qmail-smtpd/run yang berfungsi untuk smtp server dan setting log pada /var/Qmail/supervise/Qmail-smtpd/log/run Supervise ketiga adalah /var/Qmail/supervise/Qmail-send/run yang berfungsi untuk mail processor dan setting log pada /var/Qmail/supervise/Qmail-send/log/run Setiap file "log/run" di atas berisi perintah untuk setting bagaimana mengatur aktifitas log. Contohnya file /var/Qmail/supervise/Qmail-pop3d/log/run berikut: #!/bin/sh PATH=/var/Qmail/bin:/usr/local/bin:/usr/bin:/bin export PATH exec setuidgid Qmaill multilog t s100000 n20 /var/log/Qmail/Qmail-pop3d 2>&1

Sub Bag JII, Badan Litbangkes

Hal 14

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008 Baris terakhir dari script di atas merupakan setting log yang dapat kita bagi menjadi beberapa bagian: 1. exec setuidgid Qmaill multilog - menjalankan multilog program sebagai user "Qmail". 2. t menyisipkan tanda @ dan spasi di depan setiap baris log. 3. s100000 file log akan berotasi jika telah mencapai ukuran 100000 bytes. 4. n20 jumlah rotasi yang disimpan sebelum dihapus. 5. /var/log/Qmail/Qmail-pop3d 2>&1 direktori tempat di mana file log ditempatkan. k. Administrative mail Administrative mail maksudnya adalah mail yang ditujukan untuk user root server. Alamat yang ditujukan untuk administrative server ditentukan oleh aliases yang dibuat pada file /var/Qmail/aliases. Misalnya "postmaster", "mailer-daemon" dan "anonymous". File ini diarahkan ke satu alamat yaitu [email protected] sehingga alamat ini berlaku sebagai alamat administrative mail. Sebagai administrative mail, alamat ini menerima bounce failure messages, crontab reports, log watch reports dan banyak lagi report-report yang lain. Cek setiap hari, baca makna setiap report karena banyak informasi yang penting pada mail ini. Hapus secara berkala agar ukuran direktori tidak semakin membesar. l. Arsip mail list (milist) ezmlm Arsip milist server mail Badan Litbangkes menggunakan aplikasi MHonArc (http://www.mhonarc.org/). Aplikasi ini mengkonversikan arsip milist dalam direktori /home/Vpopmail/domains///archive/* ke dalam format html (/var/www/html/webmail/archives/). Misalnya arsip milist jaringan, dibuat dengan perintah: # mhonarc -outdir /var/www/html/webmail/archives/jaringan/ /home/Vpopmail/domains/litbang.depkes.go.id/jaringan/archive/* Untuk update agar arsip mail terbaru dikonversikan ke dalam halaman html: # mhonarc -outdir /var/www/html/webmail/archives/jaringan/ -add /home/Vpopmail/domains/litbang.depkes.go.id/jaringan/archive/* MHonArc tersedia dalam paket RPM, instalasinya tinggal menjalankan perintah: # rpm ivh MHonArc-*.rpm m. Statistik Qmail Program opensource untuk statistik Qmail telah banyak tersedia di internet. Program ini biasanya memanfaatkan file log qmail atau Qmailscanner untuk di-generate menjadi sebuah bentuk laporan yang informatif. Salah satunya adalah .

Sub Bag JII, Badan Litbangkes

Hal 15

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008

6. Perbaikan Kesalahan (Troubleshooting)Selalu mengawali perbaikan kesalahan dengan investigasi terhadap file log, karena sebagian besar kesalahan selalu memiliki report dalam file log. Berdasarkan pengalaman, investigasi terhadap file log mempercepat penemuan akar masalah sehingga perbaikan kesalahan menjadi efektif. Berikut contoh sederhana flow chart bagaimana suatu kesalahan (error) ditangani:

Sub Bag JII, Badan Litbangkes

Hal 16

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008

7. FAQa. T: Suatu direktori dengan jumlah file yang sangat banyak sulit untuk dihapus. Error message: rm: bash: /bin/rm: Argument list too long J: find new/ -name 'uk3*' -print0 | xargs -0 rm f b. T: Bagaimana cara subscribe mailing list ezmlm lebih dari 2 user? J: Buat list user dalam user.txt lalu import # /usr/local/bin/ezmlm/ezmlm-sub /home/Vpopmail/domains/litbang.depkes.go.id/namamilis < /tmp/user.txt c. T: menghitung jumlah file dalam satu direktori J: find . -type f | wc -l atau ls -R|wc d. T: install gd library J: yum install php-gd e. T: email berukuran besar tidak dapat dibuka, mailbox overquota tidak bisa dibuka? J: cek php.ini, memory_limit?

8. Daftar PustakaSill, Dave. 2007. Life With Qmail. 30 November 2007. http://www.Qmailrocks.org McKenna, Adam. 2004. The Qmail HOWTO v2. 03-May-2004

Sub Bag JII, Badan Litbangkes

Hal 17

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008

9. LampiranLampiran 1#!/bin/sh PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin # Install Qmail, TCPServer/ucspi-tcp dan Daemontools pada Fedora 5 # Disusun oleh indra_k at litbangdepkesgoid echo "Qmail Installer With Fedora Core 5" # Setting a good umask. umask 022 cd Qmailsrc ############### # Preparation # ############### # Requirement: Which, Xinetd # echo echo PREPARATION... ############################################# # User accounts & groups, Qmail directories # ############################################# echo echo Creating Qmail directories... mkdir -p /var/Qmail/alias echo Create users and groups needed by Qmail and Vpopmail... echo groupadd nofiles groupadd Qmail groupadd vchkpw useradd -g nofiles -d /var/Qmail/alias -s /sbin/nologin -p'*' alias useradd -g nofiles -d /var/Qmail -s /sbin/nologin -p'*' Qmaild useradd -g nofiles -d /var/Qmail -s /sbin/nologin -p'*' Qmaill useradd -g nofiles -d /var/Qmail -s /sbin/nologin -p'*' Qmailp useradd -g Qmail -d /var/Qmail -s /sbin/nologin -p'*' Qmailq useradd -g Qmail -d /var/Qmail -s /sbin/nologin -p'*' Qmailr Sub Bag JII, Badan Litbangkes Hal 18

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008 useradd -g Qmail -d /var/Qmail -s /sbin/nologin -p'*' Qmails useradd -g vchkpw -c Vpopmail-Master -d /home/Vpopmail -s /sbin/nologin -p'*' Vpopmail echo Create logging directories... mkdir -p /var/log/Qmail/{Qmail-send,Qmail-smtpd,Qmail-pop3d} chown -R Qmaill:root /var/log/Qmail chmod -R 750 /var/log/Qmail echo Create supervice directory... mkdir -p /var/Qmail/supervise/Qmail-smtpd/log mkdir -p /var/Qmail/supervise/Qmail-send/log mkdir -p /var/Qmail/supervise/Qmail-pop3d/log chmod +t /var/Qmail/supervise/Qmail-smtpd chmod +t /var/Qmail/supervise/Qmail-send chmod +t /var/Qmail/supervise/Qmail-pop3d chmod 755 /var/Qmail/supervise #################################### # Lets start with the heart, Qmail.# #################################### echo echo "1. Installing NetQMAIL (http://Qmail.agarik.com/netQmail-1.05.tar.gz)..." rm -rf netQmail-1.05 tar -zxf netQmail-1.05.tar.gz cd netQmail-1.05/ ./collate.sh cd netQmail-1.05 echo echo Setting conf-split and conf-spawn... echo 199 > conf-split echo 255 > conf-spawn echo echo "Patch with mfcheck, http://www.Qmail.org/Qmail-1.03-mfcheck.3.patch..." patch -p1 < ../../../Qmailsrc/patch/Qmail-1.03-mfcheck.3.patch echo echo "Patch with netQmail-maildir, http://sylvestre.ledru.info/howto/Qmail/netQmail-maildir++.patch..." patch -p1 < ../../../Qmailsrc/patch/netQmail-maildir++.patch echo Sub Bag JII, Badan Litbangkes Hal 19

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008 echo Compiling Qmail... make WITH_QMAILQUEUE_PATCH=yes setup check >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo Configuring Qmail... ./config-fast litbang.depkes.go.id >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo 255 > /var/Qmail/control/concurrencyremote chmod 644 /var/Qmail/control/concurrencyremote echo 1 > /var/Qmail/control/mfcheck cd ../.. ############################ # TCPServer / ucspi-tcp # ############################ echo echo 2. Installing UCSPI-TCP... rm -rf ucspi-tcp-0.88 tar -zxf ucspi-tcp-0.88.tar.gz cd ucspi-tcp-0.88 echo Patching ucspi-tcp... patch -p1 >/tmp/qinstall.log 2>&1 patch -p1 >/tmp/qinstall.log 2>&1 patch -p1 >/tmp/qinstall.log 2>&1 echo compiling ucspi-tcp... make >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo installing uscpi-tcp into /usr/local... make setup check >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check /tmp/qinstall.log!!!..." ; exit 666 ; fi cd .. #################################### # Daemontools # # http://cr.yp.to/Daemontools.html # #################################### echo echo 3. Installing DAEMONTOOL to /package directory... Sub Bag JII, Badan Litbangkes Hal 20

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008 mkdir -p /package chmod 1755 /package cd /package tar -xzf /usr/local/src/Qmail_installer/Qmailsrc/Daemontools-0.76.tar.gz cd /package/admin/Daemontools-0.76/src echo patching Daemontools... patch < /usr/local/src/Qmail_installer/Qmailsrc/patch/Daemontools-0.76.errno.patch >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo installing daemontool... cd .. package/install >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo "Selesai!" echo sleep 2

Sub Bag JII, Badan Litbangkes

Hal 21

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008

Lampiran 2#!/bin/sh PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin # Install Maildrop, Autoresponder, Ezmlm # Disusun oleh indra_k at litbangdepkesgoid cd /usr/local/src/Qmail_installer/Qmailsrc/ ##################################################################### # Maildrop # # Maildrop is a mail filtering agent # # which can be used to filter messages as they arrive on the server.# ##################################################################### echo echo 4. Installing MAILDROP... rm -rf maildrop-1.8.0 tar -jxf maildrop-1.8.0.tar.bz2 cd maildrop-1.8.0 echo configuring maildrop... ./configure --prefix=/usr/local --exec-prefix=/usr/local --enable-maildrop-uid=root -enable-maildrop-gid=vchkpw --enable-maildirquota >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo compiling maildrop... make >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo installing maildrop... make install-strip >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo installing maildrop man... make install-man >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check /tmp/qinstall.log!!!..." ; exit 666 ; fi cd .. ##################################################################### # Autoresponder. # # It allows us to set up autoresponders for mailboxes and so forth. # # http://www.inter7.com/osfree.html # Sub Bag JII, Badan Litbangkes Hal 22

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008 ##################################################################### echo echo 5. Installing AUTORESPONDER... rm -rf autorespond-2.0.5 tar -zxf autorespond-2.0.5.tar.gz cd autorespond-2.0.5 echo compiling autorespond... make >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo installing autorespond to /usr/local... make install >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check /tmp/qinstall.log!!!..." ; exit 666 ; fi cd .. ################################################# # ezmlm idx # # EZmlm is a nice mailing list add-on to Qmail. # ################################################# echo echo 6. Installing EZMLM... rm -rf ezmlm-0.53-idx-0.41 tar -zxf ezmlm-0.53-idx-0.41.tar.gz cd ezmlm-0.53-idx-0.41 echo compiling ezmlm/idx... make >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo installing ezmlm/idx... make setup >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check /tmp/qinstall.log!!!..." ; exit 666 ; fi

Sub Bag JII, Badan Litbangkes

Hal 23

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008

Lampiran 3#!/bin/sh PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin # Install ACL dan Vpopmail # Disusun oleh indra_k at litbangdepkesgoid echo "Qmail Installer With Fedora Core 5" cd /usr/local/src/Qmail_installer/Qmailsrc/ ############################### # ACL / Access Control List # ############################### echo echo Set ACL... echo '127.:allow,RELAYCLIENT=""' > /etc/tcp.smtp echo '192.168.15.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp echo '202.152.19.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp chmod 644 /etc/tcp.smtp.cdb #Qmailctl cdb ############################################################ # Vpopmail # # Vpopmail is a set of programs for creating and managing # # multiple virtual domains on a Qmail server. # ############################################################ echo echo 7. Installing VPOPMAIL... rm -rf Vpopmail-5.5.0 tar -zxf Vpopmail-5.5.0.tar.gz cd Vpopmail-5.5.0 echo configuring Vpopmail... ./configure \ --enable-learn-passwords=y \ --enable-clear-passwd \ --enable-roaming-users=y \ --enable-relay-clear-minutes=120 \ --enable-logging=v \ --enable-Qmail-ext=y \ --enable-domainquotas=y >>/tmp/qinstall.log 2>&1 Sub Bag JII, Badan Litbangkes Hal 24

Dokumentasi Mail Server Badan Litbangkes 8 Mei 2008 if [ $? -ne 0 ] ; then echo -e "errors configuring Vpopmail, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo compiling Vpopmail... make >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors compile Vpopmail, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo installing Vpopmail to /home/Vpopmail... make install-strip >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors install Vpopmail, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo "202.152.19.:allow,RELAYCLIENT=\"\"" >> /home/Vpopmail/etc/tcp.smtp echo "litbang.depkes.go.id" > /home/Vpopmail/etc/defaultdomain # This is what the users will get when their quota is at 90% full. cat >/home/Vpopmail/domains/.quotawarn.msg