Grazie a Wordfence, ottimo plugin per la sicurezza, mi sono accorto di una sfilza di login falliti verso il mio blog personale provenienti da una serie di IP. Ho così scoperto che c’è una botnet che cerca di trovare la password di vari siti WordPress nel mondo tramite forza bruta e una serie di richieste POST verso il file xmlrpc.php di WordPress.
Tralasciando il fatto che prima o poi questi attacchi possano andare a segno, va anche detto che tutte queste richieste facevano crescere il consumo di RAM abituale del mio VPS. Così ho cercato qualche strategia per mitigare l’ondata, perché il blocco degli IP non era molto efficace, questi masnadieri ne hanno a disposizione parecchi e non usano ripetutamente lo stesso.
Ho così scoperto su WordPress.org un modo molto simpatico per risolvere il problema alla radice: in pratica quando viene rilevato uno di questi attacchi, viene effettuato un redirect di Apache verso l’IP di provenienza; un po’ come quando da bambini si usava la tecnica dello “specchio riflesso“.
<IfModule mod_rewrite.c> RewriteCond %{HTTP_USER_AGENT} ^.*WinHttp\.WinHttpRequest\.5.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteCond %{REQUEST_URI} ^/xmlrpc\.php$ RewriteRule .* http://%{REMOTE_ADDR}/ [R,L] </IfModule>
Rispetto all’utente Tigr come potete vedere ho aggiunto due condizi0ni per poter essere più granulare sulle richieste, visto che nel mio caso molti di questi attacchi venivano perpetrati con USER AGENT nullo.
Image credits: Make It Bubble.