Instalasi Postfix ( dasar ) + Amavis + ClamAV + Spamassassin + MailGraph

avudz@linux-kita.com - photlot @ #indolinux EfNet IRC Server

18/11/2003
last update : 04/08/2003 (01:58:23)


Dokumen (tutorial) ini ditujukan untuk membantu membuat sebuah mailserver, serta beberapa aplikasi yang dibutuhkan oleh mail server. Sistem Operasi yang digunakan adalah slackware 8.1 dengan kernel 2.4.22. Tidak ada copyright apapun dalam dukumen ini, anda bebas menyalin, mencetak, maupun memodifikasi (dengan menyertakan nama penulis asli). Saran, koreksi, kritik, kesalahan ketik, maupun ucapan silakan dikirimkan ke email tersebut diatas atau langsung ke #indolinux di Allnetwork IRC Server, Terima Kasih.


pertama-tama, terima kasih banyak telah membaca artikel ini, dan menyukai postfix -:)

apa itu postfix ? merupakan salah satu MTA yang di kembangkan oleh Dr. Wietse Zweitze Venema, dengan tujuan sebagai MTA yang cepat, mudah di implementasikan dan yang paling penting adalah 'keamanan' nya terjamin.

Beberapa fitur yang ditawarkan oleh Postfix :

Postfix anatomi

ketika mail server postfix menerima 'pesan' maka akan di simpan di dalam 'incoming queue', gambar di bawah ini akan menggambarkan bagaimana postfix system menerima email.

setelah 'message' sampai pada incoming queue, proses selanjut nya ada menyampaikan message kepada account yang dituju, gambar di bawah ini akan penjelaskan proses nya.

 

Instalasi Postfix

saya coba menerapkan postfix di slackware, berkat dorongan 'asfik' dan juga berkat bimbingan mr. Google akhir nya 3 jam tahap pembelajaran dan instalasi berhasil -:)

berhubung di slackware 8.1 belum ada paket postfix, download dulu di http://www.postfix.org/download.html

 

# adduser -M -d /no/home -s /no/shell postfix

# groupadd postdrop

# tar -zxvf postfix-2.x.x.tar.gz

# cd postfix-2.x.xx

# make && make install

PS : kalo bingung pertanyaannya, pencet [ENTER] aja ~_~

proses instalasi selesai, langkah selanjut nya adalah konfigurasi main.cf

 

#cat /etc/postfix/main.cf | more ## untuk baca baca

# mv /etc/postfix/main.cf /etc/postfix/main.cf.original

# cd /etc/postfix

setelah itu, coba konfigurasi kecil punya saya.

 

# wget -c www.linux-kita.com/avudz/main.cf.postfix

# mv main.cf.postfix main.cf

PS : jangan lupa hostname / domainnya disama dengan FQDN milik anda.

jangan lupa set anda sebagai postmaster, dengan cara menambahkan

 

root: avudz (ganti_dengan_account_anda)

di dalam /etc/postfix/aliases , jangan lupa setelah penambahan, update aliases.db nya dengan 'newaliases' ato 'postalias' liat manual nya di man newaliases & man postalias

jika terjadi masalah pada postfix anda, biasanya pada redhat, yang mana user biasa tidak bisa write mail ke /var/spool/mail, maka anda harus chmod 1777 /var/spool/mail agar procmail bisa nulis incoming mail ke situ.

selanjut nya, create databases transport yang telah di bikin di main.cf

 

# vi /etc/postfix/transport

## --- silahkan gantii dengan host anda --- ##

router.poster.or.id local:

localhost.router.poster.or.id local:

localhost.localdomain local:

localhost local:

.router.poster.or.id smtp-local:

## ---- selesai ---- ##

jangan lupa "postmap /etc/postfix/transport" untuk membuad .db hash

fyuh, selesai..... tinggal jalanin postfix

 

# postfix start ## gampang kan ? =)

