Plugins de seguridad WordPress imprescindibles para mantener a los hackers a raya

Hacer que tu sitio web sea seguro no es cosa de una sola acción. No es un interruptor que puedas cambiar a “SEGURO” y luego no volver a preocuparte por él. La seguridad web está integrada en capas. El objetivo de cada capa es conseguir que a los malos entrar les sea un poco más difícil. Nuestro objetivo es colocar las capas suficientes para que se rindan y se vayan a por otra web con menos capas.

Exactamente, ¿qué es la “seguridad WordPress”?

Muchos propietarios de sitios web con los que hablo piensan que la seguridad de WordPress es un plugin que instalan o un servicio que compran. Nada mas lejos de la realidad. La seguridad es una forma de pensar, no es algo específico. Es algo en lo que debes pensar en cada decisión que tomes sobre tu sitio web.

  • ¿Quieres un tema nuevo? ¿Cuál es la reputación de los desarrolladores de temas en cuanto a seguridad?
  • ¿Quieres agregar un nuevo plugin? ¿Cómo es de seguro es? ¿Se ha informado de alguna vulnerabilidad en él?
  • ¿Quieres contratar a un nuevo desarrollador? ¿Qué tienen los demás que decir sobre su trabajo? ¿Su código es seguro?

Cada decisión que tomes debe estar envuelta en la pregunta “¿Cómo afectará esto a la seguridad de mi web?” Si no puedes decir con certeza que la respuesta a esa pregunta es aumentarla o al menos no dañarla, entonces necesitas reconsiderar la decisión.

La otra analogía que uso mucho es que la seguridad no es una acción específica, sino una serie de capas que añades en tu sitio.

  • La capa superior es un firewall de red.
  • La siguiente capa es el firewall de tu aplicación (en WordPress, esto suele ser un complemento)
  • La siguiente capa son las contraseñas seguras.
  • La siguiente capa es la verificación de dos pasos
  • La siguiente capa es mover tu directorio wp-admin a un nombre diferente.
  • La siguiente capa, no usar el nombre “admin” para iniciar sesión.
  • La próxima capa es deshabilitar XML-RPC.

Ninguna de estas cosas por sí sola hará que tu sitio sea seguro. Sin embargo, todas juntas pueden hacer que tu sitio esté suficientemente protegido para que los malos se vayan a por otra web con menos seguridad. Otra buena noticia es que hoy en día puedes proteger fácilmente tu sitio web alojándolo en un hosting de alta calidad que esté comprometido con la seguridad.

La instalación de un certificado SSL no está en la lista anterior porque tener un certificado SSL no es una medida de seguridad, es algo que debes hacer sí o sí cuando configuras todos y cada uno de tus sitios web. Mejoran su seguridad y su clasificación en los motores de búsqueda. Dado que ahora son gratuitos, no hay absolutamente ninguna razón para que un sitio web se ejecute sin uno. Además, para hacértelo aún más fácil, en SiteGround instalan en tu web de forma gratuita el certificado SSL por ti poco tiempo después de crearla dentro de su hosting.

>> Si te interesa saber más sobre la seguridad WordPress, descárgate ahora nuestro eBook gratuito 21 Consejos para mantener tu WordPress seguro <<

¿Cuáles son los mejores plugins de seguridad WordPress para proteger cada capa de tu web WordPress?

La mayoría de las personas necesitarán algo de tiempo para crear la configuración en capas descrita anteriormente. Como mencioné anteriormente, casi todo se puede lograr en estos días aunque no seas un webmaster técnico. Dicho esto, si pensar cómo proteger tu web te pone nervioso o no estás seguro de tu capacidad para dedicar tiempo a hacer las cosas bien, contrata a alguien en quien confíes para que lo haga por ti.

Firewall de red

Si está utilizando un proveedor de hosting de buena reputación como SiteGround, ellos se encargarán de configurarlo por ti. Si no estás seguro de si tu hosting te brinda este servicio, pregúntale. Si no obtienes un “Sí, le proporcionamos un firewall a nivel de red”, muy claro. Considera buscar un nuevo hosting que sí lo tenga.

Firewall de aplicación

