Wordpress vulnerability against bruteforce attacks(xmlrpc.php)
We have been experiencing server problems since last week. Normally we have varnish on front so we thought we were immune to server resource problems etc, but since last wednesday we had occasional server lags, 500 errors etc. We have seen server resources is being consumed with requests, for some reason varnish was not serving static html files.
Our wordpress core and plugins is updated to latest versions and there were no configuration problems.
When we checked the logs we have seen that these 3 files have been taking huge amount of hits from bruteforce attacks:
- xmlrpc.php
- wp-cron.php
- wp-login.php
And since our varnish conf is set to bypass requests coming to these files, bots have been consuming huge amount of server memory, thus leading to server lags and 500 errors due to timeouts.
First we tried to redirect coming requests by .htaccess but soon realised it was not a good idea because bots posting bruteforce login info to index.php were bypassing varnish cache again and still using server resources.
We have disabled the wp-cron and xmlrpc and changed the login.php to another name. Right now everything seems normal. Bots attacks are stilll going on but not consuming system resources anymore.
I just wanted to post here so it might be helpful to others, since these bot attacks is spreading like wildfire.
Some links on the issue: http://www.saotn.org/huge-increase-wordpress-xmlrpc-php-post-requests/
http://blog.sucuri.net/2014/07/new-brute-force-attacks-exploiting-xmlrpc-in-wordpress.html
Posted Aug 26, 2014, 1:55 PM UTC
You should set up serverside configuration to block IP addresses that are doing these sorts of attacks. The company I recently left had a server with around 50 wordpress sites on it and we got about 100+ unique IPs doing driveby bot attacks through various methods on a daily basis (everything from trying to log in to phpmyadmin to wp-admin to mail), I just set the server up to auto IP ban anyone who failed credentials repeatedly within 5 minutes. It's a jungle out there. Our server's ban list was several tens of thousands of IP addresses long.