o langkah selanjut nya test SMTP

(22:08:39-Tue Nov 18) SlackWare Router

[root@router:/etc/postfix ]# telnet localhost 25

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

220 router.poster.or.id ESMTP Postfix

EHLO router.poster.or.id

250-router.poster.or.id

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-XVERP

250 8BITMIME

HELO router.poster.or.id

250 router.poster.or.id

MAIL FROM: aku@avudz.cc

250 Ok

RCPT TO: admin@linux-kita.com

250 Ok

data

354 End data with <CR><LF>.<CR><LF>

hai..

saya telah berhasil setup postfix

sesuai dengan instruksi anda.

.

250 Ok: queued as 2DD6A1C36A

quit

221 Bye

Connection closed by foreign host.

(22:11:53-Tue Nov 18) SlackWare Router

[root@router:/etc/postfix ]# tail -f /var/log/maillog

Nov 18 22:12:03 router postfix/smtp[19617]: 2DD6A1C36A: to=<admin@linux-kita.com>, relay=mail.linux-kita.com[202.143.101.101], delay=57, status=sent (250 ok 1069168777 qp 3692)

pesan berhasil di kirim ;) dan mail server kecil anda telah tersedia ~_~

selanjutnya, penambahan fitur-fitur untuk sebuah mail server.

Permasalahan

Belakangan ini banyak bermunculan virus-virus mail yang sangat mengganggu, dan juga merepotkan para mail administrator, disini saya coba membahas instalasi mail server ‘free’ & murah meriah muntah ( 3 M ) dengan junk mail protection

Software yang di butuhkan

Instal clam antivirus

