Re: Rate-limiting to halt brute-force attack

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 16, 2012 at 09:22:35AM -0500, Dimitri Yioulos wrote:
>  A few days ago, a major brute-force attack was launched 
> against our (sendmail) mail server. It looks like a bot is 
> aiming lots of zombies at us. Here's how OSSEC hids reports 
> an attempt from one of the zombies:
> 
> OSSEC HIDS Notification.
> 2012 Nov 13 09:08:16
> 
> Received From: (plymouth) 192.168.1.2->/var/log/messages
> Rule: 40111 fired (level 10) -> "Multiple authentication 
> failures."
> Portion of the log(s):
> 
> Nov 13 09:07:44 plymouth ipop3d[29926]: Login failed 
> user=hod auth=hod host=201-93-132-240.dsl.telesp.net.br 
> [201.93.132.240]

This is not Sendmail. This is ipop3d.

> Nov 13 09:07:44 plymouth ipop3d[29925]: Login failed 
> user=lee auth=lee host=201-93-132-240.dsl.telesp.net.br 
> [201.93.132.240]

Yep, this is a spammer looking for credentials for SMTP AUTH, 
probably, so it eventually could be targeted at Sendmail.

> To remediate, I've put fail2ban in place on the mail server, 
> and it's working. However, the attacks are still beating at 
> the door, and it's significantly increased the load on the 
> mail server . I'm now thinking of adding rules to our 
> iptables/Netfilter firewall to rate-limit the brute-force 
> connections. The rules I'd add are these:
> 
> iptables -A INPUT -p tcp --dport 110 -m state --state NEW -m 
> recent --set
> 
> iptables -A INPUT -p tcp --dport 110 -m state --state NEW -m 
> recent --update --seconds 15 --hitcount 3 -j DROP

First, I would not apply this only to POP3 (a protocol which should 
have died out 10+ years ago! IMAP can do it all, and better!) I'd 
apply this to "-m multiport --dports 110,143,465,587,993,995" to 
cover all the potential attacks, omitting any of those that you're 
not providing service on.

No, 25 is not in that list. I'm not sure how safely to limit 
connections on 25, since MTAs are automated processes. Normal 
non-spam MUAs are driven by a human.

Second, I'm not sure that 3 in 15 seconds is safe. MUAs are semi- 
automated, and it's possible that a real user could trigger that. I 
might try something like 5 in 10 seconds, and a secondary check for 
more, maybe 10 in 30 seconds.

> As the mail server sits in a DMZ, and packets are forwarded 
> to it, is the INPUT chain the best place to put these 
> rules, or should they go in the FORWARD chain (with 
> appropriate modifications)?

The mailing list is not a substitute for the man page. Packets which 
are forwarded through a host do not hit that host's INPUT chain. 
Please do take the time to learn what each built-in chain is for.

> Of course, I don't want to stop legitimate mail. Is this the 
> best course of action?

Mail exchange is done with SMTP on the "smtp" port, 25. POP3 is a 
protocol for users' access to a mailbox.

http://en.wikipedia.org/wiki/Post_Office_Protocol
-- 
  http://rob0.nodns4.us/ -- system administration and consulting
  Offlist GMX mail is seen only if "/dev/rob0" is in the Subject:
--
To unsubscribe from this list: send the line "unsubscribe netfilter" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux