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;
} ;

Recursos para Temas de WordPress

Desde que tenemos el blog nekotek.com, llevo pensando en cambiar el diseño drásticamente. No coger un tema de WordPress y modificarlo, si no crear uno desde cero adaptado a nuestras necesidades. Buscando, y leyendo he ido encontrando tutoriales y recursos que me parecen útiles para crear un tema de WordPress (¿o sería mejor dejarlo como WordPress theme?).

Un tema minimalista se puede crear únicamente con 2 ficheros:

  • index.php
  • style.css

WordPress, siguiendo su jerarquía de plantillas, si no encuentra una en particular termina buscando index.php. La hoja de estilos también es obligatoria y debe tener un comentario al inicio con una estructura básica de la definición del tema.

Antes de comenzar a diseñar nuestro tema, recomiendo ver este post «The anatomy of a WordPress theme«, que nos muestra gráficamente y de una manera sencilla cuál es la estructura básica de un tema. Para continuar, recomiendo la lectura de «Theme Development«, de la documentación de WordPress, en la cual hay mucha otra información interesante. Casi toda está en inglés, no hay mucha información de calidad en español.

Y ya por último, si nos hemos quedado con ganas, existen algunos libros dedicados a este tema, cuya versión en kindle es más cara que la de papel (WTF!):

¡Ya no hay excusa para no hacer nuestro propio tema para WordPress! Bueno, sí, la falta de tiempo o no tener ni idea de HTML, CSS y PHP. Pero puede ser una buena puerta a aprenderlos.