HOW? Drop A connection that is recipient guessing

Discuss your pilot or production implementation with other Zimbra admins or our engineers.
Post Reply
0ByteSolutions
Posts: 5
Joined: Mon Oct 15, 2018 3:05 pm

HOW? Drop A connection that is recipient guessing

Post by 0ByteSolutions »

Help!?!?

I am using Zimbra Collaboration Open Source 8.8.10 & I need to find a way to immediately drop a connection from a BotNet that keeps trying to exploit my server for SPAM. I get these admin reports daily:
I'm currently using Fail2Ban - and it works - AFTER the connection is aborted by the offending server. I need to find a way to IMMEDIATELY sever the connection (DROP the ESTABLISHED connection) after, say the 3rd, bad account guess. The IP address gets banned using fail2ban and ufw (or iptables) but continues to guess usernames until it gives up. Is there a Zimbra command that I can enable the KILLS the connection if they guess 3 bad recipient addresses??
User avatar
zimico
Outstanding Member
Outstanding Member
Posts: 225
Joined: Mon Nov 14, 2016 8:03 am
Location: Vietnam
ZCS/ZD Version: 8.8.15 P3
Contact:

Re: HOW? Drop A connection that is recipient guessing

Post by zimico »

Hi,
You can have a look at DosFilter: https://wiki.zimbra.com/wiki/DoSFilter

Best regards,
Minh.
0ByteSolutions
Posts: 5
Joined: Mon Oct 15, 2018 3:05 pm

Re: HOW? Drop A connection that is recipient guessing

Post by 0ByteSolutions »

zimico, almost but not quite... They're not trying to guess accounts to log into, they are trying to randomly deliver SPAM.

Here's an except fom my logs to show what I'm trying to combat:
Mar 3 07:19:58 zsrv postfix/smtpd[3949]: connect from unknown[185.143.223.170]
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<explain@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10024; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<explain@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: reject: RCPT from unknown[185.143.223.170]: 550 5.1.1 <explain@domainname.net>: Recipient address rejected: domainname.net; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<explain@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<them@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10024; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<them@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: reject: RCPT from unknown[185.143.223.170]: 550 5.1.1 <them@domainname.net>: Recipient address rejected: domainname.net; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<them@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<logical@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10024; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<logical@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: reject: RCPT from unknown[185.143.223.170]: 550 5.1.1 <logical@domainname.net>: Recipient address rejected: domainname.net; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<logical@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<replace@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10024; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<replace@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: reject: RCPT from unknown[185.143.223.170]: 550 5.1.1 <replace@domainname.net>: Recipient address rejected: domainname.net; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<replace@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<consequence@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10024; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<consequence@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: reject: RCPT from unknown[185.143.223.170]: 550 5.1.1 <consequence@domainname.net>: Recipient address rejected: domainname.net; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<consequence@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<initially@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10024; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<initially@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: reject: RCPT from unknown[185.143.223.170]: 550 5.1.1 <initially@domainname.net>: Recipient address rejected: domainname.net; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<initially@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<salary@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10024; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<salary@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: reject: RCPT from unknown[185.143.223.170]: 550 5.1.1 <salary@domainname.net>: Recipient address rejected: domainname.net; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<salary@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<hungry@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10024; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<hungry@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: reject: RCPT from unknown[185.143.223.170]: 550 5.1.1 <hungry@domainname.net>: Recipient address rejected: domainname.net; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<hungry@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<varied@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10024; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<varied@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: reject: RCPT from unknown[185.143.223.170]: 550 5.1.1 <varied@domainname.net>: Recipient address rejected: domainname.net; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<varied@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<complaint@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10024; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<complaint@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: reject: RCPT from unknown[185.143.223.170]: 550 5.1.1 <complaint@domainname.net>: Recipient address rejected: domainname.net; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<complaint@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<half@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10024; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<half@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:19:59 zsrv postfix/smtpd[3949]: NOQUEUE: reject: RCPT from unknown[185.143.223.170]: 550 5.1.1 <half@domainname.net>: Recipient address rejected: domainname.net; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<half@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
Mar 3 07:20:00 zsrv postfix/smtpd[3949]: NOQUEUE: filter: RCPT from unknown[185.143.223.170]: <4clehjkwkzbrvr45@jmb-production.fr>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<4clehjkwkzbrvr45@jmb-production.fr> to=<outdoors@domainname.net> proto=ESMTP helo=<[185.143.223.170]>
You can see the forged from address trying to guess a valid recipient. I'd like to abort the connection after the 3rd or 4th "guess" and PERMANENTLY BAN the IP address.

Using Fail2Ban on the log files, I can successfully BAN the IP, but the connection stays live until the SPAM bot gives up allowing them to continue to guess random accounts.
User avatar
DualBoot
Elite member
Elite member
Posts: 1326
Joined: Mon Apr 18, 2016 8:18 pm
Location: France - Earth
ZCS/ZD Version: ZCS FLOSS - 8.8.15 Mutli servers
Contact:

Re: HOW? Drop A connection that is recipient guessing

Post by DualBoot »

Hello

Emergency command :
iptables -I INPUT -s 185.143.223.170 -j DROP

Then as a previous user has written : use Fail2Ban
associated with iptables-persistent package.

Regards,
Post Reply