Memerangi spam dengan greylisting, berikut ini caranya :
saya menggunakan postfix versi 2.4.1
1 – Salin file greylist.pl pada direktori examples/greylist ke
direktori /usr/libexec/postfix
2 – Edit file /usr/libexec/postfix/greylist.pl pada bagian :
$database_name=”/var/mta/greylist.db”;
$greylist_delay=60;
database_name: sesuaikan dengan letak direktori yang akan dibuat
pada langkah berikutnya
greylist_delay: sesuaikan dengan waktu (dalam detik) dimana suatu
message akan ditunda sebelum diproses.
3 – Buat direktori /var/mta ganti pemiliknya menjadi nobody.
% mkdir /var/mta
% chown nobody /var/mta
4 – Buat entry “policy” pada master.cf, misalnya :
policy unix – n n – – spawn
user=nobody argv=/usr/bin/perl /usr/libexec/postfix/greylist.pl
5 – Set Postfix untuk melakukan greylisting. Anda bisa melakukan
greylisting terhadap SEMUA email yang masuk (dari luar mynetworks)
atau hanya dari beberapa domain saja.
Pilih salah satu saja 🙂 dibawah ini:
– Untuk menerapkan greylisting ke semua message:
smtpd_recipient_restrictions =
permit_mynetworks
reject_unauth_destination
check_sender_access hash:/etc/postfix/maps/greylist
check_policy_service unix:private/policy
…RBL stuff disini…
permit
Lakukan “whitelist” ke mailing-list yang ada, atau database policy
akan dipenuhi oleh sampah :-), misalnya bikin sebuah file:
/etc/postfix/maps/sender_access
Isinya:
securityfocus.com OK
returns.groups.yahoo.com OK
linux.or.id OK
cloud9.net OK
postfix.org OK
list.cr.yp.to OK
worldless.net OK
groups.or.id OK
lists.untroubled.org OK
– Untuk menerapkan greylisting dari domain tertentu:
smtpd_recipient_restrictions =
permit_mynetworks
reject_unauth_destination
check_sender_access hash:/etc/postfix/maps/greylist
…RBL stuff disini…
permit
smtpd_restriction_classes = greylist
greylist = check_policy_service unix:private/policy
Kemudian daftarkan nama domain yang sering digunakan untuk
forgery pada file /etc/postfix/maps/greylist
yahoo.com greylist
aol.com greylist
hotmail.com greylist
bigfoot.com greylist
…
5 – % postmap /etc/postfix/maps/greylist
% postfix reload
Anda bisa melihat log Postfix atau mencoba mengirim email dari tempat
lain untuk mengetestnya.
Tulisan ini saya kutip dari informasi di milis postfix-user kiriman asfihani dengan mengubah beberapa kalimat karena disesuaikan dengan versi postfix yang saya pakai.
regards
Adi Maulana