Clam antivirus ( http://clamav.elektrapro.com/) merupakan software antivirus yang berlisensi GNU GPL 2 dengan menggunakan database virus dari OpenAntiVirus ( http://www.openantivirus.org/). Download, ekstrak dan ganti direktori ke source clam antivirus :

NOTE: sesuaikan dengan versi CLAMAV anda!

[root@router src]# tar -xzvf clamav-0.54.tar.gz

[root@router src]# cd clamav-0.54

Buat user dan group yang akan menjalankan daemon clam anvirus :

 
[root@router clamav-0.54]# groupadd clamav 
[root@router clamav-0.54]# useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav

Lakukan kompilasi dan install :

 
[root@router clamav-0.54]# ./configure CFLAGS="-O3 -march=i686 -mcpu=i686 \
-funroll-loops -fomit-frame-pointer" --sysconfdir=/etc --with-dbdir=/var/lib/clamav
[root@router clamav-0.54]# make 
[root@router clamav-0.54]# make install 

Pindah file konfigurasi standar dari clam antivirus ke nama file yang lain, karena kita akan menyusun sendiri file konfigurasi tersebut :

 
[root@router clamav-0.54]# mv /etc/clamav.conf /etc/clamav.conf.default
Buatlah file /etc/clamav.conf 
isinya :
 
LogFile /tmp/clamd.log 
LogFileMaxSize 2M 
LogVerbose 
LogTime 
PidFile /var/run/clamd.pid 
DataDirectory /usr/local/share/clamav 
LocalSocket /tmp/clamd 
MaxDirectoryRecursion 15 
User clamav 
ScanArchive 
ArchiveMaxFileSize 10M 
ArchiveMaxRecursion 5 
ArchiveMaxFiles 1000 
Jalankan daemon clam antivirus (clamd ) :
 
[root@router clamav-0.54]# clamd
Periksa apakah daemon tersebut  sudah berjalan seperti yang kita inginkan :
 
[root@router clamav-0.54]# ps axu | grep clamd 

clamav 8989 0.0 4.8 9340 6188 ? S 16:31 0:00 clamd

clamav 8990 0.0 4.8 9340 6188 ? S 16:31 0:00 clamd

clamav 8991 0.0 4.8 9340 6188 ? S 16:31 0:00 clamd

Untuk menjalankan daemon clamd  setiap server di reboot :
 
[root@router clamav-0.54]# echo /usr/local/sbin/clamd >> /etc/rc.d/rc.local
Tanpa berpindah dari direktori source clam antivirus, lakukan test dengan cara menscan direktori test :
 
[root@router clamav-0.54]# clamscan -r test
Kemudian download update database virus yang paling baru :
 
[root@router clamav-0.54]# freshclam 
Jika sudah selesai kemudian kita jalankan daemon proses update database virus tersebut secara otomatis (akan dilaksanakan 
pengecekan database virus yang paling baru 2 kali dalam sehari ) :
 
[root@router clamav-0.54]# touch /var/log/clam-update.log 
[root@router clamav-0.54]# chmod 644 /var/log/clam-update.log 
[root@router clamav-0.54]# chown clamav /var/log/clam-update.log 
Jalankan daemonnya (freshclam ):
 
[root@router clamav-0.54]# freshclam -d -c 2 -l /var/log/clam-update.log
Untuk menjalankan daemon freshclam dan mengecek database virus baru:
 
[root@router clamav-0.54]# touch /etc/cron.daily/freshclam
[root@router clamav-0.54]# vi /etc/cron.daily/freshclam
masukin script : 
 
#!/bin/bash
freshclam --quiet -d -c 2 -l 
/var/log/clam-update.log 

[root@router clamav-0.54]# chmod a+xr /etc/cron.daily/freshclam

antivirus selesai J 

 

Instal SpamAssassin

Download spamassassin di http://www.spamassassin.org/

Cara yang paling gampang menggunakan CPAN, dan biarkan system men setup SpamAssassin untuk anda.

 

perl -MCPAN -e shell [sebagai root]

o conf prerequisites_policy ask

install Mail::SpamAssassin quit

untuk cara manualnya.

 

# wget -c http://www.spamassassin.org/released/Mail-SpamAssassin-2.55.tar.gz

# tar -zxvf Mail-SpamAssassin-2.55.tar.gz

spamassassin membutuhkan 2 module perl, yang mana belom tersedia di Slackware. HTML::Parses dan HTML::Tagset, Jadi harus di download dulu.

 

# perl -MCPAN -e shell

cpan> o conf prerequisites_policy ask

prerequisites_policy ask

cpan> install HTML::Parser

cpan> install DB_File

PS : kalo CPAN server belum tersetting di tempat anda, baik nya di configure ke site lokal, seperti ftp://ftp.cbn.net.id/mirror/CPAN

 

# cd Mail-SpamAssassin-2.55/

# make && make install

selesai, tidak perlu konfigurasi apa-apa pada spamassassin, karena nanti akan di handle automatis oleh amavis, kalau belum yakin, coba test spamassassin dengan contoh sample-spam.txt

 

(19:45:05-Wed Nov 19) SlackWare Router

[root@router:/home/install/Mail-SpamAssassin-2.55 ]# spamassassin -t < sample-spam.txt

pada akhir header, anda akan melihat hasil spam test seperti ini :

 

X-Spam-Flag: YES

X-Spam-Status: Yes, hits=6.9 required=5.0

tests=DATE_IN_PAST_12_24,DRASTIC_REDUCED,HOME_EMPLOYMENT,

INVALID_DATE,INVALID_MSGID,NO_REAL_NAME,ONCE_IN_LIFETIME,

REMOVE_SUBJ,UNDISC_RECIPS

version=2.55

X-Spam-Level: ******

X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp)

MIME-Version: 1.0

Content-Type: multipart/mixed; boundary="----------=_3FBB65EA.07366687"

Dan pada akhir output, terlihat analisa test spam.

Content analysis details: (6.90 points, 5 required)

NO_REAL_NAME (0.8 points) From: does not include a real name

INVALID_DATE (0.6 points) Invalid Date: header (not RFC 2822)