En el ecosistema de WordPress, un Firewall de aplicación generalmente significa un plugin. Hay varios buenos con una sólida reputación para elegir. Por lo general, no recomiendo plugins específicos porque tan pronto como lo hago, alguien me escribe para decirme en qué están equivocadas mis recomendaciones. Aún así, dado que muchos usuarios me han pedido recomendaciones sobre plugins de seguridad, voy a romper mi regla y hacer algunas. Es importante tener en cuenta que estos no están en ningún orden en particular.

Por cierto, la mayoría de estos plugins hacen mucho más que simplemente ser un Firewall a nivel aplicación, como por ejemplo:

  • Escaneo de malware
  • Auditorías de seguridad
  • Endurecimiento de la seguridad
  • Firewall del sitio web

Algunas de las empresas detrás de estos plugins también ofrecen eliminación de malware y limpieza de sitios pirateados. Si buscas tranquilidad, es una gran característica.

Jetpack

Jetpack es el plugin ómnibus de Automattic. Tiene muchas funciones y la mayoría no se ocupan de la seguridad. Sin embargo, tiene algunas características de seguridad integradas. Si ya tienes Jetpack instalado, considera comprar las funciones de seguridad.

Si actualmente no tienes Jetpack instalado y no necesitas ninguna de las otras funciones, es posible que esta no sea la mejor solución.

Sucuri Security

Sucuri tiene ya experiencia y una gran reputación. Además de ofrecer un firewall de aplicaciones web, Sucuri ofrece muchas otras características:

  • Eliminación de malware y limpieza de pirateo
  • Mitigación avanzada de DDoS
  • Frecuencia de escaneo de malware y piratería

Estas tres características son importantes y están cubiertas por su nivel básico.

iThemes Security Pro

Actualmente no lo estoy usando, pero cuando sí lo hacía era uno de los mejores, si no el mejor, del mercado. (Es importante tener en cuenta que no creo que el plugin fuese a peor de ninguna manera, simplemente mis necesidades cambiaron).

Lo único que recuerdo sobre este plugin es que su página de administración es compleja. Asegúrate de reservar algunas horas durante un par de días para leer y comprender todas las opciones disponibles para que puedas tomar las decisiones correctas. Este consejo es igualmente aplicable a todos los plugins de seguridad.

A diferencia de otros plugins, iThemes te ofrece todas las funciones en todos los niveles de precios. La diferencia de precio se basa en la cantidad de sitios que desees proteger.

Contraseñas seguras

Aunque hay plugins disponibles para esta capa, afortunadamente el soporte de contraseñas está integrado en el núcleo de WordPress. Te recomiendo encarecidamente que apliques contraseñas seguras a cualquier usuario que tenga una seguridad superior a Invitado o Suscriptor en tu web. Si pueden administrar algo, deberían tener al menos una contraseña segura.

WP 2FA

La verificación en dos pasos (2FA) es una de las tecnologías más nuevas que han llegado a la web, pero es importante. Los inicios de sesión y las contraseñas se pueden robar online, pero un teléfono no. Al añadir 2FA como una capa a tu seguridad, haces imposible que alguien acceda a tu sitio web solo porque consiguió tu nombre de usuario y contraseña.

Un plugin que he usado durante años para implementar la verificación en dos pasos es WP 2FA. Solo hace eso. Si ya tienes un firewall de aplicaciones que implementa la verificación en dos pasos, úsalo, pero si no lo hace, WP 2FA es una buena opción.

…y el resto

Las otras capas aún necesitan ayuda. Probé combinaciones de docenas de plugins diferentes para implementarlos y cada vez algo diferente no salió bien. Si bien me encanta el concepto de “un plugin, una función” A veces los plugins no funcionan bien entre sí y luego terminas con un lío entre tus manos.

Es por eso que me emocioné cuando SiteGround lanzó su propio plugin de seguridad WordPress, SiteGround Security. Envuelve muchas capas de seguridad en un solo plugin.

[subscribe_cta]

SiteGround Security: el plugin todo en uno para la seguridad WordPress

Este es un recién llegado al grupo, pero ya se ha convertido en mi plugin de seguridad favorito. Ya lo tengo instalado en 4 de mis instalaciones de WordPress, solo una de ellas está alojada en SiteGround.

