Over time, I'm seeing a pattern change in how hackers/botnets seem to behave, and it's largely evading what's been a pretty consistent set of antispam controls in AMS. Largely for spam mails, the included controls are already pretty sufficient; what I'm seeing a lot more of is attempts to login, and there's need to improve the toolset.
In the before-time, it used to be the same IPs that would hammer my server, or the same subnets, so repeated attempts by the same IP in short amounts of time were very common. More recently, there will be flurries of login attempts every few minutes by ranges of IPs such that the same IP doesn't try to brute force that often, bypassing a lot of the built-in tools. I have extended the anti-hammering 'remembering' buffer, but I think we need a few robust additions; I've used IPBan for some time with AMS with some success, but even there, the tools aren't quite as efficient as they could be.
Some suggestions for updates:
(1) allow an insta-ban of any unknown username, either domain-by-domain or across the server
Plenty of logins attempt unknown or bad addresses, and any failed attempt from an IP should be able to be banned immediately. Having an option to ban for X period of time and/or permanently would be helpful.
(2) allow bans of repeated username logins regardless of IP
These spurts of login attempts often come from several different IPs in a row using the same username or email address. I'd like to ban for X period of time and/or permanently when a failed login attempt for any known username occurs from X different IPs in Y amount of time. For my server, I would ban upon 2 failed login attempts from 2 or more different IPs w/i an hour of each other, as that's very very rarely ever going to occur.
(3) geo-banning
A useful part of IPBan is being able to instaban from IPs from certain countries; I'm never going to have people logging in from countries like Russia / China / etc. and it would be nice to cut out botnet IPs from a list of countries users are never going to be visiting
(4) third-party APIs
https://ipthreat.net for example is a list of submitted bad IPs not just for spamming but other bad-actor activities; if we could utilize lists like that that for logins the same way we can use Real-Time Blacklisting (or be able to use those APIs in RBL settings), that would help cut down a LOT of the chaff
(5) Add login check to the SpamTrap filter
currently AFAIK spamtrap email addresses will only trigger if an email is sent to them; it'd be nice to (a) be able to trigger on a login attempt using that address as well