26 Juli 2009

Group mail lokal dan mailbox lokal

Gue cukup seneng dengan mail server baru. Karena banyak option di Postfix yang sangat berguna untuk customization. Salah satunya, tentang group mail. Yang belom tau, group mail itu cuman alias doang. Jadi alias yang selalu ada di semua mail server, itu akan jadi masalah. Kala alias ini terbuka untuk pihak luar.

Contoh nih:

support: john, mike, mee
everyone: :include: /etc/postfix/groupmail/everyone.aliases


Dari 2 contoh di atas, ada 2 group mail. Group mail support@my.domain cuman punya 3 member. Sedangkan group mail ke 2, yaitu everyone@my.domain punya 400 lebih member.

Coba bayangkan. Kalo ada spam/virus masuk ke group mail pertama? No big deal lah. Cuman 3 user. Gemana kalo masuk ke group mail ke 2? Bisa bayangkan nggak? Sekitar 400 user (gampangnya 400PC), bakal terima hal itu. Duh .... ini bisa bener-bener bencana. Kalo cuman spam, paling komplain user saja yang krang kring melulu. Tapi gemana juga kalo virus genersi baru?. Pekerjaan tambahan untuk MIS. Karena harus beresin 400PC tadi :-D

Untuk itu di mail server baru ini, ada ide untuk membatasi group mail jadi lokal saja. Yang artinya group mail dengan banyak member, harus dibatasin cuman user lokal saja yang bisa kirim. Sedangkan user dari internet harus di tolak. Karena emang tujuan group mail ini untuk keperluan internal saja.

Well ... konfigurasinya sangat susah di Sendmail. Tapi lumayan mudah di Postfix. Untuk Sendmail (dulu), gue sampe pake Mailman. Dan ini artinya kerjaan tambahan kan? Sedangkan di Postfix, itu fasilitas build-in. Tanpa software tambahan. Di websitenya sudah sediain tutorial untuk ini. Coba cek aja ke website Postfix. Kan banyak tuh dokumentasinya. Dan link yang ini jelasin dengan cara yang simple. Bagian "Protecting internal email distribution lists".

Problemnya disini, beberapa company ada di kota laen. Juga beberapa notebook selalu mobile. Artinya, mereka diluar network kita. Dan mereka gunakan SMTP-AUTH untuk pengiriman email. Dan contoh itu nggak bisa handle hal ini.

/etc/postfix/main.cf:
smtpd_restriction_classes = local_only
local_only = permit_mynetworks, permit_sasl_authenticated, reject
smtpd_recipient_restrictions =
check_recipient_access regexp:/etc/postfix/maps/internal_only,
...

/etc/postfix/maps/internal_only:
# Local group mail here
/^everyone@(my\.domain|my\.domain2|my\.domain3)$/ local_only
# Local user here
/^user1@(my\.domain|my\.domain2|my\.domain3)$/ local_only
/^user2@(my\.domain|my\.domain2|my\.domain3)$/ local_only
...

Penggunaan "smtp_restriction_classes" di sini sangat membantu. Dengan mengijinkan "permit_mynetworks" (user lokal) dan "permit_sasl_authenticated" (user remote yg gunakan SMTP-AUTH). Dan selain ke 2 macem user itu, langsung di tolak.

Dan hal itu bisa dipake untuk ngebatasin nggak cuman group mail. Tapi mailbox juga. "user1" dan "user2", hanya bisa terima email dari dalam saja. Oya, file /etc/postfix/maps/internal_only hanya untuk definisikan group mail lokal dan mailbox lokal. Dan contoh diatas gunakan share domain. Bukan virtual domain.

Tidak ada komentar: