We often use HAProxy when deploying zimbra in large environment for load balancing traffic espesially in MTA services port 25, 465 and 587. but using default configuration in haproxy and zimbra affecting sender IP will be read as HAProxy server’s IP, so we cannot trace email by it’s origin IP. this is a big issue when dealing with spammer either from outside or internal.
Luckily there are option in postfix for read original IP from traffic that was sent by haproxy. the configuration are postscreen_upstream_proxy_protocol (if using postscreen as it’s a default in smtp port 25 since zimbra 8.7) and smtpd_upstream_proxy_protocol then from haproxy side by adding send-proxy option.
So here’s the steps for configuring it:
Continue reading “Using HAPROXY Against Zimbra MTA Services, reveal origin IP”
In ClearOS We can set Ldap service listen to all interface by setting Publish Policy option to All Networks, but maybe for security concern the service was not for ldap but ldaps (SSL ldap protocol) which listen in port 636.
Because there is an application that will be using ClearOS ldap as authentication backend cannot using ldaps (as it’s been hardcoded from vendor) so we need to force ldap (port 389) service to listen in all IP.
So here’s the steps.
- Edit init service for slapd
- Go to line number 72 then add following lines.
for ip in $AUTOMAGIC_LANIPS; do
- Save and exit, then restart slapd service to apply the changes
service slapd restart
- Make sure the modified file will not replaced if there is update for package openldap-servers (do as your own risk)
- Under section [main] add following line
- make sure ldap service port are listening to all available IP.
netstat -tnap | grep LISTEN | grep 389
Some of our Zimbra customers are complaining for authenticated user can customizing FROM header which can lead to fraud email. this issue can be reproduce by using thunderbird once compose an email as following picture.
or by using this script, change variables username, password, fake_from and to_addr based on your environment.
I created customized milter engine using python milter library for my workaroud with following features:
Continue reading “[ZIMBRA] Prevent User Customizing “FROM” header”
For example you want to fetch all task list which has branch in it as this picture.
You can fetch them using soap call Search for filter recursively task folder from root dir (/) and GetFolder for fetch task detail, here’s the example script of using mentioned soap call.
Continue reading “Getting all Zimbra Task Through SOAP”
First install development package for compiling latest pscyopg2 package.
Note: make sure the version of postgresql server that will be remote using pgAdmin4 is 9.0 above.
sudo apt-get install python-dev postgresql-server-dev-9.5
Continue reading “Installing pgAdmin4 (desktop mode) in Ubuntu”
Sometime our customer that use Zimbra has frequent issue in internal spammer because weakness in user password so i created a script to scanning it then we can push the user to use the hard one. maybe it’s quite similar as my previous post
Continue reading “Zimbra Weak Password Scanner”
I made script to make mailman3 installation easy (automated) based on my experience installing it manually. for installation guide and prerequisite condition you can see in it’s repository here https://github.com/iomarmochtar/mailman3_ei
Here’s the post installation topics that may you need:
Continue reading “Mailman3 Easy Installation”
if you have similar needs for using django template outside django project then this snipped will be useful.
As my previous post about enhancing password policy in ClearOS i mentioned about create simple PHP script for detecting user which using weak password. so i’d like to share it.
Continue reading “ClearOS 6 weak password scanner”
Our customer using ClearOS 6 (professional edition) to store user password and almost all applications using it as external authentication so user only has to remember one password and Zimbra is one of the application.
Recently the public IP that used as mail outgoing traffic being listed in RBL and by our check in server we found there are some user account has been hijacked so it’s sending spam email to outside domain (gmail.com, outlook.com, etc) then i set suspected status to close in zimbra also reset it’s password randomly but it’s happen quite frequently.
Then i created simple php script using clearOS API to scan weak password (based on list), surprisingly there are bunch of user using weak password such as “Passwd11”, “Paasword88”, etc. so i conclude the builtin password policy in ClearOS is not good enough to prevent it.
Based on my experience create and modifying ClearOS module (as it’s just a PHP code) i modified ClearOS user module. to increase password policy by following criteria:
- Maximum length
- Minimum length
- Minimum uppercase
- Minimum numeric character
- Minimum punctuation character
- Forbid user to use username within password
- Forbid user to use password that listed in weak password list.
Continue reading “Enhance ClearOS 6 Password Policy”