UNDISC_RECIPS (1.2 points) Valid-looking To "undisclosed-recipients"

HOME_EMPLOYMENT (1.6 points) BODY: Information on how to work at home (2)

DRASTIC_REDUCED (1.0 points) BODY: Drastically Reduced

REMOVE_SUBJ (0.9 points) BODY: List removal information

ONCE_IN_LIFETIME (0.2 points) BODY: Once in a lifetime, apparently

DATE_IN_PAST_12_24 (0.1 points) Date: is 12 to 24 hours before Received: date

INVALID_MSGID (0.5 points) Message-Id is not valid, according to RFC 2822

Dengan begitu, spamassassin telah selesai, dan siap di pakai J

Install amavisd-new

Disini lebih rumit dari pada instalasi software-software diatas, karena butuh sangat banyak perl modules, disamping perl modules juga harus ada beberapa paket yang belum ada di slackware 8.1 ( yang saya gunakan ).

 
arc
unarj
unrar
zoo
semua file tersebut dapat di download di ftp://ftp.kiarchive.ru/pub/unix/arcers/ 
sedangkan modules-modules yang di perlukan adalah :

 
Archive::Tar (Archive-Tar-x.xx)

Archive::Zip (Archive-Zip-x.xx)

Compress::Zlib (Compress-Zlib-x.xx)

Convert::TNEF (Convert-TNEF-x.xx)

Convert::UUlib (Convert-UUlib-x.xxx)

MIME::Base64 (MIME-Base64-x.xx)

MIME::Parser (MIME-Tools-x.xxxx)

Mail::Internet (MailTools-1.58 or later have workarounds for Perl 5.8.0 bugs)

Net::Server (Net-Server-x.xx)

Net::SMTP (libnet-x.xx) (use libnet-1.16 or latter for performance)

Digest::MD5 (Digest-MD5-x.xx)

IO::Stringy (IO-stringy-x.xxx)

Time::HiRes (Time-HiRes-x.xx) (use 1.49 or later, some older cause problems)

Unix::Syslog (Unix-Syslog-x.xxx)

Semua modules tersebut dapat di download dengan CPAN. Contoh :

  root # perl -MCPAN -e shell

cpan> o conf prerequisites_policy ask

prerequisites_policy ask

cpan> install Archive::Tar

setelah itu download paket amavis-new

 

[root@router:/home/install ]# wget -c http://www.ijs.si/software/amavisd/amavisd-new-20030616-p6.tar.gz

[root@router:/home/install ]# tar –zxvf amavisd-new-20030616-p6.tar.gz

[root@router:/home/install ]# cd amavisd-new-20030616

[root@router:/home/install/amavisd-new-20030616 ]# mkdir /amavis

[root@router:/home/install/amavisd-new-20030616 ]# chown clamav:clamav /amavis/

[root@router:/home/install/amavisd-new-20030616 ]# chmod 750 /amavis/

[root@router:/home/install/amavisd-new-20030616 ]# cp amavisd /usr/local/sbin/

[root@router:/home/install/amavisd-new-20030616 ]# chown root /usr/local/sbin/amavisd

[root@router:/home/install/amavisd-new-20030616 ]# chmod 755 /usr/local/sbin/amavisd

[root@router:/home/install/amavisd-new-20030616 ]# cp amavisd.conf /etc/

[root@router:/home/install/amavisd-new-20030616 ]# chown root /etc/amavisd.conf

[root@router:/home/install/amavisd-new-20030616 ]# chmod 644 /etc/amavisd.conf

[root@router:/home/install/amavisd-new-20030616 ]# mkdir /amavis/virusmails

[root@router:/home/install/amavisd-new-20030616 ]# chown clamav:clamav /amavis/virusmails/

[root@router:/home/install/amavisd-new-20030616 ]# chmod 750 /amavis/virusmails/

