I. Pendahuluan
Pada artikel sebelumnya sudah dijelaskan tentang bagaimana cara menginstal postfix dengan courier sebagai POP3/IMAP server. Artikel kali ini akan menjelaskan tentang bagaimana caranya menginstal postfix dengan Dovecot sebagai POP/IMAP server menggunakan database Mysql. Penulis menggunakan Centos 5.5 sebagai OS sistem. Penulis menggunakan domain latihanlinux.co.cc dan IP 192.168.1.2.
II. Langkah-langkah
A. Instalasi Paket-Paket
# yum install crypto-utils system-switch-mail mysql* httpd* php php-devel php-mbstring php-mysql php-imap
B. Konfigurasi Hostname
Rubah file network menjadi seperti berikut:
# vi /etc/sysconfig/network
# vi /etc/hosts
C. Instal Postfix dan Dovecot
Kita menggunakan yum untuk menginstal postfix. Namun, kita harus mengkonfigurasi file repository yum karena jika kita langsung menginstal postfix tanpa mengkonfigurasi file yum, kita hanya akan mendapatkan postfix yang tidak mensupport mysql. Ubah file repositori menjadi seperti berikut:
# vi /etc/yum.repos.d/CentOS-Base.repo
Setelah sudah, instal postfix dan dovecot dengan cara:
Rubah file network menjadi seperti berikut:
# vi /etc/sysconfig/network
NETWORKING=yes NETWORKING_IPV6=yes HOSTNAME=mailBegitu juga dengan file hosts
# vi /etc/hosts
127.0.0.1 localhost.localdomain localhost 192.168.1.2 mail.latihanlinux.co.cc mailPastikan Firewall dan SELinux sudah disable setelah itu reboot server.
C. Instal Postfix dan Dovecot
Kita menggunakan yum untuk menginstal postfix. Namun, kita harus mengkonfigurasi file repository yum karena jika kita langsung menginstal postfix tanpa mengkonfigurasi file yum, kita hanya akan mendapatkan postfix yang tidak mensupport mysql. Ubah file repositori menjadi seperti berikut:
# vi /etc/yum.repos.d/CentOS-Base.repo
[base] exclude=postfix [update] exclude=postfix [centosplus] enabled=1 includepkgs=postfix
Setelah sudah, instal postfix dan dovecot dengan cara:
# yum install postfix dovecot
Untuk mengecek apakah postfix yang sudah kita instal support mysql atau tidak ketikkan:
# postconf -m
dan seharusnya mysql ada di dalam hasil dari perintah tersebut.
D. Konfigurasi Postfix
Kemudian, kita back up terlebih dahulu konfigurasi postfix default dengan cara:
D. Konfigurasi Postfix
Kemudian, kita back up terlebih dahulu konfigurasi postfix default dengan cara:
# mv /etc/postfix/main.cf /etc/postfix/main.cf.ori
Lalu, kita konfigurasi postfix dengan cara:
# vi /etc/postfix/main.cf
Untuk melihat opsi-opsi yang bisa digunakan di file main.cf silahkan lihat ke link ini.
Setelah itu, kita mengkonfigurasi agar linux mengubah sistem emailnya dari sendmail ke postfix dengan cara:
# vi /etc/postfix/main.cf
myhostname = mail.latihanlinux.co.cc
mydomain = latihanlinux.co.cc
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
home_mailbox = Maildir/
alias_maps = hash:/etc/aliases
mynetworks = 127.0.0.0/8
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
broken_sasl_auth_clients = yes
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtpd_tls_cert_file = /etc/pki/tls/certs/mail.latihanlinux.co.cc.cert
smtpd_tls_key_file = /etc/pki/tls/private/mail.latihanlinux.co.cc.key
tls_random_source = dev:/dev/urandom
virtual_mailbox_domains = mysql:/etc/postfix/mysql-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-users.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-aliases.cf
virtual_mailbox_base = /home/vmail
virtual_uid_maps = static:501
virtual_gid_maps = static:501
Untuk melihat opsi-opsi yang bisa digunakan di file main.cf silahkan lihat ke link ini.
Setelah itu, kita mengkonfigurasi agar linux mengubah sistem emailnya dari sendmail ke postfix dengan cara:
# system-switch-mail
Pilih postfix
Kemudian buang sendmail dari sistem kita dengan cara:
# rpm -q sendmail # yum remove sendmailLalu, kita akan mengkonfigurasi agar postfix dapat menggunakan sertifikat SSL/TSL dengan cara:
# genkey mail.latihanlinux.co.cc
Ada tampilan seperti berikut, klik Next:
Akan ada tampilan seperti berikut, pilih bagian 1024, lalu tekan tombol Next:
Akan ada tampilan seperti berikut, tunggu sampai selesai:
Akan ada tampilan berikut, pilih No:
Akan ada tampilan seperti berikut, masukkan informasi yang diperlukan, klik tombol Next:
Akan ada tampilan seperti berikut, klik tombol Next:
Akan ada tampilan seperti berikut:
Dan dengan begitu instalasi postfix menggunakan SSL/TLS sudah selesai.
E. Instalasi Dovecot
Dovecot merupakan server IMAP dan POP untuk *nix yang open source. Penulis mengkonfigurasi file dovecot sebagai berikut:
# mv /etc/dovecot.conf /etc/dovecot.conf.ori
Isi file /etc/dovecot.conf dengan skrip di bawah ini:
protocols = imap imaps pop3 pop3s
mail_location = maildir:~/Maildir
ssl_cert_file = /etc/pki/tls/certs/mail.latihanlinux.co.cc.cert
ssl_key_file = /etc/pki/tls/private/mail.latihanlinux.co.cc.key
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
protocol lda { postmaster_address = postmaster@latihanlinux.co.cc
}
auth_username_format = %Lu
auth default {
socket listen {
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
mechanisms = plain login
passdb sql {
args = /etc/dovecot-mysql.conf
}
passdb pam {
}
passdb shadow {
}
userdb passwd {
}
userdb static {
args = uid=501 gid=501 home=/home/vmail/%d/%n
}
}
auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
F. Konfigurasi Database Mysql
Setelah itu, kita mengkonfigurasi database mysql dengan cara:
# vi /etc/postfix/mysql-domains.cf
# vi /etc/postfix/mysql-users.cf
# vi /etc/postfix/mysql-aliases.cf
# vi /etc/dovecot-mysql.conf
G. Membuat Direktori User
Lalu, kita buat direktori untuk menampung akun para user. Kita akan membuatnya di direktori /home.
H. Membuat Postfixadmin
Postfixadmin merupakan paket opensource yang digunakan oleh admin untuk mengatur domain dan akun di postfix. Berikut adalah langkah-langkahnya:
# vi config.inc.php
I. Konfigurasi Webmail
Webmail yang akan kita gunakan adalah squirrelmail. Penulis menggunakan versi 1.4.19. Berikut adalah langkah-langkahnya:
Lalu kita konfigurasi webmail dengan cara:
I. Menyalakan paket-paket
Setelah itu, nyalakan postfix dan dovecot dengan cara:
J. Tes Postfix
Sesudah itu, kita mulai mengetes apakah semua yang sudah kita lakukan sudah berjalan dengan baik atau belum. Yang pertama kali dilakukan adalah mengetes postfixadmin. Buka browser lalu ketikkan:
protocols = imap imaps pop3 pop3s
mail_location = maildir:~/Maildir
ssl_cert_file = /etc/pki/tls/certs/mail.latihanlinux.co.cc.cert
ssl_key_file = /etc/pki/tls/private/mail.latihanlinux.co.cc.key
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
protocol lda { postmaster_address = postmaster@latihanlinux.co.cc
}
auth_username_format = %Lu
auth default {
socket listen {
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
mechanisms = plain login
passdb sql {
args = /etc/dovecot-mysql.conf
}
passdb pam {
}
passdb shadow {
}
userdb passwd {
}
userdb static {
args = uid=501 gid=501 home=/home/vmail/%d/%n
}
}
auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
F. Konfigurasi Database Mysql
Setelah itu, kita mengkonfigurasi database mysql dengan cara:
# service mysqld start # mysql -u root -p mysql> CREATE DATABASE postfix; mysql> grant all on postfix.* to postfix@localhost identified by '123456'; mysql> flush privileges; mysql> \q;Lalu, kita buat file-file sebagai berikut:
# vi /etc/postfix/mysql-domains.cf
host = localhost user = postfix password = 123456 dbname = postfix table = domain select_field = domain where_field = domain additional_conditions = and backupmx = '0' and active = '1'
# vi /etc/postfix/mysql-users.cf
host = localhost user = postfix password = 123456 dbname = postfix table = mailbox select_field = maildir where_field = username additional_conditions = and active = '1' result_format = %sMaildir/
# vi /etc/postfix/mysql-aliases.cf
host = localhost user = postfix password = 123456 dbname = postfix table = alias select_field = goto where_field = address additional_conditions = and active = '1'
# vi /etc/dovecot-mysql.conf
driver = mysql connect = host=localhost dbname=postfix user=postfix password=123456 default_pass_scheme = PLAIN password_query = SELECT password FROM mailbox WHERE username = '%u'
G. Membuat Direktori User
Lalu, kita buat direktori untuk menampung akun para user. Kita akan membuatnya di direktori /home.
# groupadd -g 501 vmail # useradd -g 501 -s /sbin/nologin -c "Virtual Mail" vmail # chmod 770 /home/vmail/ # chown vmail.mail /home/vmail/
H. Membuat Postfixadmin
Postfixadmin merupakan paket opensource yang digunakan oleh admin untuk mengatur domain dan akun di postfix. Berikut adalah langkah-langkahnya:
# tar zxvf postfixadmin_2.3.tar.gz -C /var/www/html/ # cd /var/www/html/ # mv postfixadmin-2.3/ postfixadmin # cd postfixadmin/Kemudian kita konfigurasi postfixadmin:
# vi config.inc.php
$CONF['configured'] = true;
$CONF['postfix_admin_url'] = '/postfixadmin';
$CONF['database_type'] = 'mysql';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = '123456';
$CONF['database_name'] = 'postfix';
$CONF['admin_email'] = ' postmaster@latihanlinux.co.cc ';
$CONF['vacation_domain'] = 'autoreply.latihanlinux.co.cc';
$CONF['user_footer_link'] = "http://latihanlinux.co.cc";
$CONF['footer_text'] = 'Return to latihanlinux.co.cc';
$CONF['footer_link'] = 'http://latihanlinux.co.cc';
$CONF['default_aliases'] = array (
'abuse' => ' abuse@latihanlinux.co.cc ',
'hostmaster' => ' hostmaster@latihanlinux.co.cc ',
'postmaster' => ' postmaster@latihanlinux.co.cc ',
'webmaster' => ' webmaster@latihanlinux.co.cc '
$CONF['domain_path'] = 'YES';
$CONF['domain_in_mailbox'] = 'NO';
$CONF['encrypt'] = 'cleartext';
$CONF['emailcheck_resolve_domain] = 'NO';
$CONF['postfix_admin_url'] = '/postfixadmin';
$CONF['database_type'] = 'mysql';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = '123456';
$CONF['database_name'] = 'postfix';
$CONF['admin_email'] = ' postmaster@latihanlinux.co.cc ';
$CONF['vacation_domain'] = 'autoreply.latihanlinux.co.cc';
$CONF['user_footer_link'] = "http://latihanlinux.co.cc";
$CONF['footer_text'] = 'Return to latihanlinux.co.cc';
$CONF['footer_link'] = 'http://latihanlinux.co.cc';
$CONF['default_aliases'] = array (
'abuse' => ' abuse@latihanlinux.co.cc ',
'hostmaster' => ' hostmaster@latihanlinux.co.cc ',
'postmaster' => ' postmaster@latihanlinux.co.cc ',
'webmaster' => ' webmaster@latihanlinux.co.cc '
$CONF['domain_path'] = 'YES';
$CONF['domain_in_mailbox'] = 'NO';
$CONF['encrypt'] = 'cleartext';
$CONF['emailcheck_resolve_domain] = 'NO';
I. Konfigurasi Webmail
Webmail yang akan kita gunakan adalah squirrelmail. Penulis menggunakan versi 1.4.19. Berikut adalah langkah-langkahnya:
# tar -zxvf squirrelmail-1.4.19.tar.gz -C /var/www/html # cd /var/www/html # mv squirrelmail-1.4.19 webmail # mkdir -p /var/local/squirrelmail/data/ # mkdir -p /var/local/squirrelmail/attach/ # chown apache:apache /var/local/squirrelmail/data/ # chown apache:apache /var/local/squirrelmail/attach/
Lalu kita konfigurasi webmail dengan cara:
# cd /var/www/html/webmail # ./configure Pilih Nomor 2 Pilih Huruf A Pilih Nomor 4 (ketikkan IP mail server) Pilih Nomor 8 (ketik dovecot) Pilih huruf B Pilih Nomor 7 (Jawab dengan n, login, n) Pilih huruf S Pilih huruf Q
I. Menyalakan paket-paket
Setelah itu, nyalakan postfix dan dovecot dengan cara:
# service postfix start # service dovecot start # service httpd start
J. Tes Postfix
Sesudah itu, kita mulai mengetes apakah semua yang sudah kita lakukan sudah berjalan dengan baik atau belum. Yang pertama kali dilakukan adalah mengetes postfixadmin. Buka browser lalu ketikkan:
http://alamat_ip/postfixadmin/setup.php
Akan ada tampilan seperi berikut:
Masukkan password lalu tekan tombol Generate Password Hash. Maka akan ada tampilan seperti berikut:
Masukkan password yang sudah digenerate ke dalam file conf.inc.php yang berada di folder /var/www/html/postfixadmin pada bagian $CONF['setup_password']. Setelah itu, tulislah kolom-kolom tersebut dan tekan tombol Add Admin jika sudah selesai. Setelah itu, ketikkan di browser:
http://alamat_ip/postfixadmin/
Akan tampak tampilan seperti berikut:
Tuliskan email dan password dan klik tombol Login. Maka akan tampak tampilan seperti berikut:
Kita akan membuat virtual domain dan user account email. Untuk membuat domain baru, pilih item Domain List, lalu pilih New Domain. Sedangkan untuk membuat user account yang baru pilih item Virtual List lalu pilih Add Mailbox. Di tutorial ini, penulis membuat domain latihanlinux.co.cc dengan akun email budi@latihanlinux.co.cc .
Kemudian kita tes webmail kita. Masuk ke browser dan ketikkan:
http://alamat_ip/webmail
Maka akan tampak tampilan seperti berikut:
Masukkan nama dan password dan seharusnya akan tampil seperti berikut:
Kemudian kita lakukan pengetesan seperti berikut:
1. Pengujian Postfix
# telnet latihanlinux.co.cc 25
2. Pengujian Dovecot
# telnet latihanlinux.co.cc 110
3. Pengujian IMAP
Untuk menguji IMAP, kita menggunakan format:
# telnet localhost 143
lalu tuliskan a login kemudian tuliskan alamat_email dan passwordnya. Jika mau keluar tulis a logout. Untuk lebih jelasnya perhatikan gambar berikut:
4. Pengujian database mysql
Setelah itu kita menguji koneksi antara database mysql dengan postfix.
# postmap -q latihanlinux.co.cc mysql:/etc/postfix/mysql-domains.cf
# postmap -q budi@latihanlinux.co.cc mysql:/etc/postfix/mysql-users.cf
# postmap -q budi@latihanlinux.co.cc mysql:/etc/postfix/mysql-aliases.cf
Jika semuanya sudah berhasil ditest, maka kita sudah berhasil membangun mail server postfix dengan dovecot.
K. Instal Clamav, Spamassassin dan amavisd-new
Sesudah kita berhasil menginstal postfix dan dovecot berhasil diinstal di sistem kita, maka kita harus mengamankannya dengan antivirus dan penolak spam. Anti virus yang biasa digunakan adalah clamav dan penolak spamnya adalah spamassassin. Amavisd-new merupakan paket yang digunakan untuk mengatur anti virus (clamav) dan penolak spam (spamassassin) dengan MTA dalam hal ini postfix. Dalam tutorial ini, kita akan menggunakan yum untuk menginstal ketiga paket tersebut:
# yum -y install yum-priorities # wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm # rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt # rpm -K rpmforge-release-0.3.6-1.el5.rf.*.rpm # rpm -i rpmforge-release-0.3.6-1.el5.rf.*.rpm # yum install amavisd-new clamav clamav-devel clamd spamassassin
L. Konfigurasi Amavisd-new
Lalu kita mulai mengkonfigurasi amvisd-new dengan cara:
# cp /etc/amavisd.conf /etc/amavisd.conf.ori
Buka file amavisd.conf lalu rubah skrip di file tersebut menjadi seperti berikut:
# vi /etc/amavisd.conf
Kemudian kita tambahkan di file master.cf skrip berikut:
# vi /etc/amavisd.conf
$max_servers = 2; # num of pre-forked children (2..30 is common), -m $daemon_user = "amavis"; # (no default; customary: vscan or amavis), -u $daemon_group = "amavis"; # (no default; customary: vscan or amavis), -g $inet_socket_port = 10024; # listen on this local TCP port(s) # $notify_method = 'smtp:[127.0.0.1]:10025'; # $forward_method = 'smtp:[127.0.0.1]:10025'; # set to undef with milter! $mydomain = 'latihanlinux.co.cc'; # a convenient default for other settings $MYHOME = '/var/amavis'; # a convenient default for other settings, -H $helpers_home = "$MYHOME/var"; # working directory for SpamAssassin, -S $lock_file = "$MYHOME/var/amavisd.lock"; # -L $pid_file = "$MYHOME/var/amavisd.pid"; # -P $myhostname = 'mail.latihanlinux.co.cc'; # must be a fully-qualified domain name! $sa_tag_level_deflt = 2.0; # add spam info headers if at, or above that level $sa_tag2_level_deflt = 6.2; # add 'spam detected' headers at that level $sa_kill_level_deflt = 6.9; # triggers spam evasive actions (e.g. blocks mail) $sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent # $sa_quarantine_cutoff_level = 25; # spam level beyond which quarantine is off $penpals_bonus_score = 8; # (no effect without a @storage_sql_dsn database) $penpals_threshold_high = $sa_kill_level_deflt; # don't waste time on hi spam $sa_mail_body_size_limit = 400*1024; # don't waste time on SA if mail is larger $sa_local_tests_only = 0; # only tests which do not require internet access? $virus_admin = "wati\@$mydomain"; # notifications recip. $mailfrom_notify_admin = "wati\@$mydomain"; # notifications sender $mailfrom_notify_recip = "wati\@$mydomain"; # notifications sender $mailfrom_notify_spamadmin = "wati\@$mydomain"; # notifications sender # ### http://www.clamav.net/ ['ClamAV-clamd', \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd"], qr/\bOK$/m, qr/\bFOUND$/m, qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],
Kemudian kita tambahkan di file master.cf skrip berikut:
# vi /etc/postfix/master.cf
amavisfeed unix - - n - 2 lmtp
-o lmtp_data_done_timeout=1200
-o lmtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o smtpd_restriction_classes=
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters,no_address_mappings
-o local_header_rewrite_clients=
-o smtpd_milters=
-o local_recipient_maps=
-o relay_recipient_maps=
Lalu tambahkan skrip dibawah ini di file main.cf:
# vi /etc/postfix/main.cf
content_filter=amavisfeed:[127.0.0.1]:10024
Setelah selesai semua, nyalakan ketiga paket tersebut dengan cara:
# service postfix restart # service dovecot restart # service clamd start # sa-update # service spamassassin start # service amavisd start
Jika dilihat dari log mailnya, maka amavisd akan memberikan log sebagai berikut:
Lalu kita tes port 10024 dan 10025.
# telnet localhost 10024
# telnet localhost 10025
Untuk opsi-opsi spamassassin dapat dilihat di situs ini.
M. Tes Virus dan Spam
Setelah kita berhasil menginstal anti virus dan anti spam, maka tiba saatnya kita untuk mengetes apakah anti virus dan anti spam kita sudah berjalan dengan baik. Pengujian pertama akan dilakukan untuk menguji anti virus kita. Buatlah user yang bernama budi, papa, dan wati. Kemudian cobalah kirim dari user papa ke user budi email yang hanya berisi:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
Jika anti virus kita berjalan dengan baik, maka user budi tidak akan meerima email tersebut karena berisi virus tetapi email tersebut akan diterima oleh user wati karena di file amavisd.conf kita sudah mengeset bahwa setiap email yang dicurigai mengandung virus akan dikirimkan ke wati@latihanlinux.co.cc . Jika kita membuka log maillog yang berada di folder /var/log, maka akan kita lihat log seperti berikut:
Jika mendapatkan seperti hasil diatas, maka anti virus di sistem kita sudah berjalan dengan baik.
Kemudian kita akan menguji coba spamassassin pada sistem kita. Sama seperti tadi, user papa mengirimkan ke user budi yang hanya berisi:
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
Dan seharusnya user iwan tidak akan menerima email tersebut karena sudah diblok oleh spamassassin. Jika kita lihat maillog, maka akan kita lihat log seperti berikut:
N. Instalasi Razor, Pyzor, dan DCC (Optional)
Setelah menginstal clamav dan spamassassin di dalam sistem postfix, ada beberapa paket lagi yang bisa diinstal untuk memberi keamanan lebih kepada sistem kita untuk mendeteksi spam namun ini adalah opsional saja sifatnya. Paket-paket tersebut adalah Razor, Pyzor,dan DCC. Ketiga paket tersebut bekerja dengan cara membandingkan email-email yang masuk dengan spam-spam yang sudah dikenal di database mereka. Maka dari itu, mereka mengizinkan para user yang menginstal ketiga paket tersebut untuk melakukan query ke database mereka untuk menentukan apakah email itu spam atau tidak. Namun, adaperbedaan di antara mereka. Database Razor hanya berisi email-email spam sedangkan Pyzor dan DCC mempunyai sebuah database seluruh email yang telah di tes. Dengan kata lain, Razor merupakan sebuah spam detecting network sedangkan Pyzor dan DCC merupakan bulk email detecting networks.
a. Razor
Pada saat ini Razor mempunyai versi Razor2. Razor menggunakan sebuah jaringan terdistribusi dari banyak server dan hanya email-email spam saja yang dilaporkan ke Razor. Razor sangat handal dan dapat mengenali sekitar 25% email-email spam. Berikut adalah langkah-langkah untuk menginstal Razor:
# cd # wget http://prdownloads.sourceforge.net/razor/razor-agents-sdk-2.07.tar.bz2?download # tar xvjf razor-agents-sdk-2.07.tar.bz2 # cd razor-agents-sdk-2.07 # perl Makefile.PL && make && make install # cd .. # wget http://prdownloads.sourceforge.net/razor/razor-agents-2.84.tar.bz2?download # tar xvjf razor-agents-2.84.tar.bz2 # cd razor-agents-2.84 # perl Makefile.PL && make && make install # cd .. # mkdir /etc/mail/spamassassin/.razor # razor-admin -home=/etc/mail/spamassassin/.razor -register # razor-admin -home=/etc/mail/spamassassin/.razor -create # razor-admin -home=/etc/mail/spamassassin/.razor -discover
# vi /etc/mail/spamassassin/v310.pre Hapus tanda pagar (#) pada skrip: loadplugin Mail::SpamAssassin::Plugin::Razor2 # vi /etc/mail/spamassassin/.razor/razor-agent.conf # vi /etc/mail/spamassassin/local.cf use_razor2 1 razor_config /etc/mail/spamassassin/.razor/razor-agent.conf
b. Pyzor
Pyzor menggunakan sebuah server dan merekam seluruh email, bukan hanya email-email spam. Berikut adalah langkah-langkah instalasi Pyzor:
# wget http://kent.dl.sourceforge.net/sourceforge/pyzor/pyzor-0.5.0.tar.bz2 # tar jxvf pyzor-0.5.0.tar.bz2 # cd pyzor-0.5.0 # wget http://antispam.imp.ch/patches/patch-pyzor-debian-mbox # patch -p0 -b -Vt < patch-pyzor-debian-mbox # patch -p0 -b -Vt < patch-pyzor-debian-mbox # wget http://antispam.imp.ch/patches/patch-pyzor-handle_unknown_encodings # patch -p0 -b -Vt < patch-pyzor-handle_unknown_encodings # wget http://antispam.imp.ch/patches/patch-pyzor-unknowntype # patch -p0 -b -Vt < patch-pyzor-unknowntype # python setup.py build # python setup.py install # pyzor discover # crontab -e 17 2 * * * pyzor discover # vi /etc/mail/spamassassin/v310.pre Hapus tanda pagar (#) pada skrip: loadplugin Mail::SpamAssassin::Plugin::Pyzor # vi /etc/mail/spamassassin/local.cf # echo "use_pyzor 1" >> /etc/mail/spamassassin/local.cfc. DCC
DCC atau The Distributed Checksum Clearinghouse menggunakan sebuah pendekatan terdistribusi. Mode operasinya adalah bahwa seluruh email dilaporkan ke server DCC dan dihitung. Email bulk akan mempunyai nilai tinggi dan dengan demikian akan dipandang sebagai spam. Berkiut adalah langkah-langkahnya untuk menginstal DCC:
# tar zxvf dcc-dccd.tar.Z # cd dcc-dccd-1.3.127/ # ./configure --with-uid=amavis # make # make install # ln -s /var/dcc/libexec/cron-dccd /usr/bin/cron-dccd # crontab -e 0 5 * * * /usr/bin/cron-dccd # vi /var/dcc/dcc_conf DCCIFD_ENABLE=on # vi /etc/mail/spamassassin/local.cf use_dcc 1 dcc_path /usr/local/bin/dccproc # cp /var/dcc/libexec/rcDCC /etc/init.d/DCC # chkconfig --add DCC # chown -R amavis:amavis /var/dcc # vi /etc/mail/spamassassin/v310.pre loadplugin Mail::SpamAssassin::Plugin::DCC # /var/dcc/libexec/rcDCC startKemudian jika sudah selesai restart amavisd:
# service amavisd restart
Untuk menguji ketiga paket tersebut apakah sudah terinstal dengan baik dalam sistem kita, maka kita harus mengujinya dengan spam mail. Dan untungnya amavisd-new sudah memberikan contoh-contoh email spam ataupun antivirus. Ikuti langkah-langkah berikut:
# cd /usr/share/doc/amavisd-new-2.6.4/test-messages # perl -pe 's/./chr(ord($&)^255)/sge'Setelah menulis perintah tersebut ada beberapa email spam dan virus. Kita akan menggunakan email yang berjudul sample-nonspam.txt dan ketikkan perintah berikut:
# /usr/bin/spamassassin -t -D < sample-nonspam.txt
Jika ketiga paket tersebut berhasil dengan baik, maka ketiga paket tersebut akan mengecek email tersebut dan hasilnya akan terlihat seperti seperti berikut:
O. Penutup
Perlu diperhatikan, bahwa kita harus sering-sering melihat log email server kita yang berada di /var/log/maillog agar ketika ada masalah kita bisa memperbaikinya secepat mungkin.
O. Penutup
Perlu diperhatikan, bahwa kita harus sering-sering melihat log email server kita yang berada di /var/log/maillog agar ketika ada masalah kita bisa memperbaikinya secepat mungkin.
Tidak ada komentar:
Posting Komentar