SiteGround Security viene con muchas características de seguridad. Cada una de ellas se puede activar o desactivar en un clic sin interferir con el resto de funciones. Mis 4 características favoritas del plugin son las siguientes:

  • Autenticación de dos factores
  • Deshabilitar XML-RPC
  • Deshabilitar el nombre de inicio de sesión “admin”
  • Bloquear y proteger las carpetas del sistema

He instalado plugins independientes que hacían cada una de estas cosas y siempre terminaba eliminando el plugin porque no hacía el trabajo como yo quería o se convertía en “abandonware” y retrasaba la actualización de mi sistema.

En cambio, SiteGround Security integra las cuatro funciones importantes en un solo plugin y, debido a que fue creado por SiteGround, sé que no se abandonará.

Hace mucho más que estas 4 cosas, pero estas son las más importantes para mí. Para ver todo lo que puede hacer, ¡lo mejor es que lo instales y lo compruebes por ti mismo/a! Está disponible tanto para webs alojadas en SiteGround, donde el plugin viene preinstalado en las nuevas instalaciones de WordPress, como para webs alojadas en otros proveedores de hosting.

Concluyendo sobre la seguridad WordPress

Dedicar tiempo a pensar en mantener tu web segura siempre es tiempo bien invertido. Es aún más importante ahora que estamos en tiempo de vacaciones. Asegurarte de estar actualizado/a y lo más protegido/a posible significa que puedes dedicar menos tiempo a preocuparte por tu web y tener más tiempo para disfrutar de tus vacaciones.

Recuerda, el objetivo de la seguridad no es bloquear el sistema firmemente para que nadie pueda acceder a él, porque entonces … bueno, nadie podría entrar. El objetivo de la seguridad es hacerlo lo suficientemente difícil para que los malos se vayan a por otra web en la que sea más fácil entrar.

“La seguridad es un viaje, no un destino.”

Cal Evans

¿Qué es XMLRPC y cómo esta reliquia amenaza la seguridad de tu web WordPress?

Ilustración sobre XMLRPC

En el directorio raíz de cada sitio de WordPress hay un archivo más antiguo que el propio WordPress: xmlrpc.php, que durante los días b2 se creó para ofrecer a los sitios una forma de comunicarse entre sí y para que otras aplicaciones se comunicasen con el blog.

¿Qué es XMLRPC?

El nombre te dice todo lo que necesitas saber sobre la funcionalidad.

XML: se diseñó para aceptar cargas útiles en XML. JSON es hoy en día un formato mucho más común. XMLRPC es bastante anterior a JSON.

RPC: RPC significa llamada a procedimiento remoto (Remote Procedure Call). Era un estándar por el cual un sistema podía pedir a otro sistema que hiciera algo. Ahora usamos API-REST o Graph API – para hacer lo mismo, pero antes de que existieran, RPC era una de las herramientas disponibles.

¿Cómo funciona XMLRPC?

Para hacer que XMLRPC.php hiciera algo, tenías que enviarle (POST) un mensaje. Si no estás familiarizado con el funcionamiento de los navegadores, esto es básicamente como hacer clic en el botón “Enviar” en un formulario. Eso suele iniciar una solicitud POST.

Si realizas una solicitud POST a tudominio.tld/xmlrpc.php y le entregas una carga útil XML con el formato adecuado, puedes hacer cosas como crear una publicación en tu web.

Una de las cosas para las que XMLRPC se utilizó mucho en su día fueron los “pingbacks”. Esos comentarios que ves en publicaciones que muestran que alguien más lo enlazó desde su blog.

Amenazas potenciales de seguridad del XMLRPC de WordPress

Durante mucho tiempo, XMLRPC fue una herramienta útil. Ahora toda la funcionalidad para la que se usaba XMLRPC se maneja mediante la API REST, ya incorporada. Aunque ya no se use, es una función todavía activa y a aquellos que sienten nostalgia por tales cosas, les causa una sonrisa. Sin embargo los que están preocupados por la seguridad, lo ven y fruncen el ceño.