[root@router:/home/install/amavisd-new-20030616 ]# chown clamav:clamav /amavis/virusmails

### amavis instalasi selesai, sekarang konfigurasi amavis.conf ###

[root@router:/home/install/amavisd-new-20030616 ]# vi /etc/amavisd.conf

yang perlu di edit/tambahkan disini :

 

$mydomain = 'example.com'; (sesuaikan dengan domain anda)
$daemon_user = 'clamav';
$daemon_group = 'clamav';

$mailfrom_notify_admin = 'virusalert@linux-kita.com’;

$mailfrom_notify_recip = 'virusalert@linux-kita.com';

$mailfrom_notify_spamadmin = 'spamchecker@linux-kita.com';

$virus_admin = 'admin@linux-kita.com';

$spam_admin = 'admin@linux-kita.com';

$final_virus_destiny = 0;

$final_spam_destiny = -1;

$sa_tag_level_deflt = 4;

$sa_kill_level_deflt = 6.9;

#$unix_socketname = "$MYHOME/amavisd.sock"; matikan baris 203, postfix tdk pakai sock helper

buka baris 1155 -1158, untuk dukungan daemon clamd, agar proses scanning lebih cepat


['Clam Antivirus-clamd',
    \&ask_daemon, ["CONTSCAN {}\n", '/var/amavis/clamd'],
qr/\bOK$/, qr/\bFOUND$/,
qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],


terlihat amavisd akan memakai local socket /var/amavis/clamd, maka ubah /etc/clamav.conf sesuaikan dengan local socket yang diperlukan. Selain itu matikan semua antivirus yang tidak dipakai agar waktu startup amavisd bisa lebih cepat

 Bila file amavisd.conf dan clamav.conf sudah di edit dan di sesuaikan maka di coba dengan debugging :
 

[root@router ~ ]# /usr/local/sbin/amavisd debug

 

Aug 4 14:33:11 wahana amavisd[29374]: Perl version 5.008
Aug 4 14:33:11 wahana amavisd[29374]: Module Amavis::Conf 1.15
Aug 4 14:33:11 wahana amavisd[29374]: Module Archive::Tar 1.10
Aug 4 14:33:11 wahana amavisd[29374]: Module Archive::Zip 1.12
Aug 4 14:33:11 wahana amavisd[29374]: Module Compress::Zlib 1.33
Aug 4 14:33:11 wahana amavisd[29374]: Module Convert::TNEF 0.17
Aug 4 14:33:11 wahana amavisd[29374]: Module Convert::UUlib 1.03
Aug 4 14:33:11 wahana amavisd[29374]: Module MIME::Entity 5.404
Aug 4 14:33:11 wahana amavisd[29374]: Module MIME::Parser 5.406
Aug 4 14:33:11 wahana amavisd[29374]: Module MIME::Tools 5.411

..............

..............

buka console/terminal baru, test port 10024 dan user yang menjalankan amavisd

[root@router ~ ]# netstat -pln | grep 10024

tcp     0      0     127.0.0.1:10024        0.0.0.0:*               LISTEN          26041/

root@router ~ ]# cd /etc
root
@router ~ ]# mv amavisd.conf amavisd.conf2
root@
router ~ ]# cat amavisd.conf2 | grep -v '^#' | tr -s '\n' > amavisd.conf

setelah itu jalankan amavisd dan buat amavisd berjalan ketika start up
 

[root@router: ~ ]#  /usr/local/sbin/amavisd

[root@router:~]# echo "/usr/local/sbin/amavisd" >>  /etc/rc.d/rc.local 
coba test amavisd anda :
 

[root@router: ~ ]#  telnet 127.0.0.1 10024 

Trying 127.0.0.1... 

Connected to 127.0.0.1. 

Escape character is '^]'. 

220 [127.0.0.1] ESMTP amavisd-new service ready 

quit 

221 2.0.0 [127.0.0.1] (amavisd) closing transmission channel 

