Mungkin bisa bermanfaat bagi rekan-rekan yang menjadi Admin Mail Server.

URL Lengkap berikut ilustrasi :
http://vavai.com/2011/03/13/tips-anti-spam-aktivasi-policyd-rate-limit-sending-message-pada-zimbra-mail-server-versi-7/

PolicyD adalah salah satu feature anti spam yang sangat baik untuk
diintegrasikan dengan mail server. Salah satu feature utamanya
misalnya membatasi maksimum pengiriman email dari dan ke user/domain
tertentu selama interval yang sudah diset. Misalnya, kita bisa
melakukan pembatasan bahwa 1 user maksimum bisa mengirimkan email
hanya sebanyak 10X dalam 1 menit.

Pembatasan pengiriman email atau dikenal dengan istilah
throttle/rate-limit sangat penting karena virus/spam mampu melakukan
DoS (Denial of Services) dan mengirimkan ribuan email dalam satu
interval waktu tertentu. Sebagai contoh nyata, salah satu klien
Excellent sebuah perusahaan besar pernah mengalami masalah puluhan
ribu email di queue akibat ada compromised account (Account yang
passwordnya terlalu mudah sehingga bisa di dictionary
attack/brute-force attack). Dalam 1 menit queue dibanjiri ratusan
email sehingga server sedemikian sibuk, email banyak yang deferred dan
berakhir dengan dibannednya IP public karena mail server terindikasi
sebagai sarang spammer.

Dalam kasus lain yang lebih ekstrem, sebuah perusahaan ISP  pernah
mengalami hal yang sama dengan jumlah yang lebih besar, yaitu ada 500
ribu email spam di queue. Meski bisa dihapus menggunakan perintah
postsuper -d ALL, email spam akan kembali muncul dalam jumlah yang
sangat besar sehingga sangat mengganggu operasional sistem.

Hal diatas sebenarnya bisa diantisipasi dengan menerapkan PolicyD.
Dalam contoh kasus, jika kita melakukan setting rate-limit maksimum
sending message hanya 10 email per menit (inipun sudah termasuk luar
biasa untuk manusia normal yang mengirimkan email natural), maka jika
accountnya dihack, si spammer hanya mampu mengirimkan 10X60 email per
jam atau hanya sebanyak 600 email per jam. Kita bisa langsung
menelusuri asal-usul spam dan bisa langsung mengatasinya tanpa perlu
membuat sistem down akibat penumpukan queue.

Zimbra versi 6 dan versi dibawahnya belum dilengkapi dengan PolicyD
sehingga untuk bisa menerapkannya kita harus melakukan instalasi
PolicyD secara manual. Saya pribadi lebih prefer untuk melakukan
update sistem ke Zimbra versi 7 karena Zimbra versi 7 sudah dilengkapi
dengan modul PolicyD sehingga kita bisa dengan mudah melakukan
implementasi PolicyD tanpa harus melakukan instalasi dan konfigurasi
secara manual. Untuk mengaktifkannya, silakan ikuti panduan berikut
ini :

