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 (kini menjadi klien Excellent) 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
- 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
- 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), jangan lupa menambahkan bagian : zimbraMtaRestriction check_sender_access hash:/opt/zimbra/postfix/conf/restricted_senders pada perintah zmprov mcf diatas. - 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.
[2011/03/13-16:14:52 - 32412] [CORE] INFO: module=Quotas, mode=create, host=202.43.114.252, helo=mail.vavai.net, from=vavai@vavai.net, to=vavai@vavai.com, reason=quota_create, policy=6, quota=3, limit=4, track=Sender:vavai@vavai.net, counter=MessageCount, quota=1/20 (5.0%) [2011/03/13-16:14:52 - 32412] [CORE] INFO: module=Quotas, mode=create, host=202.43.114.252, helo=mail.vavai.net, from=vavai@vavai.net, to=vavai@vavai.com, reason=quota_create, policy=6, quota=4, limit=5, track=Recipient:@vavai.com, counter=MessageCount, quota=1/50 (2.0%)
CATATAN :
- 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
- Jika menginginkan bentuk-bentuk rule PolicyD yang lebih advanced silakan merujuk ke website PolicyD
- PolicyD versi 2 berganti nama menjadi ClueBringer, itu sebabnya aplikasinya diberi nama cbpolicyd
24 Comments
Pak Masim, Kalau server di restart apa configurasi tetap ada atau harus konfigurasi lagi, dan kalau harus configurasi lagi bagaimana caranya supaya waktu restart server configurasi tetap seperti yang sudah di setting ?
Salam
Maximillion
Tidak pak, konfigurasi akan tetap meski direstart service ataupun restart servernya,
Bos Vavai, kalau kita mengaktifkan DKIM ini apa juga membatasi pengiriman ke Distribution List yang ada di Zimbra ? Distribution list kan kadang lebih dari 100 user misalnya… ???
gan vavai, itu agan tulis “Jika anda menerapkan rule pembatasan pengiriman email untuk user tertentu (Postfix Restricted Recipient), jangan lupa menambahkan bagian : zimbraMtaRestriction check_sender_access hash:/opt/zimbra/postfix/conf/restricted_senders pada perintah zmprov mcf diatas”,
aku dah coba, tp waktu di cek “tail -f /opt/zimbra/log/cbpolicyd.log.”, user yang di blok tampaknya tidak di restriction.
apa agan vavai ga salah tulis? soalnya waktu di pembahasan “Postfix Restricted Recipient”, agan tulisnya “check_recipient_access hash:/opt/zimbra/postfix/conf/restricted_senders” bukan “check_sender_access hash:/opt/zimbra/postfix/conf/restricted_senders”
terima kasih
[…] Dilengkapi dengan Fasilitas Rate-Limit. Rate Limit adalah rule yang mampu membatasi pengiriman email dengan quota tertentu pada suatu interval tertentu sehingga jika ada compromised account atau flooding spam, email bisa dibatasi pengirimannya. Implementasinya bisa merujuk pada tulisan berikut : Tips Anti Spam : Aktivasi PolicyD & Rate-Limit Sending Message pada Zimbra Mail Server Versi 7 […]
Mas Vavai,
Untuk Policyd ini apakah bisa untuk pembatasan pengiriman attachment per user / group ?
Thanks
@Oxtamaxi :
Bisa mas, namun mesti customized konfigurasi si PolicyD-nya.
Mas Vavai,
Aku coba submit script cbpolicydQuotas.sql ke cbpolicyd.sqlitedb
Kok muncul error :
SQL error: PRIMARY KEY must be unique
Ada yang salah ngga yah dengan script-text di atas?
Mohon bantuannya Mas vavai
[…] Tips Anti Spam : Aktivasi PolicyD & Rate-Limit Sending Message pada Zimbra Mail Server Versi 7 |… […]
@Ira-Admin,
Buat file dengan nama hapusquota.sql dengan isi sebagai berikut :
Delete from policies where ID=6;
DELETE FROM sqlite_sequence;
DELETE FROM policy_members where ID=6;
DELETE FROM quotas where ID=3;
DELETE FROM quotas where ID=4;
DELETE FROM quotas_limits where ID=4;
DELETE FROM quotas_limits where ID=5;
2. Jalankan perintah ini :
su – zimbra
sqlite3 /opt/zimbra/data/cbpolicyd/db/cbpolicyd.sqlitedb < hapusquota.sql Jangan lupa path tempat file hapusquota.sql berada, misalnya kalau saya simpan di folder /srv/vavai maka perintah diatas menjadi : sqlite3 /opt/zimbra/data/cbpolicyd/db/cbpolicyd.sqlitedb < /srv/vavai/hapusquota.sql 3. Jalankan ulang policy yang sudah dimodifikasi sesuai dengan angka yang diinginkan : sqlite3 /opt/zimbra/data/cbpolicyd/db/cbpolicyd.sqlitedb < cbpolicydQuotas.sql 4. Restart Zimbra Mail Server zmcontrol restart
Mas Vavai,
apakah ada referensi manual / link tentang konfigurasi policyd ini,
butuh banget untuk penerapan pembatasan size pengiriman attachment per group / account .
Thanks …
[…] error : “warning: problem talking to server 127.0.0.1:10031″. Pesan ini muncul karena service PolicyD tidak otomatis berjalan dan untuk mengatasinya bisa menjalankan perintah : su – zimbra -c […]
[…] PolicyD adalah salah satu feature yang sangat penting terutama untuk antisipasi dari serangan SPAM. Pada tulisan sebelumnya sudah dijelaskan mengenai tata cara aktivasi PolicyD & Rate Limit Sending Message pada Zimbra 7. […]
[…] dengan konfigurasi Rate limit Sending Message pada Zimbra 7 yang dijelaskan pada artikel berikut : Tips Anti Spam : Aktivasi PolicyD & Rate-Limit Sending Message pada Zimbra Mail Server Versi 7 namun disini kita akan konfigurasi full melalui PolicyD Web […]
dear mas vavai
saya sudah ikuti tapi kenapa web policyd tidak muncul ya
saya sudah coba restart zmapachectl tetap tidak muncul mohon penjelasannya
mas vavai mau tanya,
apakah sampel contoh diatas itu 20 sent dan 50 recive dalam 1 menit itu utk per user atau total keseluruhan user menggunakan, jd user ke 21 tdk bisa kirim?
soalnya sy pernah coba set spt diatas, client bertanya tdk bisa kirim email pdhl dlm 1 menit(krg lebih) dia hanya kirim sktr 7-10 email?
terimakasih sebelumnya
[…] Buatlah sebuah policy berupa statement SQL (simpan cbpolicy.sql dengan isi sebagai berikut : (from : https://www.vavai.com/2011/03/13/tips-anti-spam-aktivasi-policyd-rate-limit-sending-message-pada-zimbra-m…) […]
[…] PolicyD adalah salah satu feature yang sangat penting terutama untuk antisipasi dari serangan SPAM. Pada tulisan sebelumnya sudah dijelaskan mengenai tata cara aktivasi PolicyD & Rate Limit Sending Message pada Zimbra 7. […]
mas vavai ada 2 hal yang ingin saya tanyakan saya set di cbpolicyD 5 email/permenit
1 .misalkan tes@abc.com adalah distribution list dan mempunyai 300 member apakah akan terkena juga
2. apakah cc juga akan terkena dampaknya apabila user mengirim satu email dengan cc lebih dari 5
mohon bantuannya mas karena sepertinya pertanyaan saya sama dengan pertanyaan “nanks306 says” akan tetapi mungkin yang dimaksud bukan DKIM akan tetapi CbpolicyD.
Mohon d bantu ya mas, bagi saya mas dan team adalah tempat bertanya yang tepat.
terima kasih
Zimbra saya ada akun palsu, setelah saya view mail pada akun2 tersebut di bagian sent item terdapat banyak spam. Gimana cara tau siapa yg membuat akun2 tersebut?apa ini bugs dari zimbra sehingga spammer bisa masuk zimbra saya?solusinya gimna? 🙁 saya jd harus cek tiap hari krna takut ada akun2 spam lg di list akun zimbra saya
[…] Sumber : https://www.vavai.com/2011/03/13/tips-anti-spam-aktivasi-policyd-rate-limit-sending-message-pada-zimbra-m… […]
[…] PolicyD adalah salah satu feature yang sangat penting terutama untuk antisipasi dari serangan SPAM. Pada tulisan sebelumnya sudah dijelaskan mengenai tata cara aktivasi PolicyD & Rate Limit Sending Message pada Zimbra 7. […]
[…] PolicyD adalah salah satu feature yang sangat penting terutama untuk antisipasi dari serangan SPAM. Pada tulisan sebelumnya sudah dijelaskan mengenai tata cara aktivasi PolicyD & Rate Limit Sending Message pada Zimbra 7. […]
apa yang saya butuhkan untuk mengubahnya sehingga batas pengguna mengirim hanya 500 email dalam sehari?