DOKUMENTASI MAIL SERVER BADAN LITBANGKES Disusun oleh: Indra Kurniawan, Djunaedi dan Tim JII Balitbangkes
1. 2. 3.
Pendahuluan ..................................................... ............................................................................................................ ........................................................... .... 3 Kebutuhan Sistem ....................................................................................................... ..................................................... .................................................. 3 Instalasi Komponen .................................................................................................... .................................................. .................................................. 4 a. Instalasi Qmail, ucspi-tcp dan Daemontools.................................................... Daemontools. ....................................................... .... 4 b. Instalasi Maildrop, Autoresponder, Ezmlm...................................................... Ezmlm............. ......................................... 5 c. Instalasi ACL (Access Control List) & Vpopmail Vpopmail ............................................... 5 d. Instalasi Qmailadmin dan Vqadmin ................................................................. .................................................... ............. 5 e. Finalisasi instalasi Qmail. ..................................................... .................................................................................... ............................... 5 f. Instalasi Courier IMAP ........................................................................................ ............................................... ......................................... 6 g. Instalasi Web Mail Squirrelmail................................................................... Squirrelmail............ ........................................................... .... 6 h. Instalasi Antivirus Antivirus Clam, Anti Spam Spamassassin dan Qmailscanner. Qmailscanner. .......... 6
4.
Uji Coba .................................................. ......................................................................................................... .................................................................... ............. 7 a. Daemontools.................................... Daemontools............................................................................................ ..................................................................... ............. 7 b. Courier IMAP ................................................................................................... ................................................. .................................................. 7 c. Courierpassd Courierpassd....................................................... ......................................................................................................... .................................................. 8 d. Spamassassin .................................................................................................... .................................................. .................................................. 8 Operasional dan Pemeliharaan.............................................................. Pemeliharaan...... .............................................................................. ...................... 9 a. Pastikan semua program dijalankan ketika booting server. ................................. 9 b. Daemontools ................................................... ..................................................................................................... .................................................. 9 c. Qmail queue (antrean mail)................................................... 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)........................................................ (Troubleshooting). .................................................................. ........... 16 FAQ....................................................................................................... FAQ............................................... ............................................................................ .................... 17 Daftar Pustaka ......................................................................................................... .................................................. ......................................................... .. 17 Lampiran ........................................................................................................ ................................................. .................................................................. ........... 18 Lampiran 1 .............................................................................................................. ....................................................... ......................................................... .. 18 Lampiran 2 .............................................................................................................. ....................................................... ......................................................... .. 22 Lampiran 3 .............................................................................................................. ....................................................... ......................................................... .. 24 Lampiran 4 .............................................................................................................. ....................................................... ......................................................... .. 26
5.
6. 7. 8. 9.
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
1. Pendahuluan Dokumen 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) (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 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 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 Sistem
Sebelum melakukan instalasi Qmail, sistem harus memenuhi kebutuhan sebagai berikut: a. a. Sistem operasi yang berjalan harus UNIX atau sejenis UNIX lainnya. b. b. Sistem harus telah memiliki dan menjalankan Domain Name System (DNS). c. c. Sistem server harus memiliki C compiler . d. d. Hardware e. e. Software Pendukung i. 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
ii. ii. QmailScanner : http://qmail-scanner.sourceforge.net/ iii. iii. Spamassassin: http://apache.oc1.mirrors.redwire.net/spamassassin/ atau RPM: iv. iv. Clam anti virus: http://sourceforge.net/projects/clamav/ atau http://www.clamav.net/download/packages/packages-linux http://www.clamav.net/download/packages/packages-linux v. v. Qmailrocks download individual software : http://downloads.Qmailrocks.org/ Sistem mail yang saat ini berjalan di Badan Litbangkes memiliki spesifikasi sebagai berikut: a. a. Sistem operasi : Fedora 5 b. b. Domain : litbang.depkes.go.id c. c. C compiler : gcc-4.1.0-3 d. d. Hardware : prosesor Intel(R) Xeon(TM) CPU 2.00GHz, memori 1032436 kB Harddisk 66752088 kB.
3. Instalasi Komponen Sistem 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. 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.
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. 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 3. Berikut struktur direktori Vpopmail: lampiran 3.
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 4..
e. Finalisasi instalasi Qmail.
Script dapat dilihat pada lampiran 5.
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. 6.. 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> mysql -uroot -p<your_root_mysql_password> CREATE DATABASE <nama_basis_data>; mysql> GRANT ALL ON squirrelmail.* TO IDENTIFIED BY 'yourpasswordhere'; mysql> quit;
yourusername@localhost
h. Instalasi Antivirus Clam, Anti Spam Spamassassin dan Qmailscanner.
Tahapan instalasi dapat dilihat pada script lampiran 7 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: Qmailscan/quarantine i. i. Clam mengkarantina e-mail tersebut dalam /var/spool/ Qmail ii. 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 .patch" (lampiran 1). 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.
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. 7. Setelah dilakukan semua tahap instalasi di atas, terbentuk struktur direktori server mail seperti berikut:
4. Uji Coba a. 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 “ list ening”. ening”. Atau periksa file /etc/sysconfig/iptables Uji program Daemontools: # telnet localhost 143 Trying 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
a 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 “list ening” ening” 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 seperti berikut:
# telnet localhost 106 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 200 courierpassd v0.30 hello, who are you? user postmaster@
[email protected] 200 Your password please. please. pass my_ password (don't (don't be a dumbass. Put P ut your own password here) here) 200 Your new password please. please. newpass my_new_ password (don't (don't be a dumbass. Put your new password here) here) 200 Password changed, 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 “ list ening”. ening”. Atau periksa file /etc/services/iptables Uji program: # ps aux | grep spamd
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 d an setiap sub direktori dari direktori tersebut menjalankan sebuah aplikasi, berupa symbolic links. svc menyediakan dengan opsi "-u" untuk up, "-d" untuk down, atau interface "-t" agar untuk down mengontrol dan up lagi, svscan; diikuti ol oleh eh 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-restart nya nya 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. i.
Qmail queue terletak pada file /var/ Qmail Qmail / queue. / queue
Untuk memudahkan dapat menggunalan tools: 1) 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) 2) qmHandle. Perintah ini digunakan untuk melihat status antrean lebih detil dan melakukan fungsi administrasi terhadap antrean, contoh: # qmHandle –l untuk melihat list ing ing antrean secara lengkap. 6406395 (195, R) Return-path:
[email protected][] From: Bob Smith <
[email protected]> To: Frank Smith S mith <
[email protected]> Subject: Re: This weekend Date: Mon, 16 Feb 2004 12:14:31 -0700
Size: 1482 bytes
ii. 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 dengan baik. queuelifetime. Merupakan setting Qmail untuk menentukan berapa lama mail dapat bertahan dalam antrean. Nilai default nya nya adalah 604.800 atau 7 (tujuh) hari. Untuk Qmail /control/queulifetime merubahnya, edit file /var/ Qmail /control/queulifetime sesuai dengan yang diinginkan. Sebuah mail message biasanya mengalami kegagalan pengiriman dikarenakan 2 hal berikut: 1) 1) Server mail penerima mati (offline). 2) 2) Alamat penerima penerima merupakan alamat bogus (palsu). Hal ini dapat terjadi jika server mail terkena banyak spam sehingga bogus atau mail antrean terus-menerus dipenuhi oleh alamat mengirimkan yang menyebabkan server terus-menerus mencoba ulangbounce pesan tersebut. Cara terbaik untuk menghindari penuhnya antrean dengan mail bounch adalah dengan men-set domain domain untuk menghapus mail daripada mem-bounchnya. Setting dapat dilakukan melalui Qmailadmin. Qmail-scanner juga 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. i. log files Setiap proses pada Qmail-scanner akan tercatat pada file log Qmailscan/ Qmail Qmail-queue.log. File ini lama-kelamaan akan membesar, /var/spool/ Qmail 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.
ii. ii.
Virus quarantine. Ketika Qmail-scanner meneruskan meneruskan mail ke Anti Virus Clam dan virus ditemukan,
virus tersebut akan dikarantina pada direktori Qmailscan/quarantine/new. Jika aktivitas virus sangat tinggi, direktori /var/spool/ Qmail 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 perlscanner : # setuidgid qscand Qmail /bin/ Qmail-scanner -queue.pl –g atau qscand /var/ Qmail /bin/ Qmail Qmail /bin/ Qmail-scanner -queue -g (untuk setup non setuid ) # /var/ Qmail /bin/ Qmail 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 maillog. tersimpan dalam file /var/log/ mail 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 *@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.
Bayesian Learn Dengan perintah berikut spamassassin dapat kita “ajarkan” untuk mengenali email spam ataupun ham (bukan spam): # sa-learn --showdots --spam <direktori spam>/* # sa-learn --showdots --ham <direktori bukan spam>/* Upgrade: mail /spamassassin/local.cf 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 Mail-SpamAssassin-* - # rpm -Uvh /usr/src/redhat/RPMS/i386/perl- Mail - # rpm -Uvh /usr/src/redhat/RPMS/i386/spamassassin-* Setelah Upgrade lakukan refresh database Qmail-scanner perlscanner perlscanner : Qmail /bin/ Qmail-scanner -queue.pl # setuidgid qscand /var/ Qmail /bin/ Qmail Qmail /bin/ Qmail-scanner -queue -g (untuk setup non setuid ) # /var/ Qmail /bin/ Qmail
f. Clamav
Setelah Clamav terinstall dan berjalan dengan baik, hal yang perlu diperhatikan adalah: i. 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 /var/log/clamav/clam-update.log ii. ii. Gunakan versi terbaru, setiap Upgrade Antivirus Clam, kemungkinan memerlukan update file versi Qmail-scanner 's. 's. Upgrade ………………………. Setelah meng-upgrade jalankan perintah: Qmail /bin/ Qmail-scanner -queue.pl -z # setuidgid qscand /var/ Qmail /bin/ Qmail Qmail /bin/ Qmail-scanner -queue -z (untuk setup non setuid ) # /var/ Qmail /bin/ Qmail Cek kembali atribut file/direktori: /var/lib/clamav/ /var/log/clamav/ Periksa file /etc/logrotate.d/freshclam sesuaikan dengan atribut di atas.
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 Redhat Packet Manager ) instalasinya lebih mudah, cukup menjalankan paket RPM ( Redhat perintah #rpm –ivh <nama_paket>, 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. i.
ii. ii.
iii. iii.
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 Vpopmail, direktori ini mencakup informasi domain, termasuk mailbox user , password dan dan mail message. Vpopmail # tar cvzf Vpopmail.tar.gz /home/ Vpopmail Apabila direktori tersebut dirasa terlalu besar dapat dilakukan tanpa direktori mail message: Vpopmail /domain/ # 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: webmail # tar cvzf webmail.tar.gz /var/www/htdocs/ webmail
i. Quota
i. 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
ii. ii.
Vpopmail /bin/ /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: indra: # vsetuserquota
[email protected] 50M
[email protected] 50M Contoh perintah Vpopmail untuk memberikan quota sebesar 50 MB terhadap semua user pada 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 Qmail /control/databytes. 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 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. 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 Qmail /supervise/ Qmail-pop3d/run yang berfungsi untuk /supervise/ Qmail Qmail /supervise/ Qmail-pop3d/log/run pop server dan dan setting log pada /var/ Qmail /supervise/ Qmail Supervise kedua adalah /var/ Qmail Qmail /supervise/ Qmail-smtpd/run yang berfungsi untuk /supervise/ Qmail Qmail /supervise/ Qmail-smtpd/log/run smtp server dan dan setting log pada /var/ Qmail /supervise/ Qmail Supervise ketiga adalah /var/ Qmail Qmail /supervise/ Qmail-send/run yang berfungsi untuk mail /supervise/ Qmail processor dan Qmail /supervise/ Qmail-send/log/run dan setting log pada /var/ Qmail /supervise/ Qmail
Setiap file "log/run" di atas berisi perintah untuk setting bagaimana mengatur aktifitas Qmail /supervise/ Qmail-pop3d/log/run berikut: log. Contohnya file /var/ Qmail /supervise/ Qmail #!/bin/sh Qmail /bin:/usr/local/bin:/usr/bin:/bin PATH=/var/ Qmail /bin:/usr/local/bin:/usr/bin:/bin export PATH Qmail / Qmail-pop3d 2>&1 exec setuidgid Qmaill multilog t s100000 n20 /var/log/ Qmail / Qmail
Baris terakhir dari script di atas merupakan setting log yang dapat kita bagi menjadi beberapa bagian: 1. 1. exec setuidgid Qmaill multilog - menjalankan multilog program sebagai user "Qmail". 2. 2. t – menyisipkan tanda @ dan spasi di depan setiap baris log. 3. 3. s100000 – file log akan berotasi jika telah mencapai ukuran 100000 bytes. 4. 4. n20 – jumlah rotasi yang disimpan sebelum dihapus. Qmail / Qmail-pop3d 2>&1 – direktori tempat di mana file log ditempatkan. 5. 5. /var/log/ Qmail / Qmail 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 Qmail /aliases. 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 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 mi list dalam direktori Vpopmail /domains/<nama_domain>/<nama_mi /home/ Vpopmail /domains/<nama_domain>/<nama_milist >/archive/* >/archive/* ke dalam format html (/var/www/html/webmail /archives/<nama_mi /archives/<nama_milist >). >). Misalnya arsip milist jaringan, jaringan, dibuat dengan perintah: # mhonarc -outdir /var/www/html/webmail /archives/jaringan/ /archives/jaringan/ Vpopmail /domains/litbang.depkes.go.id/jaringan/archive/* /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/ /archives/jaringan/ -add Vpopmail /domains/litbang.depkes.go.id/jaringan/archive/* /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 untuk di-generate menjadi sebuah bentuk laporan yang informatif. Salah satunya adalah ………………………………….
6. Perbaikan Kesalahan Kesa lahan (Tr (Troubleshooting) oubleshooting) 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 bagaimana suatu kesalahan (error ) ditangani:
7. FAQ a. a. T: Suatu direktori dengan jumlah file yang sangat banyak sulit untuk dihapus. Error message: rm: bash: /bin/rm: Argument list too too long J: find new/ -name 'uk3*' -print0 | xargs -0 rm –f b. b. T: Bagaimana cara subscribe mailing list ezmlm ezmlm lebih dari 2 user? J: Buat list user dalam user.txt lalu import # /usr/local/bin/ezmlm/ezmlm-sub Vpopmail /domains/litbang.depkes.go.id/namamilis /home/ Vpopmail /domains/litbang.depkes.go.id/namamilis < /tmp/user.txt c. c. T: menghitung jumlah file dalam satu direktori J: find . -type f | wc -l atau ls -R|wc d. d. T: install gd library J: yum install php-gd e. e. T: email berukuran besar tidak dapat dibuka, mailbox overquota tidak bisa dibuka? J: cek php.ini, memory_limit?
8. Daftar Pustaka Sill, Dave. 2007. Life With Qmail. 30 November 2007. http://www.Qmailrocks.org rocks.org McKenna, Adam. 2004. The Qmail HOWTO v2. 03-May-2004
9. Lampiran Lampiran 1 #!/bin/sh PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin ucspi-tcp dan Daemontools pada Fedora 5 # Install Qmail, TCPServer / ucspi-tcp # 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 accounts & groups, Qmail directories # ############################################# echo Qmail echo Creating directories... Q mail /alias mkdir -p /var/ Qmail /alias
echo Create user s and groups needed by Qmail and Vpopmail... echo groupadd nofiles groupadd Qmail groupadd vchkpw user add Qmail /alias add -g nofiles -d /var/ Qmail /alias -s /sbin/nologin -p'*' alias user add Qmail -s /sbin/nologin -p'*' Qmaild add -g nofiles -d /var/ Qmail user add Qmail -s /sbin/nologin -p'*' Qmaill add -g nofiles -d /var/ Qmail user add Qmail -s /sbin/nologin -p'*' Qmailp add -g nofiles -d /var/ Qmail user add Qmail -s /sbin/nologin -p'*' Qmailq add -g Qmail -d /var/ Qmail user add Qmail -s /sbin/nologin -p'*' Qmailr add -g Qmail -d /var/ Qmail
user add Qmail -s /sbin/nologin -p'*' Qmails add -g Qmail -d /var/ Qmail user add Vpopmail -s /sbin/nologin -p'*' add -g vchkpw -c Vpopmail-Master -d /home/ Vpopmail Vpopmail
echo Create logging directories... Qmail /{ mkdir -p /var/log/ Qmail /{Qmail-send,Qmail-smtpd,Qmail-pop3d} Qmail chown -R Qmaill:root /var/log/ Qmail Qmail chmod -R 750 /var/log/ Qmail echo Create supervice directory... Qmail /supervise/ Qmail-smtpd/log mkdir -p /var/ Qmail /supervise/ Qmail Qmail /supervise/ Qmail-send/log mkdir -p /var/ Qmail /supervise/ Qmail Qmail /supervise/ Qmail-pop3d/log mkdir -p /var/ Qmail /supervise/ Qmail Qmail /supervise/ Qmail-smtpd chmod +t /var/ Qmail /supervise/ Qmail Qmail /supervise/ Qmail-send chmod +t /var/ Qmail /supervise/ Qmail Qmail /supervise/ Qmail-pop3d chmod +t /var/ Qmail /supervise/ Qmail Qmail /supervise chmod 755 /var/ Qmail /supervise #################################### # Lets start with the heart, Qmail.# #################################### echo Qmail.agarik.com/netQmail-1.05.tar.gz)..." echo "1. Installing NetQMAIL (http:// Qmail 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 Qmail-1.03-mfcheck.3. patch patch..." echo "Patch with mfcheck, http://www.Qmail.org/ Qmail patch -p1 < ../../../ Qmail Qmailsrc/ patch / Qmail Qmail-1.03-mfcheck.3. patch patch echo echo "Patch with netQmail-maildir, Qmail /net patch..." http://sylvestre.ledru.info/howto/ Qmail /netQmail-maildir++. patch patch -p1 < ../../../ Qmail Qmailsrc/ patch /netQmail-maildir++. patch patch echo
echo Compiling Qmail... make WITH_QMAILQUEUE _PATCH =yes =yes setup check >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check ch eck /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 ch eck /tmp/qinstall.log!!!..." ; exit 666 ; fi Qmail /control/concurrencyremote echo 255 > /var/ Qmail /control/concurrencyremote Qmail /control/concurrencyremote chmod 644 /var/ Qmail /control/concurrencyremote Qmail /control/mfcheck 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 <../ patch / ucspi-tcp ucspi-tcp-0.88.a_record. patch patch >>/tmp/qinstall.log 2>&1 patch -p1 <../ patch / ucspi-tcp ucspi-tcp-0.88.errno. patch patch >>/tmp/qinstall.log 2>&1 patch -p1 <../ patch / ucspi-tcp ucspi-tcp-0.88.nobase. patch patch >>/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 # Daemontools.html # # http://cr.yp.to/ #################################### echo echo 3. Installing DAEMONTOOL to /package directory... d irectory...
mkdir -p /package chmod 1755 /package cd /package Qmail_installer/ Qmail Qmailsrc/ Daemontools-0.76.tar.gz tar -xzf /usr/local/src/ Qmail admin / Daemontools-0.76/src cd /package/ admin echo patching Daemontools... patch < /usr/local/src/ Qmail Qmail_installer/ Qmail Qmailsrc/ patch / Daemontools-0.76.errno. patch patch >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check ch eck /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 ch eck /tmp/qinstall.log!!!..." ; exit 666 ; fi
echo "Selesai!" echo sleep 2
Lampiran 2 #!/bin/sh PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin Maildrop, Autoresponder, Ezmlm # # Install Disusun oleh indra_k at litbangdepkesgoid Qmail_installer/ Qmail Qmailsrc/ cd /usr/local/src/ Qmail
##################################################################### # 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 ch eck /tmp/qinstall.log!!!..." ; exit 666 ; fi echo compiling maildrop... make >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check ch eck /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 ch eck /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 ch eck /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
##################################################################### 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 ch eck /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 ch eck /tmp/qinstall.log!!!..." ; exit 666 ; fi cd .. ################################################# # ezmlm idx # # EZmlm is a nice mailing list add-on 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 ch eck /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 ch eck /tmp/qinstall.log!!!..." ; exit 666 ; fi
Lampiran 3 #!/bin/sh PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin Vpopmail # Install ACL # Disusun olehdan indra_k at litbangdepkesgoid echo "Qmail Installer With Fedora Core 5" Qmail_installer/ Qmail Qmailsrc/ cd /usr/local/src/ Qmail
############################### # 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 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 \ password s=y --enable-learn- password s=y \ --enable-clear-passwd \ --enable-roaming-user s=y s=y \ --enable-relay-clear-minutes=120 \ --enable-logging=v \ Qmail-ext=y --enable\ >>/tmp/qinstall.log 2>&1 quotas=y --enable-domain
if [ $? -ne 0 ] ; then echo -e "errors configuring /tmp/qinstall.log!!!..." ; exit 666 ; fi
Vpopmail ,
check
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 Vpopmail... 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 Vpopmail /etc/tcp.smtp echo "202.152.19.:allow,RELAYCLIENT=\"\"" >> /home/ Vpopmail /etc/tcp.smtp Vpopmail /etc/defaultdomain echo "litbang.depkes.go.id" > /home/ Vpopmail /etc/defaultdomain
# This is what the user s will get when their quota is at 90% full. Vpopmail /domains/. cat >/home/ Vpopmail /domains/.quotawarn.msg<<EOF From: Mail Delivery System <
[email protected]> Reply-To:
[email protected] To: Valued Customer:; Subject: Mail quota warning Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 7bit Your mailbox on the server is now more than 90% full. So that you can continue to receive mail you need to remove some messages from your mailbox. If you require assistance with this, please contact our support department : email :
[email protected]
Tel : (021) 4261088-156 EOF
Vpopmail /domains/. chown Vpopmail:vchkpw /home/ Vpopmail /domains/.quotawarn.msg
# If you want, you can alter the standard message that gets sent to the sender in an overquota situation Vpopmail /domains/.over cat >/home/ Vpopmail /domains/.overquota.msg<<EOF Message rejected. Not enough storage space in user 's 's mailbox to accept message EOF Vpopmail /domains/.over chown Vpopmail:vchkpw /home/ Vpopmail /domains/.overquota.msg
Lampiran 4 #!/bin/sh PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin # Install Qmailadmin dan Vqadmin # Disusun oleh indra_k at litbangdepkesgoid echo "Qmail Installer With Fedora Core 5" Qmail_installer/ Qmail Qmailsrc/ cd /usr/local/src/ Qmail
##################################################################### #### # Qmailadmin # # Qmailadmin is going to provide us with a nice web based interface # # for administering mail accounts once they are setup through Vpopmail # ##################################################################### #### echo echo 8. Installing QMAILADMIN .... .. rm -rf Qmailadmin-1.2.9 tar -zxf Qmailadmin-1.2.9.tar.gz cd Qmailadmin-1.2.9 Qmailadmin >/dev/null 2>&1 mkdir -p /var/www/htdocs/images/ Qmailadmin echo configuring Qmailadmin... ./configure \ --enable-htmldir=/var/www/htdocs \ --enable-cgibindir=/var/www/cgi-bin \ Qmail / Qmailadmin_html \ --with-htmllibdir=/var/ Qmail / Qmailadmin Qmailadmin \ --enable-imagedir=/var/www/htdocs/images/ Qmailadmin --disable-ezmlm-mysql \ --enable-no-cache=y >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check ch eck /tmp/qinstall.log!!!..." ; exit 666 ; fi echo compiling Qmailadmin... make >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check ch eck /tmp/qinstall.log!!!..." ; exit 666 ; fi echo installing Qmailadmin... make install >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check ch eck /tmp/qinstall.log!!!..." ; exit 666 ; fi cd ..
##################################################################### ############ # vQ admin # # Vqadmin is simply a nice web based interface that will let us manage Vpopmail.# ##################################################################### ############ echo echo 9. Installing VQ ADMIN .... .. rm -rf vqadmin-2.3.6 tar -zxf vqadmin-2.3.6.tar.gz cd vqadmin-2.3.6 echo configuring vqadmin ./configure --enable-cgibindir=/var/www/cgi-bin \ --enable-no-cache=y >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors while trying to configure vq admin.\n check /tmp/qinstall.log.\n Halting..." ; exit 666 ; fi echo compiling vqadmin make >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors while trying to compile vqadmin.\n check /tmp/qinstall.log.\n Halting..." ; exit 666 ; fi echo installing vqadmin into /var/www/cgi-bin make install >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors while trying to install vq admin.\n check /tmp/qinstall.log.\n Halting..." ; exit 666 ; fi # We need to add some lines to httpd.conf to make it work. echo echo Adding vqadmin settings into httpd.conf... cat >>/etc/httpd/conf/httpd.conf<<EOF <Directory "/var/www/cgi-bin/vqadmin"> deny from all Options ExecCGI AllowOverride AuthConfig Order deny,allow </Directory> EOF # We also need a .htaccess file for password protection protection of vqadmin. cat >/var/www/cgi-bin/vqadmin /.htaccess<<EOF AuthType Basic Qmail /supervise/vq AuthUser File File /var/ Qmail /supervise/vqadmin.passwd AuthName vQadmin
require valid-user satisfy any EOF chmod 600 /var/www/cgi-bin/vqadmin /.htaccess echo echo "Now we are going to set the vQ admin password password ( (user admin)" Qmail /supervise/vq if [ ! -e /var/ Qmail /supervise/vqadmin.passwd ]; then if [ -e `which /usr/bin/htpasswd` ]; then Qmail /supervise/vq /usr/bin/htpasswd -c /var/ Qmail /supervise/vqadmin.passwd admin until [ $? -eq 0 ]; do echo " password didn't didn't match. try again." ; /usr/bin/htpasswd -c Qmail /supervise/vq /var/ Qmail /supervise/vqadmin.passwd admin; done else echo P.S. /usr/bin/htpasswd not found, not setting vq admin password . Do it manually. ; fi else echo Password file file for vQadmin allready there, wont set new password . fi Qmail /supervise/vq echo the password file file is located at /var/ Qmail /supervise/vqadmin.passwd Qmail /supervise/vq chown apache:apache /var/ Qmail /supervise/vqadmin.passwd chown apache:apache /var/www/cgi-bin/vqadmin /.htaccess
# Setting up the vq admin.acl file, for more advanced settings see vq admin documentation. # and the vqadmin.acl file is at /var/www/cgi-bin/vqadmin /vqadmin.acl if [ -e /var/www/cgi-bin/vqadmin /vqadmin.acl ]; then mv /var/www/cgibin/vqadmin /vqadmin.acl /var/www/cgi-bin/vqadmin /vqadmin.acl.old; fi echo "default - ...">/var/www/cgi-bin/vqadmin /vqadmin.acl echo "admin * admin">>/var/www/cgi-bin/vqadmin /vqadmin.acl echo echo Restarting apache server .... .. /etc/rc.d/init.d/httpd restart
Lampiran 5 #!/bin/sh PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin # Finalizing the Qmail Installation # Disusun oleh indra_k at litbangdepkesgoid echo "Qmail Installer With Fedora Core 5" Qmail_installer/ Qmail Qmailsrc/ cd /usr/local/src/ Qmail
##################################### # Finalizing the Qmail Installation # ##################################### echo echo Finalizing the Qmail Installation... sleep 2 echo create POP3D supervise Script ... Qmail /supervise/ Qmail-pop3d/run #cp pop3d_run /var/ Qmail /supervise/ Qmail Qmail /supervise/ Qmail-pop3d/run<<EOF cat >/var/ Qmail /supervise/ Qmail #!/bin/sh Qmail /bin:/usr/local/bin:/usr/bin:/bin PATH=/var/ Qmail /bin:/usr/local/bin:/usr/bin:/bin export PATH exec tcpserver -H -R -v -c100 0 110 Qmail-popup mail.litbang.depkes.go.id Vpopmail /bin/vchkpw /home/ Vpopmail /bin/vchkpw Qmail-pop3d Maildir 2>&1 EOF echo create POP3D log supervise Script ... Qmail /supervise/ Qmail-pop3d/log/run #cp pop3d_log /var/ Qmail /supervise/ Qmail Qmail /supervise/ Qmail-pop3d/log/run<<EOF cat >/var/ Qmail /supervise/ Qmail #!/bin/sh Qmaill /usr/local/bin/multilog exec /usr/local/bin/setuidgid Qmail / Qmail-pop3d /var/log/ Qmail / Qmail EOF
t
s1048576
echo create SMTPD supervise Script ... Qmail /supervise/ Qmail-smtpd/run cp Qmail-smtpd /var/ Qmail /supervise/ Qmail Listing script SMTPD run apabila menggunalan mailscanner: #!/bin/sh QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export QMAILQUEUE QMAILDUID=`id NOFILESGID=`id -u -g vpopmail` vpopmail`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming` LOCAL=`head -1 /var/qmail/control/me` if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]; then echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in echo /var/qmail/supervise/qmail-smtpd/run exit 1 fi if [ ! -f /var/qmail/control/rcpthosts ]; then echo "No /var/qmail/control/rcpthosts!" echo "Refusing to start SMTP listener because it'll create an open relay" exit 1 fi exec /usr/local/bin/softlimit -m 40000000 \ /usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \ -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp \ /var/qmail/bin/qmail-smtpd litbang.depkes.go.id \ /home/vpopmail/bin/vchkpw /usr/bin/true 2>&1 echo create SMTPD log supervise Script ... Qmail /supervise/ Qmail-smtpd/log/run #cp smtpd_log /var/ Qmail /supervise/ Qmail Qmail /supervise/ Qmail-smtpd/log/run<<EOF cat >/var/ Qmail /supervise/ Qmail #!/bin/sh Qmaill /usr/local/bin/multilog exec /usr/local/bin/setuidgid Qmail / Qmail-smtpd /var/log/ Qmail / Qmail EOF
t
s1048576
t
s1048576
echo create QMAIL SEND supervise Script ... Qmail /supervise/ Qmail-send/run #cp send_run /var/ Qmail /supervise/ Qmail Qmail /supervise/ Qmail-send/run<<EOF cat >/var/ Qmail /supervise/ Qmail #!/bin/sh Qmail /rc exec /var/ Qmail /rc EOF echo create QMAIL SEND log supervise Script ... Qmail /supervise/ Qmail-send/log/run #cp send_log /var/ Qmail /supervise/ Qmail Qmail /supervise/ Qmail-send/log/run<<EOF cat >/var/ Qmail /supervise/ Qmail #!/bin/sh Qmaill /usr/local/bin/multilog exec /usr/local/bin/setuidgid Qmail / Qmail-send /var/log/ Qmail / Qmail EOF echo create rc Script ... Qmail /boot/home Qmail /rc cp /var/ Qmail /boot/home /var/ Qmail /rc Mailbox splogger Qmail / Maildir\//g" /var/ Qmail Qmail /rc perl -pi -e "s/ / /rc
echo create Qmailctl and qmHandle Script ... Qmail /bin/ cp Qmailctl /var/ Qmail /bin/ cp qmHandle /usr/sbin/ sleep 2 echo setting needed permisions... Q Qmail Qmailctl Qmail chmod /supervise/ /var/ Qmail /bin/ /bin/ Qmail Qmail mail /rc Qmail Qmail chmod 755 751 /var/ /var/ Qmail /rc /supervise/ -pop3d/run Qmail /supervise/ Qmail-pop3d/log/run chmod 751 /var/ Qmail /supervise/ Qmail Qmail /supervise/ Qmail-smtpd/run chmod 751 /var/ Qmail /supervise/ Qmail Qmail /supervise/ Qmail-smtpd/log/run chmod 751 /var/ Qmail /supervise/ Qmail Qmail /supervise/ Qmail-send/run chmod 751 /var/ Qmail /supervise/ Qmail Qmail /supervise/ Qmail-send/log/run chmod 751 /var/ Qmail /supervise/ Qmail
sleep 2 echo setting control directory... Maildir > /var/ Qmail Qmail /control/defaultdelivery echo ./ /control/defaultdelivery Qmail /control/concurrencyremote echo 255 > /var/ Qmail /control/concurrencyremote Qmail /control/concurrencyremote chmod 644 /var/ Qmail /control/concurrencyremote Qmail /control/concurrencyincoming echo 30 > /var/ Qmail /control/concurrencyincoming Qmail /control/concurrencyincoming chmod 644 /var/ Qmail /control/concurrencyincoming
sleep 2 echo setting maximum message size to be 8Mb... Qmail /control/databytes echo '8000000' > /var/ Qmail /control/databytes sleep 2 echo setting queue mail for up to 4 days... Qmail /control/ queuelifetime echo '345600' > /var/ Qmail /control/ queue sleep 2 echo setting badmailto so that mail with invalid address formatting gets rejected... echo '# reject containing invalid characters, brackets or multiple @' > Qmail /control/bad /var/ Qmail /control/badmailto Qmail /control/bad echo '[!%#:\*\^]' >> /var/ Qmail /control/badmailto Qmail /control/bad echo '[\(\)]' >> /var/ Qmail /control/badmailto Qmail /control/bad echo '[\{\}]' >> /var/ Qmail /control/badmailto Qmail /control/bad echo '@.*@' >> /var/ Qmail /control/badmailto sleep 2 echo setting badmailfrom so that mail with invalid address formatting gets rejected... Qmail /control/bad echo '*\ @*' > /var/ Qmail /control/badmailfrom Qmail /control/bad echo '!*@*.*' >> /var/ Qmail /control/badmailfrom Qmail /control/bad echo '*%*' >> /var/ Qmail /control/badmailfrom sleep 2
echo create link Qmailctl to /usr/bin... Qmail /bin/ Qmailctl /usr/bin ln -s /var/ Qmail /bin/ Qmail sleep 2 service directory... echo create link supervice directorys to / service Qmail /supervise/ Qmail-send Qmail /supervise/ Qmail-smtpd ln -s /var/ Qmail /supervise/ Qmail /var/ Qmail /supervise/ Qmail Qmail /supervise/ Qmail-pop3d / service service /var/ Qmail /supervise/ Qmail
sleep 2 echo create aliases... Qmail /alias/. echo
[email protected] > /var/ Qmail /alias/.Qmail-root Qmail /alias/. echo
[email protected] > /var/ Qmail /alias/.Qmail-postmaster Qmail /alias/. echo
[email protected] > /var/ Qmail /alias/.Qmail-mailer-daemon Qmail /alias/. Qmail /alias/. ln -s /var/ Qmail /alias/.Qmail-root /var/ Qmail /alias/.Qmail-anonymous Qmail /alias/. chmod 644 /var/ Qmail /alias/.Qmail* ############################### # Removing Sendmail & Postfix # ############################### sleep 2 echo echo Removing sendmail and postfix... for a in `rpm -qa | grep sendmail`; do rpm -e --nodeps $a; done for b in `rpm -qa | grep postfix`; p ostfix`; do rpm -e --nodeps $b; done echo Establishing an "artificial" sendmail path... Qmail /bin/send ln -s /var/ Qmail /bin/sendmail /usr/lib/sendmail Qmail /bin/send ln -s /var/ Qmail /bin/sendmail /usr/sbin/sendmail sleep 2 ################# #Starting Qmail # ################# Qmailctl start
sleep 2
Lampiran 6 #!/bin/sh PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin # Install Courier IMAP # Disusun oleh indra_k at litbangdepkesgoid Qmail_installer/ Qmail Qmailsrc/ cd /usr/local/src/ Qmail
##################################################################### ######## # Courier IMAP # # Installing IMAP will enable IMAP connections to the mail server # # and it is a necessary ingredient for most popular web based mail clients # # such as Horde, SQ webmail and Squirrelmail. # ##################################################################### ######## echo echo 10. Installing COURIER-IMAP... rm -rf courier-imap-3.0.8 tar xjf courier-imap-3.0.8.tar.bz2 cd courier-imap-3.0.8 echo configuring courier-imap... Qmail /courier-imap Qmail /courier-imap ./configure --prefix=/var/ Qmail /courier-imap --exec-prefix=/var/ Qmail /courier-imap -with-authvchkpw --without-authdaemon --without-authldap --disable-root-check -Qmail /courier-imap/libexec/authlib with-ssl --with-authchangepwdir=/var/ Qmail /courier-imap/libexec/authlib --withredhat >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo compiling courier-imap... make >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "errors, check /tmp/qinstall.log!!!..." ; exit 666 ; fi Qmail /courier-imap... echo installing courier-imap into /var/ Qmail /courier-imap... make install-strip >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "error, check /tmp/qinstall.log!!!..." ; exit 666 ; fi
make install-configure >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "error, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo create an SSL certificate for the IMAP-SSL server .... .. Qmail Qmail rm -rflets /var/ /courier-imap/share/imapd.pem /courier-imap/share/imapd.pem
Qmail /courier-imap/sbin/mkimapdcert /var/ Qmail /courier-imap/sbin/mkimapdcert >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "error, check /tmp/qinstall.log!!!..." ; exit 666 ; fi
echo edit imapd-ssl... Qmail /courier-imap/etc/imapd-ssl Qmail /courier-imap/etc/imapd-ssl.old mv /var/ Qmail /courier-imap/etc/imapd-ssl /var/ Qmail /courier-imap/etc/imapd-ssl.old Qmail /couriersed 's/IMAPDSSLSTART=NO/IMAPDSSLSTART=YES/g' /var/ Qmail /courierQmail /courier-imap/etc/imapd-ssl imap/etc/imapd-ssl.old > /var/ Qmail /courier-imap/etc/imapd-ssl
echo edit imapd... Qmail /courier-imap/etc/imapd Qmail /courier-imap/etc/imapd.old mv /var/ Qmail /courier-imap/etc/imapd /var/ Qmail /courier-imap/etc/imapd.old Qmail /courier-imap/etc/imapd.old sed 's/MAXPERIP=4/MAXPERIP=100/g' /var/ Qmail /courier-imap/etc/imapd.old > Qmail /courier-imap/etc/imapd /var/ Qmail /courier-imap/etc/imapd echo Now we create the startup Script s... Qmail /courier-imap/libexec/imapd.rc cp /var/ Qmail /courier-imap/libexec/imapd.rc /etc/rc.d/init.d/imap Qmail /courier-imap/libexec/imapd-ssl.rc cp /var/ Qmail /courier-imap/libexec/imapd-ssl.rc /etc/rc.d/init.d/imaps echo set init Script for imap... #mv /etc/rc.d/rc.local /etc/rc.d/rc.local.old #sed '/imap/d' /etc/rc.d/rc.local.old > /etc/rc.d/rc.local #echo "/etc/rc.d/init.d/imap start" >> /etc/rc.d/rc.local #echo "/etc/rc.d/init.d/imaps start" >> /etc/rc.d/rc.local ln -s /etc/rc.d/init.d/imap /etc/rc.d/rc0.d/K30imap ln -s /etc/rc.d/init.d/imap /etc/rc.d/rc1.d/K30imap ln -s /etc/rc.d/init.d/imap /etc/rc.d/rc2.d/S80imap ln -s /etc/rc.d/init.d/imap /etc/rc.d/rc3.d/S80imap ln -s /etc/rc.d/init.d/imap /etc/rc.d/rc4.d/S80imap ln -s /etc/rc.d/init.d/imap /etc/rc.d/rc5.d/S80imap ln -s /etc/rc.d/init.d/imap /etc/rc.d/rc6.d/K30imap cd .. ##################################################################### ###################### # Installing Courierpassd # # Courierpassd is a utility that allows user s to change their mailbox password s remotely. # ##################################################################### ###################### echo echo 11. Installing COURIERPASSD... rm -rf courierpassd-1.0.1 tar xzf courierpassd-1.0.1.tar.gz cd courierpassd-1.0.1
echo configuring courierpassd... ./configure --with-couriersrc=../courier-imap-3.0.8 >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "error, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo compiling courierpassd... make >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "error, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo installing courierpassd... make install >>/tmp/qinstall.log 2>&1 if [ $? -ne 0 ] ; then echo -e "error, check /tmp/qinstall.log!!!..." ; exit 666 ; fi echo Adding Xinetd Script ... echo echo Installing xinetd server first... rpm -Uvh fedoracore5/xinetd-2* /etc/rc.d/init.d/xinetd start sleep 2 cat > /etc/xinetd.d/courierpassd<<EOF service courierpassd { port = 106 socket_type = stream protocol = tcp user = = root server = /usr/local/sbin/courierpassd server _args _args = -s imap wait = no only_from = 127.0.0.1 instances = 4 disable = no } EOF services..." echo "edit /etc/ service services /etc/ service services.old mv /etc/ service services.old > /etc/ service services sed '/courierpassd/d' /etc/ service services echo "courierpassd 106/tcp #for /etc/xinetd.d/courierpassd" >> /etc/ service
echo restart xinetd sleep 2 /etc/rc.d/init.d/xinetd restart echo start sleep 2 Courier-imap..
/etc/rc.d/init.d/imap stop /etc/rc.d/init.d/imap start /etc/rc.d/init.d/imaps stop /etc/rc.d/init.d/imaps start cd .. echo echo Finish Installing QMAILSERVER!!!
Lampiran 7 #!/bin/sh PATH=$PATH:/bin:/sbin/:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/usr/local/ssl /bin # Setting a good umask. umask 022 cd Qmailsrc echo echo "Installing Clamav Antivirus and Spamassassin" ##################### # Clamav Anti Virus # ##################### echo Adduser clamav... clamav... user add add -c "Clam Antivirus" -d /tmp -s /bin/false clamav c lamav echo echo Install PERL modul... rpm -Uvh perl/perl-Digest-SHA1* rpm -Uvh perl/perl-Digest-HMAC* rpm -Uvh perl/perl-Net-IP* rpm -Uvh perl/perl-Net-DNS-* rpm -Uvh perl/perl-Time-HiRes-* rpm -Uvh perl/perl-HTML-Tagset-* rpm -Uvh perl/perl-HTML-Parser-* rpm -Uvh perl/perl-Parse-Syslog-* rpm -Uvh perl/perl-Statistics-Distributions-* rpm -Uvh perl/perl-suidperl-* rpm -Uvh perl/perl-DBI-* rpm -Uvh perl/perl-URI-* rpm -Uvh perl/perl-DateManip-* rpm -Uvh perl/perl-Compress-Zlib* rpm -Uvh perl/perl-libwww-perlp erl/perl-libwww-perl-* * echo echo echo Installing LIBRARY needed by clamav... rpm -Uvh fedoracore5/libidn-devel-* rpm -Uvh --nodeps fedoracore5/sendmail-devel*
echo echo Rebuild CLAMAV source... rpmbuild --rebuild rpm/clamav-* >>/tmp/qinstall.log 2>&1 echo echo Installing CLAMAV... rpm /usr/src/redhat/RPMS/i386/clamav-0* echo-Uvh Installing CLAMAV DB... rpm -Uvh /usr/src/redhat/RPMS/i386/clamav-db* echo Installing CLAMAV Development... rpm -Uvh /usr/src/redhat/RPMS/i386/clamav-devel-* echo Installing CLAMAV Server .... .. rpm -Uvh /usr/src/redhat/RPMS/i386/clamav-server * echo echo Adduser qscand... qscand... user add add -c "Qmail-Scanner Account" Account" -s /bin/false qscand echo echo Starting clamd... /etc/rc.d/init.d/clamd start chkconfig clamd on echo echo Test clamd... ps aux|grep clam ###################### # Spamassassin <783> # ###################### echo for a in `rpm -qa | grep spamassassin`; do rpm -e --nodeps $a; done echo Adduser spamd... spamd... groupadd spamd user add add -g spamd -s /home/spamd spamd echo Rebuild SPAMASSASSIN source... rpmbuild -ta Mail-SpamAssassin-* >>/tmp/qinstall.log 2>&1 echo Installing SPAMASSASSIN... Mail-SpamAssassin-* rpm -Uvh /usr/src/redhat/RPMS/i386/perl- Mail rpm -Uvh /usr/src/redhat/RPMS/i386/spamassassin-* echo "Starting spamassassin chkconfig spamassassin on <783>"...
service spamassassin start
echo Test spamassassin... ps aux | grep spam echo echo echo Please, edit your crontab! echo "25 1 * * * /usr/bin/freshclam --quiet -l /var/log/clamav/clam-update.log" echo "Don't forget to open ope n port 783 in local firewall!!!" echo cd Qmailsrc echo echo "Installing QmailScanner " Qmail-scanner .sourceforge.net/" echo "http:// Qmail .sourceforge.net/" echo ################### # QmailScanner # ################### echo Unpack Qmail-scanner .... .. rm -rf Qmail-scanner -2.00 -2.00 tar zxf Qmail-scanner -2.00.tgz -2.00.tgz cd Qmail-scanner -2.00 -2.00 echo Test configure Qmail-scanner .... .. echo ./configure --admin postmaster --domain litbang.depkes.go.id --sa-quarantine 1 echo Configure Qmail-scanner .... .. ./configure --admin postmaster --domain litbang.depkes.go.id --sa-quarantine 1 -install Qmail /bin/ Qmail-scanner -queue.pl -z setuidgid qscand /var/ Qmail /bin/ Qmail Qmail /bin/ Qmail-scanner -queue.pl -g setuidgid qscand /var/ Qmail /bin/ Qmail Qmailctl stop Qmailctl start
contrib/test_installation.sh -doit echo "edit your crontab!"
Qmailscan/quarantine/new -type f -mtime +30 -exec echo "0 * * * * find /var/spool/ Qmail rm '{}' \;"
Lampiran 8 #26 1 * * * /usr/bin/freshclam --quiet 35 1 * * *
sa-learn
--showdots
--spam
Vpopmail /domains/litbang.depkes.go.id/indra_k/ Maildir/.SPAM/cur/* /home/ Vpopmail /domains/litbang.depkes.go.id/indra_k/
# delete quarantined files on Mondays Qmailscan/quarantine/new/* #0 0 * * mon /bin/rm -rf /var/spool/ Qmail # delete any files that are more than 2 days old 0 0 * * * find /var/www/html/webmail /attachment/ /attachment/ -atime +2 -exec /bin/rm {} \; 1 0 * * * find /var/spool/qscan/quarantine/spam/new/ -atime +2 -exec /bin/rm {} \; 2 0 * * * find /var/spool/qscan/quarantine/policy/new/ -atime +2 -exec /bin/rm {} \; 3 0 * * * find /var/spool/qscan/quarantine/viruses/new/ -atime +2 -exec /bin/rm {} \; # Do backup on Mondays (1 AM) #0 1 * * mon /usr/local/backup/backup.sh 1> /dev/null 2>/dev/null #0 1 * * fri /usr/local/backup/backup.sh 1> /dev/null 2>/dev/null #0 1 * * * /usr/local/backup/backup.sh 1> /dev/null 2>/dev/null # Qmail statistics */5 * * * * /etc/qss.sh # Mail list Archive Archive 35 1 * * * mhonarc -outdir /var/www/html/web mail /archives/jaringan/ /archives/jaringan/ -add Vpopmail /domains/litbang.depkes.go.id/jaringan/archive/* /home/ Vpopmail /domains/litbang.depkes.go.id/jaringan/archive/*
Lampiran 9 File /etc/sysconfig/iptables # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT ACCEP T -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT ACCEP T -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT ACCEP T -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 993 -j ACCEPT ACCEP T -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 783 -j ACCEPT ACCEP T -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT ACCEP T -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT ACCEP T -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT ACCEP T #-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT ACCEP T #-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited