Hello,
Bruteforce attacks can happend from entire botnets, with sometimes 2000 IP's each trying to login with 1 try per minute. In such a case traditional modsecurity anti brute force rules wouldn't work (unless I haven't found out how).
What I want to do is limit per domain and not per IP.
On a nginx VPS that hosts a single site, I setup a ratelimit of 5 simultanious calls to URLS with wp-login.php and for URLs with xmlrpc.php.
No matter what IP's are used (10 different IP's or only 1 IP) when wp-login.php is called more that 5 times in one second all the following calls to these files give an error "503 ressource unavailable".
Is there an existing way to to say that for URL's that contain a specific regex, each URL can only be called X times per second (or X times simultaniously).
I already limit each IP to X times per second, but I now want to limit each URL to X times per second.
I can't do this on an URI basis, it needs to be on a comlete URL basis and block per URL as this is a shared hosting server and one account under attack shouldn't affect other accounts.
In our case this would completly resolve the whole WordPress brute force issue.
Bruteforce attacks can happend from entire botnets, with sometimes 2000 IP's each trying to login with 1 try per minute. In such a case traditional modsecurity anti brute force rules wouldn't work (unless I haven't found out how).
What I want to do is limit per domain and not per IP.
On a nginx VPS that hosts a single site, I setup a ratelimit of 5 simultanious calls to URLS with wp-login.php and for URLs with xmlrpc.php.
No matter what IP's are used (10 different IP's or only 1 IP) when wp-login.php is called more that 5 times in one second all the following calls to these files give an error "503 ressource unavailable".
Is there an existing way to to say that for URL's that contain a specific regex, each URL can only be called X times per second (or X times simultaniously).
I already limit each IP to X times per second, but I now want to limit each URL to X times per second.
I can't do this on an URI basis, it needs to be on a comlete URL basis and block per URL as this is a shared hosting server and one account under attack shouldn't affect other accounts.
In our case this would completly resolve the whole WordPress brute force issue.