La presencia de XMLRPC representa varios riesgos de seguridad para sitios WordPress que pueden llegar a convertirse en ataques severos.

  • Ataques de fuerza bruta a través de XMLRPC

El primer tipo de ataque XMLRPC de WordPress es un simple ataque de fuerza bruta. Dado que parte de la carga útil XML que se pasa a WordPress es el nombre de usuario y la contraseña del usuario que desea realizar la acción, es una manera fácil para que los atacantes prueben combinaciones de nombre de usuario y contraseña hasta que encuentren una que funcione. Muchos propietarios de sitios preocupados por la seguridad limitarán la cantidad de intentos de inicio de sesión que un usuario puede realizar antes de bloquearlos, pero no se molestarán en bloquear las solicitudes XMLRPC, lo que dejará una puerta trasera abierta para que los atacantes intenten encontrar una entrada.

Una vez que un atacante encuentra las credenciales que funcionan, puede intentar dañar tu sitio inyectando contenido en la base de datos del mismo. Ya sean publicaciones, páginas o solo comentarios, el resultado final es el mismo: tu sitio ofrece contenido que no aprobaste y que probablemente no deseas. No obstante, en el peor de los casos, podrían ser publicaciones o comentarios inocuos que tengan malware inyectado.

  • Ataques DDoS usando XMLRPC

Otro de los beneficios de XMLRPC fue la habilitación de pingbacks. Los ciberdelincuentes pueden usarlo para bloquear tu servidor emitiendo muchas solicitudes pesadas a la vez.

Un pingback escribe un registro en tu base de datos, y escribir en tu base de datos es una tarea costosa en cuanto a recursos. Si bien un solo pingback no perjudicaría el rendimiento de tu sitio, cientos o incluso miles de ellos a la vez pueden poner de rodillas incluso al servidor más robusto.

Esto se denomina ataque DDos o de denegación de servicio distribuido. Distribuido porque normalmente no es una sola máquina la que realiza todas las solicitudes, normalmente son un gran número de máquinas repartidas por diferentes lugares.

Cómo deshabilitar XMLRPC en WordPress

Hay varias formas de deshabilitar XMLRPC. Te recomiendo que lo hagas porque sinceramente, no lo necesitas.

  • A través del archivo de configuración de tu servidor web 

Si estás familiarizado con el bloqueo de solicitudes a través de los archivos de configuración de tu servidor web y tienes acceso a ellos, ésta es una excelente manera de bloquearlo. Para Apache, puedes agregar este código al archivo .htaccess en el directorio raíz de tu sitio.

<Files xmlrpc.php>

order deny,allow

deny from all

</Files>

Eso lo detendrá en seco.

  • A través del archivo functions.php de tu tema

Si no eres de los que te gustan mucho los archivos de configuración de tu servidor web, puedes agregar una sola línea de código al archivo functions.php de tu tema.

add_filter( ‘xmlrpc_enabled’, ‘__return_false’ );

Asegúrate de hacerlo bien, hay 2 guiones bajos antes de la palabra retorno. De nuevo, esto lo desactivará pidiéndole al propio WordPress que no desea aceptar más solicitudes XMLRPC.

  • Instalar un plugin

Finalmente, si no quieres molestarte en agregar código al functions.php de tu tema, puedes deshabilitar XMLRPC en WordPress instalando un plugin. El plugin hace exactamente lo mismo que el consejo anterior. Hay varios plugins buenos que son gratuitos, pero también es posible que ya tengas esta funcionalidad disponible si tienes instalado algún plugin que incluya Firewall de aplicaciones.

Si no es así, permíteme recomendarte mi favorito y el que uso en todos mis sitios para desactivar XMLRPC: plugin SiteGround Security. Incluso si no estás alojado en SiteGround, puedes usar este plugin gratuito para administrar varias tareas de seguridad diferentes. Si solo deseas que desactive XMLRPC, desactiva todas las demás opciones. Ésa es una de las cosas que me gustan de este plugin: todo es opcional.

XMLRPC nos sirvió bien en su día, pero su tiempo ya ha pasado. Es hora de dejar que se retire con gracia. Hasta que los desarrolladores principales de WordPress decidan que es hora de eliminarlo, debes protegerte a ti mismo y a tu sitio desactivándolo.