Connection closed by foreign host.

 

setelah semua selesai, jalankan amavis dan jangan lupa monitor log nya di /var/log/maillog.

Tambahan di Postfix

Seperti konsep awal, tujuan postfix membuad MTA sebagus dan ‘easy to manage’. Disini tambahkan pada main.cf command agar postfix bisa berinteraksi dengan amavis.

 

[root@router:/home/install/amavisd-new-20030616 ]# vi /etc/postfix/main.cf

content_filter = smtp-amavis:[127.0.0.1]:10024

 juga tambahkan baris berikut di ‘master.cf’.

 
smtp-amavis unix -      -       n     -       2  smtp
    -o smtp_data_done_timeout=1200
    -o disable_dns_lookups=yes
	
127.0.0.1:10025 inet n  -       n     -       -  smtpd
    -o content_filter=
    -o local_recipient_maps=
    -o relay_recipient_maps=
    -o smtpd_restriction_classes=
    -o smtpd_client_restrictions=
    -o smtpd_helo_restrictions=
    -o smtpd_sender_restrictions=
    -o smtpd_recipient_restrictions=permit_mynetworks,reject
    -o mynetworks=127.0.0.0/8
    -o strict_rfc821_envelopes=yes
sesuai dengan informasi di readme file bila memakai postfix 2.0.xx, maka transport smtp dapat di ganti dengan lmtp untuk meningkatkan performance, sehingga menjadi
smtp-amavis unix -      -       n     -       2  lmtp
    -o smtp_data_done_timeout=1200
    -o disable_dns_lookups=yes

setelah itu restart postfix.

  [root@router:/home/install/amavisd-new-20030616 ]# postfix reload

[root@router:/home/install/amavisd-new-20030616 ]# netstat –pln

pastikan anda mempunyai 3 baris berikut :

 
tcp       0	0 127.0.0.1:10024	0.0.0.0:*	LISTEN
tcp       0	0 127.0.0.1:10025	0.0.0.0:*	LISTEN
tcp       0	0 0.0.0.0:25		0.0.0.0:*	LISTEN

Testing Kemampuas Mail Server Anda J

 

root@router:/home/install/clamav-0.54/test# cat test1 |mail -s "sample virus" avudz@router.poster.or.id

root@router:/home/install/clamav-0.54/test# tail –f /var/log/maillog

### SNIP ###

### INI HASIL KALO FILTER BERHASIL ###

Nov 20 03:22:13 router amavis[14551]: (14551-01) INFECTED (ClamAV-Test-Signature), <root@router.linux-kita.com> -> <avudz@router.poster.or.id>, quarantine virus-20031120-032213-14551-01, Message-ID: <20031119203118.14325.qmail@router.linux-kita.com>, Hits: -

Nov 20 03:22:13 router amavis[14551]: (14551-01) TIMING [total 1481 ms] - SMTP EHLO: 9 (1%), SMTP pre-MAIL: 1 (0%), mkdir tempdir: 1 (0%), create email.txt: 2 (0%), SMTP pre-DATA-flush: 13 (1%), SMTP DATA: 26 (2%), body hash: 2 (0%), mkdir parts: 3 (0%), mime_decode: 39 (3%), get-file-type: 141 (10%), decompose_part: 4 (0%), parts: 0 (0%), AV-scan-1: 1044 (70%), write-header: 18 (1%), save-to-local-mailbox: 1 (0%), fwd-connect: 91 (6%), fwd-mail-from: 3 (0%), fwd-rcpt-to: 5 (0%), write-header: 10 (1%), fwd-data: 22 (1%), fwd-data-end: 28 (2%), fwd-rundown: 3 (0%), unlink-1-files: 15 (1%), rundown: 1 (0%)

