Solucionar un ataque xmlrpc en nginx

«Oye que nekotek no funciona» han sido las palabras que han dinamitado un ratito divertido para solucionar un fabuloso ataque DDoS que está ahora muy de moda (sobre todo en Rusia y China 🙂 ).

La idea es atacar blogs con wordpress que tengan activo XML-RPC, intentando acceder a xmlrpc.php. Que además viene activado por defecto. Algunos optan por renombrar el fichero xmlrpc, que sería una solución fácil y a la par inútil tras actualizaciones.

En nginx podemos limitar el acceso añadiendo a la configuración de nuestros servidores lo siguiente:

server {
  location ~ xmlrpc.php {
    deny all;
    allow 127.0.0.0/24;
    allow ::1/128;
  }
}

Además podemos añadir al fichero functions.php de nuestro tema de wordpress lo siguiente:

add_filter( 'xmlrpc_methods', 'remove_xmlrpc_pingback_ping' );
function remove_xmlrpc_pingback_ping( $methods ) {
   unset( $methods['pingback.ping'] );
   return $methods;
} ;