AKTIVASI POLICYD PADA ZIMBRA MAIL SERVER

   1. Buatlah sebuah policy berupa statement SQL dengan isi sebagai berikut :

      BEGIN TRANSACTION;
      INSERT INTO "policies" VALUES(6, 'Zimbra', 0, 'Vavai Test PolicyD', 0);
      DELETE FROM sqlite_sequence;
      INSERT INTO "sqlite_sequence" VALUES('policies', 6);
      INSERT INTO "sqlite_sequence" VALUES('policy_members', 6);
      INSERT INTO "sqlite_sequence" VALUES('policy_groups', 2);
      INSERT INTO "sqlite_sequence" VALUES('policy_group_members', 3);
      INSERT INTO "sqlite_sequence" VALUES('quotas', 4);
      INSERT INTO "sqlite_sequence" VALUES('quotas_limits', 5);
      INSERT INTO "sqlite_sequence" VALUES('checkhelo_blacklist', 4);
      INSERT INTO "policy_members" VALUES(6, 6, 'any', 'any', '', 0);
      INSERT INTO "quotas" VALUES(3, 6, 'Sender:user@domain',
'Sender:user@domain', 60, 'DEFER', 'Deferring: Too many messages from
sender in last 60', '', 0);
      INSERT INTO "quotas" VALUES(4, 6, 'Recipient:@domain',
'Recipient:@domain', 60, 'REJECT', '', '', 0);
      INSERT INTO "quotas_limits" VALUES(4, 3, 'MessageCount', 20, '', 0);
      INSERT INTO "quotas_limits" VALUES(5, 4, 'MessageCount', 50, '', 0);
      COMMIT;

      Beri nama : cbpolicydQuotas.sql. Sample ini akan mengaktifkan
rate-limit dengan ketentuan maksimum pengiriman email sebanyak 20
email dan penerimaan email sebanyak 50 email dalam 1 menit. Jika anda
ingin mencoba dengan rate-limit yang lain silakan modifikasi sesuai
dengan ketentuan yang anda inginkan
   2. Masuk sebagai Zimbra user, aktifkan plugin PolicyD, kemudian
insert rule, integrasikan dengan Zimbra dan kemudian restart service
Zimbra :

      su - zimbra
      zmprov ms `zmhostname` +zimbraServiceEnabled cbpolicyd
      zmcbpolicydctl start
      sqlite3 /opt/zimbra/data/cbpolicyd/db/cbpolicyd.sqlitedb <
cbpolicydQuotas.sql

      zmprov mcf zimbraMtaRestriction "check_policy_service
inet:127.0.0.1:10031"  zimbraMtaRestriction reject_non_fqdn_recipient
zimbraMtaRestriction permit_sasl_authenticated zimbraMtaRestriction
permit_mynetworks zimbraMtaRestriction reject_unauth_destination
zimbraMtaRestriction reject_unlisted_recipient zimbraMtaRestriction
reject_invalid_hostname zimbraMtaRestriction reject_non_fqdn_sender
zimbraMtaRestriction "reject_rbl_client b.barracudacentral.org"
zimbraMtaRestriction "reject_rbl_client zen.spamhaus.org"

      zmcontrol restart

      Perhatikan baris yang dimulai dengan tulisan zmprov mcf…
      Baris ini harus memuat seluruh rule yang dimiliki oleh SMTP yang
bisa diperiksa dengan perintah : zmprov gcf zimbraMTARestriction. Rule
diatas merupakan rule standar yang biasa diimplementasikan pada sistem
Zimbra Mail Server. Jika anda menerapkan rule pembatasan pengiriman
email untuk user tertentu (Postfix Restricted Recipient) [4], jangan
lupa menambahkan bagian : zimbraMtaRestriction check_sender_access
hash:/opt/zimbra/postfix/conf/restricted_senders pada perintah zmprov
mcf diatas.

   3. Test dengan mengirimkan email dan check file log PolicyD dengan
perintah pada konsole/terminal : tail -f
/opt/zimbra/log/cbpolicyd.log. Berikut adalah contoh log yang
melakukan rate-limit : dalam waktu 1 menit seorang user hanya boleh
mengirim email sebanyak 20 email.

CATATAN :

   1. Jika anda melakukan integrasi Zimbra dengan Mailman,
pertimbangkan untuk memisahkan PolicyD dan meletakkannya pada SMTP
server terpisah karena PolicyD otomatis akan membuat rate-limit untuk
semua jenis transaksi pengiriman email termasuk pengiriman ke milis
   2. Jika menginginkan bentuk-bentuk rule PolicyD yang lebih advanced
silakan merujuk ke website PolicyD :
http://www.policyd.org/tiki-index.php
   3. PolicyD versi 2 berganti nama menjadi ClueBringer, itu sebabnya
aplikasinya diberi nama cbpolicyd

--
Best Regards,

Masim "Vavai" Sugianto
/************************************************************/
Blog (ID)                                  : http://www.vavai.com
Excellent Infotama Kreasindo    : http://www.vavai.biz
/************************************************************/

--
FAQ milis di http://wiki.linux.or.id/FAQ_milis_tanya-jawab
Unsubscribe: kirim email ke tanya-jawab-unsubscr...@linux.or.id
Arsip dan info milis selengkapnya di http://linux.or.id/milis

Kirim email ke