Nov 20 03:22:13 router postfix/smtp[14640]: D9D3F1C36C: to=<avudz@router.poster.or.id>, relay=localhost.poster.or.id[127.0.0.1], delay=2, status=sent (250 2.7.1 Ok, discarded, id=14551-01 - VIRUS: ClamAV-Test-Signature)

Nov 20 03:22:13 router postfix/qmgr[14629]: A08641C36D: from=<virusalert@linux-kita.com>, size=1683, nrcpt=1 (queue active)

Nov 20 03:22:26 router postfix/smtp[14640]: A08641C36D: to=<admin@linux-kita.com>, relay=mail.linux-kita.com[202.143.101.101], delay=13, status=sent (250 ok 1069273893 qp 14329)

 

 

Dan contoh email dari virusalert ke admin@linux-kita.com seperti berikut :

Subject:

VIRUS (ClamAV-Test-Signature) FROM <root@router.linux-kita.com>

View Full Header
View Printable Version

From:

virusalert@linux-kita.com

Date:

Thu, November 20, 2003 3:22 am

To:

<admin@linux-kita.com>

Priority:

Normal

A virus (ClamAV-Test-Signature) was found.

Scanner detecting a virus: Clam Antivirus - clamscan

The mail originated from: <root@router.linux-kita.com>

The message WAS NOT delivered to:
<avudz@router.poster.or.id>:
   250 2.7.1 Ok, discarded, id=14551-01 - VIRUS: ClamAV-Test-Signature

Virus scanner output:
   /amavis/tmp/amavis-20031120T032212-14551/parts/part-00001: ClamAV-Test-Signature
FOUND

The message has been quarantined as:
   /amavis/virusmails/virus-20031120-032213-14551-01

------------------------- BEGIN HEADERS -----------------------------
Return-Path: <root@router.linux-kita.com>
Received: from router.linux-kita.com (CyberChat.POSTER.OR.ID [202.143.101.107])
        by router.poster.or.id (Postfix) with SMTP id D9D3F1C36C
        for <avudz@router.poster.or.id>; Thu, 20 Nov 2003 03:22:11 +0700 (WIT)
Received: (qmail 14326 invoked by uid 0); 20 Nov 2003 03:31:18 +0700
Date: 20 Nov 2003 03:31:18 +0700
Message-ID: <20031119203118.14325.qmail@router.linux-kita.com>
From: root@router.linux-kita.com
To: avudz@router.poster.or.id
Subject: sample virus
-------------------------- END HEADERS ------------------------------

root@router:/home/install/Mail-SpamAssassin-2.55# cat sample-nonspam.txt |mail -s "sample non-spam" avudz@router.poster.or.id

atau bisa juga di test dengan telnet langsung ke port amavisd :

 
# telnet 127.0.0.1 10024 
Trying 127.0.0.1... 
Connected to 127.0.0.1. 
Escape character is '^]'. 
220 [127.0.0.1] ESMTP amavisd-new service ready 
MAIL FROM:root 
250 2.1.0 Sender root OK 
RCPT TO:<postmaster> 
250 2.1.5 Recipient postmaster OK 
DATA 
354 End data with <CR><LF>.<CR><LF> 
Subject: test - virus test pattern 
tekan enter disini 1x 
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* . 
250 2.5.0 Ok, id=00663-01, BOUNCE << respon dari amavis 
quit 
221 2.0.0 [127.0.0.1] (amavisd) closing transmission channel 
Connection closed by foreign host.

selesai J

INSTALL MAILGRAPH

Pertama siapkan bahan-bahan yg dibutuhkan

 
  1. apache
    wget -c http://mirror2.telentente.com/pub/apache/dist/httpd/httpd-2.0.48.tar.gz 
  2. rrdtool
    wget -c http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/rrdtool-1.0.45.tar.gz
    
  3. mailgraph
    wget -c http://people.ee.ethz.ch/~dws/software/mailgraph/pub/mailgraph-1.4.tar.gz

Memulai meracik bahan-bahan yang telah disiapkan

