Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
Membuat Mail Server Yang Aman dengan qmail by webmaster - Wednesday, November 25, 2015 http://suyatno.dosen.akademitelkom.ac.id/index.php/2015/11/25/membuat-mail-server-yang-amandengan-qmail/ Table of Contents 1. Synopsis 2. Sejarah Bind 3. Instalasi BIND 4. Setting BIND 5. Apa itu qmail ? 6. Keunggulan qmail 7. Persiapan Instalasi 8. Membuka Source paket qmail 9. Membuat user dan group yang menjalankan qmail 10. Instalasi Paket Pendukung qmail 11. Instalasi qmail dan patch-patchnya. 12. Membuat file script supervise qmail-send, qmail-smtpd dan qmail-pop3d 13. Setting Relay 14. Memasukkan file script ke servis supervise 15. Setting email Bounce 16. Menjalankan file script untuk menjalankan qmail 17. Test Drive qmail 18. Instalasi Vpopmail 19. Membuat startup script Vpopmail 20. Membuat domain mailku.com dan membuat user dalam domain mailku.com 21. Menjalankan vpopmail 22. Instalasi Courier-imap 23. Membuat startup script courier-imap 24. Menjalankan Courier-imap 25. Test Drive Courier-imap 26. Instalasi Squirrelmail 27. Setting Virtual Host 28. Test Drive Mail Server 29. Instalasi Spamassasin 30. Instalasi Maildrop 31. Instalasi tnef 32. Instalasi Clamav Antivirus 33. Instalasi qmail-scanner 1. Synopsis
1 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
Workshop " Membuat Mail Server Yang Aman dengan qmail" ini diadakan dengan tujuan untuk membantu siapa saja yang ingin belajar membuat Mail Server yang aman dengan menggunakan qmail. qmail merupakan Mail Server yang mempunyai banyak penggemar di internet karena terkenal kehandalan dan keamanannya. Dalam Workshop Ini akan membahas antara lain : Konsep DNS Server Instalasi dan Setting DNS Server menggunakan Bind Konsep Mail Server Instalasi dan Setting qmail Instalasi Paket Pendukung qmail Instalasi dan Setting vpopmail ( Virtual Domain ) Instalasi dan Setting Courier-Imap ( Imap Server ) Instalasi dan Setting SpamAssassin ( Spam Filter ) Instalasi dan Setting Clamav ( AntiVirus ) Instalasi dan Setting Qmail-Scanner ( Virus Scanner ) Peserta Workshop ini diharapkan sudah mempunyai pengetahuan tentang dasar-dasar GNU/Linux serta dasar networking di GNU/Linux. Dalam Workshop ini kita akan menggunakan Distro RedHat 9.0 yang didalamnya sudah diinstall paket-paket developer C yang dibutuhkan untuk menginstall DNS Server dan Mail Server yang akan kita buat. Konsep dan Cara Kerja DNS DNS merupakan suatu database yang berisi daftar informasi host komputer. Ide dasar penggunaan DNS disebabkan host-host komputer mempunyai alamat masing-masing yang disebut IP Address seperti 192.168.1.1 dan lain-lain yang menunjukkan alamat host komputer tersebut tetapi kita sebagai manusia lebih mudah menghapal nama daripada menghapal angka-angka seperti IP Address komputer. Bayangkan bila kita harus menghapal puluhan bahkan ratusan host komputer tentu lebih mudah menghapal www.google.com daripada 10.23.120.252. DNS adalah suatu bentuk database yang terdistribusi, dimana pengelolaan secara lokal terhadap suatu data akan segera diteruskan ke seluruh jaringan (internet) dengan menggunakan skema client-server. Suatu program yang dinamakan name server, mengandung semua segmen informasi dari database dan juga merupakan resolver ( aplikasi klien yang mengakses name server ) bagi client-client yang berhubungan ataupun menggunakannya. Struktur dari database DNS digambarkan sebagai sebuah struktur terbalik dari sebuah pohon dimana pada puncaknya disebut dengan root node. Pada setiap node dalam tree tersebut mempunyai label yang disebut domain misalnya, .org, .com, .edu, .net, dan lain-lainnya. Domain teratas disebut Root domain yang dituliskan dalam bentuk titik ("."). Top level domain terdiri dari semua node yang tepat berada dibawah root. Subdomain merupakan kumpulan keturunan Top Level Domain, node yang berada di bawah Top level domain disebut second level domain lalu node dibawah second level domain disebut third level domain dan seterusnya. Contoh: mail.mailku.com.
2 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
Tanda"." menunjukkan Root Domain com menunjukkan Top level domain mailku menunjukkan Second level domain mail menunjukkan host yang bersangkutan Penulisan lengkap seperti diatas dari nama host hingga titik yang melambangkan root disebut Fully Qualified Domain Name ( FQDN ). DNS bekerja dalam modus klien server. Dalam arti ada klien yang mencari nama atau alamat IP, kemudian ada server yang memberikan informasi dimana nama atau alamat IP tersebut, untuk memahami cara kerja DNS kita bisa mencoba membuka melakukan query melalui browser ke alamat diatas http://mail.mailku.com urutan proses sebagai berikut : melihat file /etc/resolv.conf untuk melihat alamat name server yang bersangkutan Setelah terjadi koneksi name server akan meneruskan ke database root (.) Setelah itu akan diteruskan untuk mencari server yang bertanggung jawab terhadap domain .com Setelah itu pencarian akan diteruskan untuk mencari server yang bertanggung jawab terhadapan domain .mailku terakhir name server mailku akan memberitahukan informasi host yang menggunakan nama mail dalam domain mailku. Semua proses tersebut dilakukan dalam waktu singkat bergantung kepada koneksi jaringannya. Instalasi dan Setting DNS Menggunakan BIND 2. Sejarah Bind Program DNS yang bernama JEEVES pertama kali diimplementasikan dan ditulis sendiri oleh Paul Mockapertis. Kemudian diteruskan oleh BIND (versi 4.8.3) yang diimplementasikan pada sistem operasi 4.3 BSD UNIX yang ditulis oleh Douglas Terry, Mark Painter, David Riggle dan Songnian Zhou dari Computer Systems Research Group (CSRG) pada Universitas California di Berkeley. Pada tahun antara 1985-1987, Kevin Dunlap seseorang dari Digital Equipment Corporation (DEC) bergabung dengan CSRG yang kemudian diikuti oleh Doug Kingston, Craig Partridge, Smoot Carl- Mitchell, Mike Muuss, Jim Bloom dan Mike Schwartz. Pemimpin dari proyek ini adalah Mike Karels dan O. Kure. BIND versi 4.9 dan 4.9.1 kemudian dirilis oleh DEC (yang sekarang diakusisi oleh Compaq Computer Corporation). Pemimpin dari proyek ini adalah Paul Vixie yang merupakan karyawan dari DEC serta dibantu oleh Phil Almquist, Robert Elz, Alan Barrett, Paul Albitz, Bryan Beecher, Andrew Partan, Andy Cherenson, Tom Limoncelli, Berthold Paffrath, Fuat Baran, Anant Kumar, Art Harkin, Win Treese, Don Lewis, Christophe Wolfhugel, dan lain-lainnya. BIND versi 4.9.2 kemudian diambil alih oleh Vixie Enterprises, dan Paul Vixie menjadi arsitek dan programmernya. BIND mulai dari versi 4.9.3 dan seterusnya kemudian diambil alih oleh Internet Software Consortium (ISC) dan akhirnya untuk pertama kalinya, pada tanggal 8 Mei 1997 Bob Halley dan Paul Vixie merilis versi BIND untuk keperluan produksi. Sekarang BINDversi 4 sudah mulai jarang digunakan, dan sebagai penggantinya adalah BIND versi 8 dan versi 9. 3. Instalasi BIND 3.1 Persiapan Instalasi Untuk instalasi Bind persyaratan yang harus dipenuhi antara lain Sistem GNU/Linux yang lengkap yang sudah diinstalasi jaringan dalam hal ini kita mengggunakan distro RedHat 9.0. Peket-paket developer C yang sudah terinstalasi dalam sistem GNU/Linux seperti gcc, cpp, glibc dan lain-lain, yang bisa dilihat dengan menggunakan perintah :
3 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
# rpm -qa | grep cpp # rpm -qa | grep gcc # rpm -qa | grep glicb kalau paket- paket developer C belum terinstall anda harus menginstallnya dahulu. Ruangan harddisk yang cukup untuk instalasi BIND anda dapat mengeceknya dengan perintah : # du paket BIND yang akan diinstall, anda dapat menggunakan versi BIND terbaru dengan mendownloadnya di http://www.isc.org/products/BIND. Kita akan menggunakan versi BIND 9.2.1 yang telah disertakan dalam distro RedHat 9.0 yang kita pakai. 3.2 Instalasi BIND Kita dapat dengan mudah melakukan instalasi BIND dengan mengetikkan perintah : # rpm -ivh bind-9.2.1.rpm Maka BIND telah terinstall dalam Sistem GNU/Linux kita. 4. Setting BIND File -file yang harus diperhatikan untuk mengkonfigurasi BIND antara lain : /etc/resolv.conf ( berisi alamat domain atau alamat IP dari name server ) /etc/named.conf ( berisi keterangan letak dan jenis file-file database yang dibutuhkan oleh BIND ) /var/named/root.ca ( berisi informasi data yang berada dalam domain root, yang akan dipergunakan name server jika ada resolver yang meminta nama domain diluar nama domain lokal ) /var/named/named.local ( berisi alamat loopback untuk alamat ke diri sendiri dengan alamat 127.0.0.1 ) 4.1 Persiapan Setting domain baru Dalam hal ini kita akan membuat domain baru untuk DNS Server dan Mail Server dengan data-data sebagai berikut : Nama Domain : mailku.com Nama DNS Server : ns.mailku.com IP DNS Server : 192.168.1.1 Nama Mail Server : mail.mailku.com IP DNS Server : 192.168.1.1 Karena kita menggunakan IP Address yang sama untuk DNS Server dan Mail Server maka kita akan menggunakan record CNAME ( nama alias ) dengan mendefinisikan bahwa ns.mailku.com punya nama alias mail.mailku.com 4.2 Mendefinisikan Name Server Dalam hal ini kita akan mendefinisikan bahwa name server untuk komputer ini mempunyai nama domain mailku.com dengan IP Address name server 192.168.1.1 yang akan kita definisikan di dalam file /etc/resolv.conf sebagai berikut : # vi /etc/resolv.conf
4 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
kita isi file /etc/resolv.conf sebagai berikut search mailku.com Name Server 192.168.1.1 Maksud baris diatas bahwa resolver akan melakukan pencarian domain mailku.com dengan Name Server dengan IP Address 192.168.1.1. 4.3 Mendefinisikan Zone mailku.com Dalam hal ini kita akan mendefinisikan bahwa DNS Server ini akan menjadi "authorative name server" untuk domain mailku.com. maka kita akan mendefinisikannya dalam file /etv/named.conf sebagai berikut : # vi /etc/named.conf kita tambahkan baris sebagai berikut : zone "mailku.com" IN { type master; file "mailku.zone"; }; Maksud baris diatas adalah bahwa kita mendefinisikan DNS Server kita sebagai Primary Name Server untuk domain mailku.com dan file mailku.zone adalah nama file yang merupakan zone-file dari domain mailku.com. 4.4 Mendefinisikan Reverse DNS Zone mailku.com Reverse DNS zone diperlukan agar DNS Server anda dapat menerjemahkan dari nomor IP Address ke nama host pemilik IP Address dalam jaringan tersebut. Kita akan mendefinisikan dalam file /etc/named.conf sebagai berikut : # vi /etc/named.conf kita tambahkan baris berikut : zone "1.168.192.in-addr.arpa" IN { type master; file "db.192.168.1"; }; Maksud baris diatas penterjemahan IP Address ke nama host pada jaringan 192.168.1.0 akan dilakukan oleh Server DNS tersebut, dalam file db.192.168.1. 4.5 Setting zone-file mailku.com Kita akan mengkonfigurasi Primary Name Server untuk domain mailku.com pada host ns.mailku.com dengan IP Address 192.168.1.1 mengacu pada konfigurasi file /etc/named.conf maka kita kan membuat file /var/named/mailku.zone sebagai berikut : # vi /var/named/mailku.zone
5 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
Dengan isi sebagai berikut : $TTL 86400 @ IN SOA ns.mailku.com. root.mailku.com. ( 42 ; serial 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS ns.mailku.com. IN MX 10 mail.mailku.com. ns IN A 192.168.1.1 mail IN CNAME ns Maksud baris diatas kita adalah sebagai berikut TTL ( Time to Live ) mendefinisikan waktu lamanya data berada dalam database SOA ( Start Of Authority ) mendefinisikan hostname yang merupakan awal dari suatu zone ns.mailku.com merupakan hostname yang memegang tanggung jawab terhadap domain mailku.com root.mailku.com merupakan alamat email administrator yang memegang tanggung jawab terhadap domain mailku.com 42 ; serial merupakan nomor serial dari zone file yang akan bertambah jika ada perubahan data. 3H; refresh time merupakan Selang waktu yang diperlukan secondary name server untuk memriksa perubahan pada Primary name server. 15M; retry time merupakan Selang waktu secondary name server untuk mengulang pengecekan pada primary name server. 1W; expiry merupakan selang waktu zone file dipertahankan bila secondary name server tidak dapat melakukan pengecekan ke primary name server 1D);minimum merupakan nilai default TTL untuk semua resource record pada zone-file. IN NS ns.mailku.com. mendefinisikan bahwa hostname ns.mailku.com yang memegang tanggung jawab terhadap domain mailku.com IN MX 10 mail.mailku.com mendefinisikan bahwa hostname mail.mailku.com sebagai Mail Server pada domain mailku.com ns IN A 192.168.1.1 mendefiniskan bahwa hostname ns.mailku.com mempunyai IP address 192.168.1.1 ns IN CNAME mail mendefinisikan bahwa hostname ns.mailku.com mempunyai nama alias mail.mailku.com. 4.6 Setting Reverse DNS zone-file db.192.168.1 Kita akan mengkonfigurasikan Primary reverse DNS pada host ns.mailku.com dengan IP Address 192.168.1.1 untuk jaringan 192.168.1.0 yang telah didefinisikan dalam file /etc/named.conf dengan membuat zone-file /var/named/db.192.168.1 sebagai berikut : # vi /var/named/db.192.168.1 Isi file db.192.168.1 adalah sebagai berikut :
6 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
$TTL 86400 @ IN SOA ns.mailku.com. root.mailku.com. ( 2004061800 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns.mailku.com. 1 IN PTR ns.mailku.com. Maksud baris diatas kita adalah sebagai berikut TTL ( Time to Live ) mendefinisikan waktu lamanya data berada dalam database SOA ( Start Of Authority ) mendefinisikan hostname yang merupakan awal dari suatu zone ns.mailku.com merupakan hostname yang memegang tanggung jawab terhadap domain mailku.com root.mailku.com merupakan alamat email administrator yang memegang tanggung jawab terhadap domain mailku.com 2004061800;serial merupakan nomor serial dari zone file yang akan bertambah jika ada perubahan data. 28800; refresh time merupakan Selang waktu yang diperlukan secondary name server untuk memriksa perubahan pada Primary name server. 14400; retry time merupakan Selang waktu secondary name server untuk mengulang pengecekan pada primary name server. 3600000; expiry merupakan selang waktu zone file dipertahankan bila secondary name server tidak dapat melakukan pengecekan ke primary name server 86400);minimum merupakan nilai default TTL untuk semua resource record pada zone-file. IN NS ns.mailku.com. mendefinisikan bahwa hostname ns.mailku.com yang memegang tanggung jawab terhadap domain mailku.com 1 mendefinisikan bahwa hostname ns.mailku.com mempunyai IP Address 192.168.1.1. 4.7 Test Drive Saatnya kita mencoba menjalankan BIND dengan menjalankan perintah : # /etc/rc.d/init.d/named start Bila BIND telah berjalan baik kita dapat melihatnya dengan melihat log-nya dengan menjalankan perintah : # tail -f /var/log/messages May 22 23:39:36 server named[1640]: loading configuration from '/etc/named.conf' May 22 23:39:36 server named[1640]: no IPv6 interfaces found May 22 23:39:36 server named[1640]: listening on IPv4 interface lo, 127.0.0.1#53 May 22 23:39:36 server named[1640]: listening on IPv4 interface eth0, 192.168.1.1#53 May 22 23:39:36 server named[1640]: command channel listening on 127.0.0.1#953 May 22 23:39:36 server named[1640]: zone 0.0.127.in-addr.arpa/IN: loaded
7 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
serial 1997022700 May 22 23:39:36 server named[1640]: zone 1.168.192.in-addr.arpa/IN: loaded serial 2004061800 May 22 23:39:36 server named[1640]: zone mailku.com/IN: loaded serial 42 May 22 23:39:36 server named[1640]: running Mei 22 23:39:36 server named: penyalaan named succeeded Kemudian kita dapat melakukan query ke DNS Server dengan menggunakan perintah # host 192.168.1.1 1.1.168.192.in-addr.arpa domain name pointer ns.mailku.com. # host ns.mailku.com ns.mailku.com has address 192.168.1.1 # host -t ns mailku.com mailku.com name server ns.mailku.com. # host -t mx mailku.com mailku.com mail is handled by 10 mail.mailku.com. # host -t cname mail.mailku.com mail.mailku.com is an alias for ns.mailku.com. Jika semua test drive berhasil maka kita telah memiliki DNS server dengan domain mailku.com dengan name server ns.mailku.com dan routing email domain mailku.com ke mail Server mail.mailku.com. Konsep dan Cara Kerja Mail Server Email ( electronic mail ) merupakan suatu bentuk komunikasi dengan menggunakan perangkat elektronik seperti komputer. Mail server adalah Server yang melayani komputer-komputer dalam suatu jaringan intranet, ekstranet dan internet dalam bentuk layanan pengiriman dan pengambilan email. Protokol yang biasa digunakan untuk layanan email adalah smtp ( simple mail transfer protocol ) untuk pengiriman email dan pop (post office protocol ) untuk pengambilan email. Mail server bekerja dalam modus klien server dimana klien email biasa kita sebut MUA ( Mail User Agent ) seperti evolution, kmail, pine, mutt dan lain-lain yaitu aplikasi yang digunakan user untuk mengirim dan mengambil email sedangkan servernya biasa kita sebut MTA ( Mail Transfer Agent ) seperti qmail, sendmail, postfix dan lain-lain yaitu Server yang digunakan untuk pengiriman dan pengambilan email. Proses pengiriman email melalui beberapa tahapan antara lain : User menulis isi email pada MUA seperti evolution, kmail, mutt dan lain-lain. MUA akan meneruskan email tersebut ke SMTP Server yang membuka port 25 dimana SMTP Server bisa kita sebut sebagai MTA . Kemudian MTA akan membaca alamat tujuan dari email tersebut Kalau email ditujukan ke alamat lokal ( domain yang sama ) maka email tersebut akan langsung dikirimkan ke alamat yang dituju Kalau email ditujukan bukan ke alamat lokal maka MTA akan mencari MTA tujuan dari alamat tersebut dengan menggunakan pencarian database
8 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
DNS Kemudian MTA akan berkomunikasi dengan MTA tujuan kemudian mengirimkan email tersebut ke MTA tujuan email tersebut akan disimpan dalam storage MTA Kemudian email tersebut dapat diambil oleh user dari MTA dengan menggunakan protokol pop Instalasi dan setting qmail 5. Apa itu qmail ? qmail adalah aplikasi Server email atau biasa disebut MTA ( Mail Transfer Agent ) Yang berjalan pada platform Unix . qmail diciptakan oleh Prof. D.J. Bernstein seorang profesor matematika di universitas illinois Chicago, ia membuat qmail karena tidak puas dengan kinerja Sendmail, MTA yang telah lama dibuat tetapi mempunyai banyak sekali kekurangan. 6. Keunggulan qmail Menurut D.J. Bernstein qmail mempunyai bebrapa keunggulan antara lain Aman, qmail mempunyai tingkat keamanan yang lebih baik dari sendmail bahkan D.J. Bernstein menyediakan uang $500 bagi siapa saja yang menemukan lubang keamanan dari qmail. Performansi yang lebih baik, karena qmail mampu melakukan 20 pengiriman secara simultan dalam satu waktu. Handal, karena bila suatu pesan diterima oleh qmail maka pesan tersebut tidak akan hilang. Simpel, karena qmail mempunya ukuran yang lebih kecil dibandingkan MTA lainnya. 7. Persiapan Instalasi Untuk instalasi qmail persyaratan yang harus dipenuhi antara lain Sistem GNU/Linux yang lengkap yang sudah diinstalasi jaringan dalam hal ini kita mengggunakan distro RedHat 9.0. Peket-paket developer C yang sudah terinstalasi dalam sistem GNU/Linux seperti gcc, cpp, glibc dan lain-lain. Ruangan harddisk yang cukup untuk instalasi qmail. Ruangan hardisk yang cukup untuk queue ( antrian email ). paket qmail yang akan diinstall, anda dapat menggunakan versi qmail terbaru dengan mendownloadnya di http://cr.yp.to/software/. Kita akan menggunakan versi qmail 1.0.3. Paket pendukung qmail seperti daemontools ( Aplikasi untuk mengatur daemon dan log ), ucspi-tcp ( Aplikasi untuk menjalankan qmail melalui tcp digunakan sebagai pengganti inetd ) anda dapat menggunakan versi daemontools dan ucspi-tcp terbaru dengan mendownloadnya di http://cr.yp.to/software/. Kita akan menggunakan daemontools versi 0.76 dan ucspi-tcp versi 0.88. Akses ke Web Server Apache yang digunakan untuk virtual host. Akses ke DNS Server yang digunakan untuk routing email ke MTA lain. 8. Membuka Source paket qmail Kita akan menempatkan paket-paket qmail di direktori /usr/local/src dimana source qmail tersebut sudah dibundel dengan nama qmail-workshop.tar.gz. kita akan membuka source qmail tersebut sebagai berikut :
9 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
# cd /usr/local/src # tar -zxvf qmail-workshop.tar.gz # cd qmail-workshop 9. Membuat user dan group yang menjalankan qmail Kita akan membuat direktori qmail dan membuat user dan grup yang menjalakan qmail sebagai berikut : # mkdir /var/qmail # groupadd nofiles # useradd -g nofiles -d /var/qmail/alias alias # useradd -g nofiles -d /var/qmail qmaild # useradd -g nofiles -d /var/qmail qmaill # useradd -g nofiles -d /var/qmail qmailp # groupadd qmail # useradd -g qmail -d /var/qmail qmailq # useradd -g qmail -d /var/qmail qmailr # useradd -g qmail -d /var/qmail qmails 10. Instalasi Paket Pendukung qmail Kita akan memulai dengan menginstall paket pendukung qmail yaitu daemontools dan ucspi-tcp. 10.1 Instalasi ucspi-tcp Anda dapat mendownload daemontools di http://cr.tp.to/daemontools. Kita akan menginstalasi ucspi-tcp sebaai berikut: # cd /usr/local/src/qmail-workshop # tar -zxvf ucspi-tcp-0.88.tar.gz # cd ucspi-tcp-0.88 # patch < ../patch/ucspi-tcp-0_88_errno_patch.txt # make setup check 10.2 Instalasi daemontools Anda dapat mendownload ucspi-tcp di http://cr.tp.to/ucspi-tcp. Kita akan menginstalasi daemontools sebagai berikut: # cd /usr/local/src/qmail-worshop # tar -zxvf daemontools-0.76.tar.gz # cd admin/daemontools-0.76 # patch < ../../qmail-workshop/patch/daemontools-0_76_errno_patch.txt # ./package/install # rm -rf /command # cp command / 11. Instalasi qmail dan patch-patchnya. Anda dapat mendownload qmail di http://cr.yp.to/software dan patch-patchnya di http://www.qmail.org.kita akan menginstall qmail beserta patch-patchnya sebagai berikut :
10 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
# cd /usr/local/src/qmail-workshop # tar -xzvf qmail-1.03.tar.gz # cd qmail-1.03 # patch -p1 < ../patch/qmail-103_patch.txt # patch -p1 < ../patch/qmailqueue-patch.txt # patch -p1 < ../patch/qmail-1_03-quotas-1_1_patch.txt # patch -p1 < ../patch/auth-jms1_4a_patch.txt # patch -p1 < ../patch/qmail-1_03_errno_patch.txt # cp ../patch/base64.c . # cp ../patch/base.h . # make setup check # ./config-fast mail.mailku.com # echo mailku.com >> /var/qmail/control/locals # echo mailku.com >> /var/qmail/control/rcpthosts 12. Membuat file script supervise qmail-send, qmail-smtpd dan qmail-pop3d Kita akan membuat file startup untuk menjalankan qmail-send dan mengganti tempat pengiriman email yang secara default akan dikirim ke Mailbox kita ganti menjadi Maildir karena lebih handal # cp /var/qmail/boot/home /var/qmail/rc # vi /var/qmail/rc ganti baris qmail-start ./Mailbox splogger qmail dengan qmail-start ./Maildir/ Kita akan membuat direktori untuk menyimpan file-file supervise # mkdir -p /var/qmail/supervise/qmail-send/log # mkdir -p /var/qmail/supervise/qmail-smtpd/log # mkdir -p /var/qmail/supervise/qmail-pop3d/log Kita akan membuat file script supervise untuk menjalankan qmail-send # vi /var/qmail/supervise/qmail-send/run isi file /var/qmail/supervise/qmail-send/run adalah sebagai berikut : #!/bin/sh exec /var/qmail/rc Kita kan membuat file script supervise untuk menjalankan log qmail-send # vi /var/qmail/supervise/qmail-send/log/log/run isi file /var/qmail/supervise/qmail-send/log/run adalah sebagai berikut : #!/bin/sh
11 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s1048576 /var/log/qmail Kita akan membuat file script supervise untuk menjalankan qmail-smtpd # vi /var/qmail/supervise/qmail-smtpd/run isi file /var/qmail/supervise/qmail-smtpd/run adalah sebagai berikut : #!/bin/sh PATH=$PATH:/usr/local/bin:/var/qmail/bin export PATH QMAILDUID=`id -u qmaild` NOFILESGID=`id -g qmaild` MAXSMTPD=30 exec /usr/local/bin/softlimit -m 2000000 \ tcpserver -H -R -v -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" -u "$QMAILDUID" -g "$NOFILESGID" \ 0 25 qmail-smtpd 2>&1 Kita kan membuat file script supervise untuk menjalankan log qmail-smtpd # vi /var/qmail/supervise/qmail-smtpd/log/run isi file /var/qmail/supervise/qmail-smtpd/log/run adalah sebagai berikut : #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s1048576 /var/log/qmail/smtpd Kita kan membuat file script supervise untuk menjalankan qmail-pop3d # vi /var/qmail/supervise/qmail-pop3d/run isi file /var/qmail/supervise/qmail-pop3d/run adalah sebagai berikut : #!/bin/sh PATH=$PATH:/usr/local/bin:/var/qmail/bin export PATH MAXPOP3D=30 exec /usr/local/bin/softlimit -m 2000000 tcpserver -H -v -c "$MAXPOP3D" 0 110 qmail-popup mail.mailku.com /home/vpopmail/bin/vchkpw qmail-pop3d Maildir/ 2>&1 Kita akan membuat file script supervise untuk menjalankan log qmail-pop3d # vi /var/qmail/supervise/qmail-pop3d/log/run
12 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
isi file /var/qmail/supervise/qmail-pop3d/log/run adalah sebagai berikut : #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s1048576 /var/log/qmail/pop3d kita akan mengubah atribut file script supervise agar bisa diseksekusi # chmod 755 /var/qmail/supervise/qmail-send/run # chmod 755 /var/qmail/supervise/qmail-send/log/run # chmod 755 /var/qmail/supervise/qmail-smtpd/run # chmod 755 /var/qmail/supervise/qmail-smtpd/log/run # chmod 755 /var/qmail/supervise/qmail-pop3d/run # chmod 755 /var/qmail/supervise/qmail-pop3d/log/run membuat direktori untuk log untuk qmail-smtpd dan qmail-pop3d # mkdir -p /var/log/qmail/smtpd # mkdir -p /var/log/qmail/pop3d # chown qmaill /var/log/qmail /var/log/qmail/smtpd /var/log/qmail/pop3d 13. Setting Relay Kita akan mengatur jaringan mana yang boleh mengakses mail server kita kita setting yang boleh akses hanya dari 127.0.0.1 dan jaringan 192.168.1.0 sebagai berikut : # echo '127.0.0.1:allow,RELAYCLIENT=""' > /etc/tcp.smtp # echo '192.168.1.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp # tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp 14. Memasukkan file script ke servis supervise Kita akan memasukkan file script supervise ke servis supervise agar dijalankan oleh daemon tcp sebagai berikut : # ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /var/qmail/supervise/qmail-pop3d /service 15. Setting email Bounce Kita akan mensetting agar setiap email bounce akan dikirimkan ke admin mailku.com yaitu
[email protected] # cd ~alias/ # echo
[email protected] > .qmail-root # echo
[email protected] > .qmail-postmaster # echo
[email protected] > .qmail-mailer-daemon 16. Menjalankan file script untuk menjalankan qmail
13 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
File script untuk menjalankan qmail bisa kita download di http://www.lifewithqmail.org/qmailctl-scriptdt70. Kita akan membuat file script tersebut bisa dijalankan seperti menjalankan dan mematikan service di RedHat sebagai berikut : # cd /usr/local/src/qmail-workshop # cp skrip/qmailctl /var/qmail/bin/ # chmod 755 /var/qmail/bin/qmailctl # ln -s /var/qmail/bin/qmailctl /usr/bin/ # ln -s /var/qmail/bin/qmailctl /etc/rc.d/init.d/qmail # ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc0.d/K30qmail # ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc1.d/K30qmail # ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc2.d/S80qmail # ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc3.d/S80qmail # ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc4.d/S80qmail # ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc5.d/S80qmail # ln -s /etc/rc.d/init.d/qmail/qmail /etc/rc.d/rc6.d/K30qmail # ln -s /var/qmail/bin/sendmail /usr/bin/sendmail # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail 17. Test Drive qmail Kita akan melihat apakah port 25 ( SMTP Server ) dan port 110 ( POP Server ) sudah nyala dengan perintah : # netstat -tan | grep 25 tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN # netstat -tan | grep 110 tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN Kita akan memeriksa instalasi qmail sudah benar dengan melihat apakah service readproctitle, qmail dan tcpserver sudah berjalan dengan perintah sebagai berikut : # ps axf | grep read 1241 ? S 0:00 readproctitle service errors: ....................... # ps axf | grep qmail 1242 ? S 0:00 | \_ supervise qmail-send 1249 ? S 0:00 | | \_ qmail-send 1256 ? S 0:00 | | \_ qmail-lspawn ./Maildir/ 1257 ? S 0:00 | | \_ qmail-rspawn 1258 ? S 0:00 | | \_ qmail-clean 1244 ? S 0:00 | \_ supervise qmail-smtpd 1246 ? S 0:00 | \_ supervise qmail-pop3d 1252 ? S 0:00 | | \_ tcpserver -H -v -c 30 0 110 qmail-popup # ps axf | grep tcpserver 1250 ? S 0:00 | | \_ tcpserver -H -R -v -x /etc/tcp.smtp.cdb 1252 ? S 0:00 | | \_ tcpserver -H -v -c 30 0 110 qmail-popup
14 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
Kita akan mencoba menjalankan dan mematikan qmail dengan perintah sebagai berikut : # /etc/rc.d/init.d/qmail stop # /etc/rc.d/init.d/qmail start # /etc/rc.d/init.d/qmail restart Kita akan mencoba untuk mengetes apakah koneksi ke SMTP dan POP3 Server kita sudah berjalan dengan baik dengan menggunakan telnet sebagai berikut : # telnet localhost 25 Trying 127.0.0.1.... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. 220 mail.mailku.com ESMTP quit 221 mail.mailku.com Connection closed by foreign host. # telnet localhost 110 Trying 127.0.0.1.... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. +OK <
[email protected]> quit +OK Connection closed by foreign host. Instalasi dan Setting Vpopmail, Courier Imap dan Squirrelmail 18. Instalasi Vpopmail Anda dapat mendownload vpopmail di http://inter7.com/vpopmail. Kita akan menginstalasi vpopmail dengan perintah sebagai berikut : # cd /usr/local/src/qmail-workshop # tar -xzvf vpopmail-5.3.11.tar.gz # cd vpopmail-5.3.11 # groupadd vchkpw # useradd -g vchkpw vpopmail # ./configure --enable-default-domain=mailku.com --enable-roaming-users=y --enable-logging=y --enable-learn-password=y --enable-clear-passwd=y --enable-defaultquota=10M # make # make install-strip 19. Membuat startup script Vpopmail kita akan membuat startup script untuk menjalankan vpopmail dengan nama vpopmailctl sebagai berikut :
15 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
# cp /usr/local/src/qmail-workshop/skrip/vpopmailctl /var/qmail/bin/vpopmailctl # ln -s ../init.d/vpopmail /etc/rc.d/rc0.d/K30vpopmail # ln -s ../init.d/vpopmail /etc/rc.d/rc1.d/K30vpopmail # ln -s ../init.d/vpopmail /etc/rc.d/rc2.d/S80vpopmail # ln -s ../init.d/vpopmail /etc/rc.d/rc3.d/S80vpopmail # ln -s ../init.d/vpopmail /etc/rc.d/rc4.d/S80vpopmail # ln -s ../init.d/vpopmail /etc/rc.d/rc5.d/S80vpopmail # ln -s ../init.d/vpopmail /etc/rc.d/rc6.d/K30vpopmail # ln -s /var/qmail/bin/vpopmailctl /etc/rc.d/init.d/vpopmail # chmod 755 /var/qmail/bin/vpopmailctl # ln -s /var/qmail/bin/vpopmailctl /usr/bin 20. Membuat domain mailku.com dan membuat user dalam domain mailku.com Kita akan membuat domain mailku.com dan user
[email protected] sebagai berikut : # cd /home/vpopmail/bin # ./vadddomain mailku.com p;ease enter password for postmaster: enter password again: # .vadduser
[email protected] please enter password for daus: enter password again: 21. Menjalankan vpopmail Kita akan menjalankan vpopmail dengan perintah berikut : # /etc/rc.d/init.d/vpopmail start 22. Instalasi Courier-imap Anda dapat mendownload courier-imap di http://telia.dl.sourceforge.net/sourceforge/courier. Courier imap adalah imap yang mendukung format penyimpanan Maildir. Kita akan menggunakan courier imap sebagai backend squirrelmail. Instalasi courier imap adalah sebagai berikut : # cd /usr/local/src/qmail-workshop # tar -jxvf courier-imap-1.7.3.tar.bz2 # cd courier-imap-1.7.3 # ./configure --disable-root-check --enable-workarounds-for-imap-client-bugs # make # make install # rm -rf /usr/lib/courier-imap/libexec/authlib/* # cp authlib/authvchkpw /usr/lib/courier-imap/libexec/authlib/ # cp /usr/lib/courier-imap/etc/imapd.dist /usr/lib/courier-imap/etc/imapd # cp /usr/lib/courier-imap/etc/imapd-ssl.dist
16 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
/usr/lib/courier-imap/etc/imapd-ssl Kita akan menggunakan modul authvchkpw untuk autentifikasi dan kita hanya menggunakan imap sebagai webmail saja maka kita harus mengubah file /usr/lib/courier-imap/etc/imap sebagai berikut : vi /usr/lib/courier-imap/etc/imap ganti baris ADDRESS= 0. dengan ADDRESS= 127.0.0.1, AUTHMODULES = "authdaemon" dengan AUTHMODULES= "authvchlpw" dan IMAPDSTART=No dengan IMAPDSTART=Yes 23. Membuat startup script courier-imap Kita membuat startup script untuk menjalankan courier-imap dengan perintah: # cp /usr/local/src/qmail-workshop/skrip/courier-imap.sysvinit /etc/rc.d/init.d/courier-imap # chmod 755 /etc/rc.d/init.d/courier-imap # ln -s ../init.d/courier-imap /etc/rc.d/rc0.d/K30courier-imap # ln -s ../init.d/courier-imap /etc/rc.d/rc1.d/K30courier-imap # ln -s ../init.d/courier-imap /etc/rc.d/rc2.d/S80courier-imap # ln -s ../init.d/courier-imap /etc/rc.d/rc3.d/S80courier-imap # ln -s ../init.d/courier-imap /etc/rc.d/rc4.d/S80courier-imap # ln -s ../init.d/courier-imap /etc/rc.d/rc5.d/S80courier-imap # ln -s ../init.d/courier-imap /etc/rc.d/rc6.d/K30courier-imap 24. Menjalankan Courier-imap Untuk menjalankan courier-imap delakukan dengan perintah : # /etc/rc.d/init.d/courier-imap start 25. Test Drive Courier-imap Kita dapat melihat apakah courier imap sudah berjalan dengan baik dengan perintah : # ps ax | grep imap 1225 ? S 0:00 /usr/lib/courier-imap/libexec/couriertcpd -address=12 1228 ? S 0:00 /usr/lib/courier-imap/libexec/courierlogger imapd Kita akan melihat apakah port 143 ( IMAP Server ) sudah nyala dengan perintah : # netstat -tan | grep 143 tcp 0 0 127.0.0.1:143 0.0.0.0:* LISTEN Kita Kita akan mencoba untuk mengetes apakah koneksi ke IMAP Server kita sudah berjalan dengan baik dengan menggunakan telnet sebagai berikut :
17 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
# telnet localhost 143 Trying 127.0.0.1... Connected to localhost. 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] daus a OK LOGIN Ok. a logout * BYE Courier-IMAP server shutting down a OK LOGOUT completed Connection closed by foreign host. 26. Instalasi Squirrelmail Anda dapat mendownload Squirrelmail di http://telia.dl.sourceforge.net/sourceforge/squirrelmail. Untuk instalasi Squirrelmail kita membutuhkan Web Server Apache dan PHP. Kita akan menginstall squirrelmail dengan perintah berikut : # cd /usr/local/src # tar -zxvf squirrelmail-1.2.11.tar.gz Kita akan menaruh file-file squirrelmail dibawah DocumentRoot Web Server kita ( /var/www/html ) dengan nama direktori mail sebagai berikut # mv squirrelmail-1.2.11 /var/www/html/mail # chown -R apache.apache /var/www/html/mail/data/ # cp /var/www/html/mail/config/config_default.php /var/www/html/mail/config/config.php Kita akan mensetting nama domain dengan nama mailku.com dan type imap server yang kita gunakan adalah courier dengan perintah berikut : # vi /var/www/html/mail/config/config.php ganti baris $imap_server_type = 'cyrus'; dengan $imap_server_type = 'courier'; dan $domain = 'example.com'; dengan $domain = 'mailku.com'; 27. Setting Virtual Host Kita akan mensetting agar mail server kita bisa diakses dengan nama http://mail.mailku.com dengan menggunakan virtual host sebagai berikut :
18 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
# vi /etc/httpd/conf/httpd.conf Tambahkan di baris terakhir sebagai berikut NameVirtualHost 192.168.1.1
ServerAdmin [email protected] ServerName mail.mailku.com DocumentRoot /var/www/html/mail Kemudian restart apache dengan perintah : # /etc/rc.d/init.d/httpd restart 28. Test Drive Mail Server Kita akan mencoba untuk mengirimkan email dengan menggunakan telnet sebagai berikut : # telnet localhost 25 Trying 127.0.0.1.... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. 220 mail.mailku.com ESMTP MAIL from: [email protected] 250 ok RCPT to: [email protected] 250 ok data 354 go ahead Date : 25 Mei 2004 14:00 From: [email protected] To: [email protected] Subject: Tes Mail Server Lagi ngetes Mail Server nih jalan nggak ya ? . 250 ok 1085556757 qp 1527 quit 221 mail.mailku.com Connection closed by foreign host. Kita bisa melihat status pengiriman email kita dengan perintah : # tail -f /var/log/qmail/current @4000000040b430dd34d3569c status: local 0/10 remote 0/20 @4000000040b431203884e134 new msg 86605
19 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
@4000000040b431203884f0d4 info msg 86605: bytes 293 from qp 2328 uid 504 @4000000040b4312038aebc0c starting delivery 4: msg 86605 to local [email protected] @4000000040b4312038aec3dc status: local 1/10 remote 0/20 @4000000040b431203b674c5c delivery 4: success: did_1+0+0/ @4000000040b431203b675bfc status: local 0/10 remote 0/20 @4000000040b431203b6bf7ac end msg 86605 Kita bisa melihat bahwa surat kita berhasil terkirim, Kita juga bisa melihat isi surat dengan menggunakan telnet sebagai berikut : # telnet localhost 110 Trying 127.0.0.1.... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. +OK <[email protected]> USER [email protected] +OK PASS daus +OK list 1 739 . retr 1 +OK Return-Path: Delivered-To: Received: (qmail 2328 invoked from network); 25 Mei 2004 13:00:00 -0000 Received: from unknown (127.0.0.1) by localhost with SMTP: 25 Mei 2004 13:00:00 -0000 Date: 25 Mei 2004 13:00 From: [email protected] To: [email protected] Subject: Tes Mail Server Lagi ngetes Mail Server nih jalan nggak ya ? . quit +OK Connection closed by foreign host. Instalasi Spamassassin, Clamav Antivirus dan Qmail-Scanner 29. Instalasi Spamassasin anda dapat mendownload spamassasin di http://wwwqmailrocks.org/download. Untuk instalasi
20 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
Spamassassin kita membutuhkan module-module perl sebagai berikut : perl-Time-Hires perl-Digest-SHA1 perl-Digest-HMAC perl-Net-DNS perl-suid-perl perl-HTML-Tagset perl-HTML-Parser Pastikan module-module perl tersebut sudah terinstall Kita akan menginstall Spamassassin sebagai berikut : # cd /usr/local/src/qmail-workshop # export LANG=en_US # tar -xzvf Mail-SpamAssassin-2.54.tar.gz # cd Mail-SpamAssassin-2.54 # perl Makefile.PL # make # make install # spamassassin -t < sample-spam.txt > spamtest.txt # cat spamtest.txt Kita melihat pada Spam-X-Level : ****, menandakan bahwa email yang dikirim berupa spam # spamassassin -t < sample-nospam.txt > nospamtest.txt # cat nospamtest.txt Kita bisa melihat pada baris Spam-X-Level : menandakan bahwa email yang dikirim bukan spam 30. Instalasi Maildrop Anda dapat mendownload maildrop dari http://download.sourceforge.net/courier. Kita membutuhkan program reformime di maildrop untuk qmail scanner, instalasi maildrop adalah sebagai berikut : # cd /usr/local/src/qmail-workshop # tar -jxvf maildrop-1.5.3.tar.bz2 # cd maildrop-1.5.3 # ./configure # make # make install-strip # make install-man 31. Instalasi tnef Anda dapat mendownload tnef dari http://telia.dl.sourceforge.net/sourceforge/tnef. Kita membutuhkan paket tnef
21 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
untuk mengurai attachment MS-TNEF MIME yang dipakai di Mail Server Microsoft, Instalasi tnef adalah sebagai berikut : # cd /usr/local/src/qmail-workshop # tar -zxvf tnef-1.2.0.tar.gz # cd tnef-1.2.0 # ./configure # make # make install Setting maildrop untuk menyortir spam, kita akan membuang mail spam ke folder JunkMail di direktori Maildir kita jadi kita harus membuatnya secara manual per user misalnya user daus maka perintahnya adalah sebagai berikut : # su vpopmail # maildirmake -f JunkMail /home/vpopmail/domains/mailku.com/daus/Maildir/ # exit Kita dapat mendownload optional script di http://www.jerfu.com/downloads/toaster. Kita membutuhkan file script maildroprc untuk menyortir mail spam # cd /usr/local/src/qmail-workshop # cp skrip/maildroprc /etc/maildroprc # chown vpopmail.vchkpw /etc/maildroprc Kita akan mengatur bahwa pemeriksaan spam oleh spamassassin dilakukan melalui maildrop untuk semua domain dengan perintah sebagai berikut : # vi /home/vpopmail/domains/mailku.com/.qmail-default tambahkan baris | maildrop dan beri tanda # pada baris lainnya, lalu kita akan membuat file script startup buat spamassassin sebagai berikut : # cd /usr/local/src/qmail-workshop # cp skrip/spamassassin /etc/rc.d/init.d/spamassassin # cd /etc/rc.d/init.d/ # chmod 755 spamassassin # ln -s ../init.d/spamassassin /etc/rc.d/rc0.d/K30spamassassin # ln -s ../init.d/spamassassin /etc/rc.d/rc1.d/K30spamassassin # ln -s ../init.d/spamassassin /etc/rc.d/rc2.d/S80spamassassin # ln -s ../init.d/spamassassin /etc/rc.d/rc3.d/S80spamassassin # ln -s ../init.d/spamassassin /etc/rc.d/rc4.d/S80spamassassin # ln -s ../init.d/spamassassin /etc/rc.d/rc5.d/S80spamassassin # ln -s ../init.d/spamassassin /etc/rc.d/rc6.d/K30spamassassin # cd /usr/local/src/qmail-workshop # cp skrip/local.cf /etc/mail/spamassassin/local.cf
22 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
Kita jalankan spamassassin dengan perintah : # /etc/rc.d/init.d/spamassassin start 32. Instalasi Clamav Antivirus Kita dapat mendownload clamav di http://clamav.elektrapro.com/stable. Kita akan melakukan instalasi clamav sebagai berikut # cd /usr/local/src # groupadd clamav # useradd -g clamav -s /bin/false -c "Clam Antivirus" clamav # tar -xzvf clamav-0.54.tar.gz # cd clamav-0.54 # ./configure # make # make install Test drive clamav, apakah clamav sudah bekerja dengan baik dengan perintah : # clamscan -r -l scan.txt # cat scan.txt # rm -f scan.txt Kita akan membuat file log clamav sebagai berikut : # touch /var/log/clam-update.log # chmod 644 /var/log/clam-update.log # chown clamav /var/log/clam-update.log Setting update antivirus secara otomatis dengan cron sebagai berikut : # crontab -e tambahkan baris 0 8 * * * /usr/local/bin/freshclam --quiet -l /var/log/clam-update.log Artinya bahwa update antivirus clamav akan dilakukan tiap hari jam 8 pagi 33. Instalasi qmail-scanner Kita dapat mendownload qmail-scanner di http:///telia.dl.sourceforge.net/sourceforge/qmail-scanner. Kita akan melakukan instalasi qmail-scanner sebagai berikut: # cd /usr/local/src # tar zxvf qmail-scanner-1.16.tgz
23 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
# cd qmail-scanner-1.16 # ./configure --scanners "clamscan,verbose_spamassassin" --admin "daus" --domain "mailku.com" --install # cp qmail-scanner-queue.pl /var/qmail/bin # cp quarantine-attachments.txt /var/spool/qmailscan # su qmaild -c "/var/qmail/bin/qmail-scanner-queue.pl -g" Kita akan mengubah fle script supervise qmail-smtpd agar setiap antiran (queue) melalui pemeriksaan qmail-scanner sebagai berikut : # vi /var/qmail/supervise/qmail-smtpd/run tambahkan baris dibawah ini setelah baris #!/bin/sh QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export QMAILQUEUE Dan kita harus menambahkan jumlah softlimit dari 2000000 menjadi 15000000. Selanjutnya Kita harus mengubah kepemilikan file-file qmail -secanner sebgai berikut : # chown -R qmailq.qmail /var/qmail/bin/qmail-scanner-queue.pl # chown -R qmailq.qmail /var/spool/qmailscan # chmod -R 755 /var/spool/qmailscan Selesai sudah Instalasi Mail Server, kita bisa merestart qmail untuk mengupdate perubahan yang kita buat dengan perintah : # /etc/rc.d/init.d/qmail restart # /etc/rc.d/init.d/vpopmail restart # /etc/rc.d/init.d/courier-imap restart # /etc/rc.d/init.d/spamassassin restart Ah, ribet juga ya, namanya juga ngoprek (belajar), kalo yang ribet aja mau kita pelajari, apalagi yang gampang seperti Instalasi Mail Server dengan Postfix atau Zimbra tentu lebih mudah kita lakukan. Yang penting tetap semangat untuk belajar. Tulisan diatas memang, ribet tapi dibuang sayang, siapa tau ada yang memerlukan.
Salam, Suyatno _______________________________________________
24 / 25
Membuat Mail Server Yang Aman dengan qmail - 11-25-2015 by webmaster - MASTER SISFO - http://suyatno.dosen.akademitelkom.ac.id
PDF generated by Kalin's PDF Creation Station
25 / 25 Powered by TCPDF (www.tcpdf.org)