asumsi bahan-bahan tadi di taruh di dir src

 
  1. build apache

    sherly:/src/httpd-2.0.48./configure --enable-so --enable-suexec --with-suexec-caller=nobody

    sherly:/src/httpd-2.0.48make

    sherly:/src/httpd-2.0.48sudo make install

    pastikan apache anda sudah bisa mengeksekusi file cgi

    pindah ke dir cgi-bin anda

    sherly:/src/httpd-2.0.48 # cd /usr/local/apache2/cgi-bin/

    sherly:/usr/local/apache2/cgi-bin # vi test.cgi

    isi file test.cgi

    #!/usr/bin/perl print "Content-type: text/html\n\n";

    print "Hello, World.";

    pencet ketik :wq!

    sherly:/usr/local/apache2/cgi-bin #chmod 775 test.cgi

    jalankan apache

    sherly:/home/w2k # PATH=$PATH:/usr/local/apache2/bin ;

    export PATH sherly:/home/w2k # apachectl start

    jalankan browser anda lalu ketikan

    http://nama-host-anda/cgi-bin/test.cgi 

    jika muncul tulisan Hello, World. berarti anda sukses

  2. build rrdtool

    cd

    cd src

    tar -xzf ../src/rrdtool-1.0.45.tar.gz

    cd rrdtool-1.0.45

    ./configure && make && make install

    make site-perl-install

    ln -s /usr/local/rrdtool-1.0.45/bin/rrdtool /usr/bin/rrdtool

    ln -s /usr/local/rrdtool-1.0.45/bin/rrdupdate /usr/bin/rrdupdate

  3. build mailgraph

kita butuh bahan tambahan untuk bisa meracik mailgraph

bahan tambahan dari perl modul

 

perl -MCPAN -e shell

install File::Tail

exit

mkdir /usr/local/mailgraph

chown postfix.postfix /usr/local/mailgraph

 

disesuaikan dengan user dan group postfix system anda

 

cp mailgraph.cgi /usr/local/apache2/cgi-bin/

cp mailgraph.pl /usr/local/mailgraph

cp mailgraph-init /sbin/mailgraph

chmod 755 /sbin/mailgraph

 

edit mailgraph

 

vi /sbin/mailgraph

sesuaikan dengan system anda

 

MAILGRAPH_PL=/usr/local/mailgraph/mailgraph.pl

MAIL_LOG=/var/log/mail

PID_FILE=/var/run/mailgraph.pid

RRD_DIR=/usr/local/rrdtool-1.0.45

 

edit mailgraph.cgi

 

vi mailgraph.cgi

my $rrd = '/usr/local/mailgraph/mailgraph.rrd'; # RRD database is

my $rrd_virus = '/usr/local/mailgraph/mailgraph_virus.rrd'; # path to where the Virus RRD database is

 

jalankan mailgraph

 
/sbin/mailgraph start

 

4.cek hasil kerja anda

http://domain.com/cgi-bin/mailgraph.cgi

PS : contoh mailgraph dapat di lihat di http://people.ee.ethz.ch/~dws/mailgraph/mailgraph.cgi

Selesai

untuk postfix + virtual domain + quota anda bisa baca tulisan punya sdr. asfihani di sini atau langsung ke url asfik sendiri di http://people.cakraweb.com/~asfik/writings/postfix-virtual.html

ChangeLog

o) penambahan link virtual domain punya asfik ( 29/11/2003 )

o) penambahan lsmp dan amavis + clamd (04/08/2004)

Dedicate to :

my self, my girl, my family, my teachers and my friends @ linux-admin mailing list, irc.allnetwork.org, EfNet & DAL.Net

kritik & saran & error : mailto:mahfudz [at] cyber-isp [dot] net
Original Source : avudz’s machine

For Romi ( photlot ) atas revisi sana sini, maklum gw masi newbie :)
For rzr ( jamal ) atas koreksi sana sini :)