Guía de seguridad en WordPress

WordPress es actualmente la plataforma más utilizada para la creación de todo tipo de webs, lo que la convierte en el principal objetivo de hackers. Por eso es imprescindible aumentar la seguridad en WordPress a través de plugins y otro tipo de acciones manuales.

Seguridad en WordPress

 Medidas de seguridad durante la instalación

Hay varias configuraciones que debemos tener en cuenta durante la instalación de WordPress en nuestro servidor.

Aunque también pueden hacerse después, siempre es mejor hacerlas durante la instalación para evitar posteriores dolores de cabeza.

Si todavía no tienes un blog con WordPress, evita futuras complicaciones y haz al menos lo siguiente durante su instalación:

1Utiliza nombres “raros” y contraseñas seguras para las bases de datos. Emplea caracteres alfanuméricos para el nombre de tu base de datos que poco tengan que ver con tu blog (ej: gs47Gd2S) así como una contraseña tanto con caracteres alfanuméricos como con caracteres especiales.

El nombre de usuario asignado a la base de datos también debe contener letras y números, además de ser distinto al nombre de la base de datos.

2Cambia el prefijo utilizado por defecto en WP: esto puede cambiarse en el archivo wp-config-sample.php que posteriormente debes renombrar a wp-config.php.

Sobre la línea 65 verás que el prefijo por defecto es “wp_”, cámbialo por una combinación alfanumérica de mínimo 7 caracteres. Ej: “er4Y2sO21_”

3Usa las claves secretas de WP: también en el archivo wp-config.php, normalmente a partir de la línea 45, verás varias claves. Genera unas aleatorias pinchando aquí y cópialas ahí.

Claves Seguridad WordPress

4Cambia la ruta de las imágenes: esto puede suponer un punto extra de seguridad y casi nadie lo hace. La carpeta utilizada por defecto, wp-uploads, es objetivo de muchos de los ataques que se producen en WordPress.

Puedes cambiarla por otra añadiendo en el archivo wp-config.php la línea “define( ‘UPLOADS’, ‘nombre de la carpeta’ );” (sin comillas) al final.

Lógicamente deberás sustituir el nombre de la carpeta por el que quieras. Posteriormente deberás crear esa carpeta en el servidor y borrar la original llamada wp-uploads.

Además conseguirás direcciones más cortas y amigables, lo que puede ser de ayuda para un mejor posicionamiento de las imágenes en Google.

Por último borra todos aquellos archivos que únicamente sirvan para proporcionar información: los típicos readme.html, license.txt… Y al menos los archivos install.php e install-helper.php en la carpeta wp-admin.

Los mejores plugins de seguridad para WordPress

Como suele ser habitual en WordPress, tienes 2 opciones: utilizar varios plugins para cada función o utilizar un “todo en uno” que cubra la mayoría de ellas. Esta última es la más recomendable.

Personalmente el All in One que más me gusta por resultados y sencillez de uso es WordFence. Te permite monitorizar la actividad de tu sitio y detectar comportamientos sospechosos.

Además de otras opciones interesantes como limitar el número de intentos a la hora de loguearse:

WordFence

Restringe el uso de funciones que suelen emplearse para aprovechar vulnerabilidades en WordPress. Protege tu blog contra ataques.

Gratuito

Otra opción similar a Wordfence es iThemes Security, anteriormente conocido como Better WP Security, otro plugin muy completo que puede ser utilizado como alternativa o como complemento a Wordfence:

iThemes Security

Especialmente útil si no realizaste los pasos necesarios para aumentar la seguridad de tu blog durante su instalación y ahora necesitas modificar esos parámetros.

Gratuito

Una de las cosas que echo en falta en WordPress, y que quizás se solucione en versiones posteriores, es la posibilidad de cambiar el nombre de la carpeta de administración.

A diferencia de lo que ocurre por ejemplo en los CMS específicos para tiendas online, como Prestashop, en las páginas creadas en WordPress no es posible renombrar la carpeta wp-admin durante la instalación de tu blog.

Por eso te recomiendo completar los dos plugins anteriores con este otro para hacer de tu web un sitio algo más seguro:

Renombra wp-login.php

Con este plugin podrás solucionar relativamente este problema, ya que en realidad no renombra de por sí esa carpeta, sino que cambia la ruta de acceso. It's something.

Gratuito

Hay muchos otros plugins para tener un blog más seguro pero, o bien son más difíciles de configurar como es el caso de Hide My WP, o cumplen funciones muy similares a los comentados pero con peores resultados.

Estos 3 plugins serán suficientes para mejorar la seguridad de nuestro WordPress, además de poder utilizarlos totalmente gratis, pudiendo elegir entre iThemes Security y Wordfence o instalar ambos.

Inconvenientes de utilizar plugins de seguridad

La parte negativa tiene que ver con la forma en que afectan al rendimiento de la web, por eso es recomendable activar los plugins de análisis que veremos más adelante sólo en el momento de ejecutar el análisis y mantenerlos desactivados el resto del tiempo.

En el caso de iThemes y Wordfence es recomendable tenerlos activados siempre, el problema viene del consumo de recursos necesarios para ciertas funciones como la monitorización en tiempo real.

Por eso te recomiendo desactivar esa función.

 Configurar correctamente el archivo .htaccess

El htaccess es uno de los archivos más importantes de cualquier web y, entre otras cosas, sirve para mejorar la seguridad de la página. Lo mismo sucede en el caso de WordPress.

Independientemente de los plugins de seguridad que uses y de las directrices que añadas al archivo .htaccess, te sugiero una serie de reglas comunes para cualquier sitio de Internet.

Las más aconsejables para aumentar la seguridad de todos los sitios web a través del archivo .htaccess son las conocidas como 6G Firewall 2016 de Perishable Press, la web a través de la cual se van actualizando estas reglas y en la que puedes encontrar otros buenos consejos sobre seguridad.

Copia y pega el código que encontrarás en esa web en el .htaccess de tu blog y trata de mantenerlo siempre actualizado con la última versión.

 Copias de seguridad en WordPress

Por muy seguro que sea tu blog, siempre es importante realizar copias de seguridad (backups) periódicamente. Es la única medida que te asegura al 100% el mantener cualquier blog siempre online, mediante la restauración a una copia anterior.

Pueden hacerse manualmente, descargando todo el contenido del servidor por medio de un cliente FTP y exportando la base de datos MySQL desde PHPMyAdmin. Esto último lo haríamos desde el panel de administración de nuestro hosting.

Otra opción para hacer copias de seguridad es programarlas y/o descargarlas a través de ese mismo panel del hosting. Te dejo un ejemplo de estas opciones en cPanel:

Copias Seguridad WordPress

Pero hay una opción más fácil de hacerlo y es automatizando la creación de backups mediante uno de los diferentes plugins de WP que existen para esta función.

A continuación te dejo los mejores plugins para automatizar estos backups en WordPress y algunas recomendaciones extra. Este es el punto más importante, asegúrate de hacerlo correctamente:

Un último consejo al hilo del contenido bloqueado anterior es que mantengas siempre guardados varios backups (cuantos más mejor).

El motivo es que, cuando sufres un ataque, muchas veces es difícil determinar la fecha en que se ha producido.

Imagina que se hizo hace una semana y el único backup que tienes es de hace un par de días. Estarás restaurando un backup igualmente corrupto, así que no te servirá de nada…

 Recomendaciones de seguridad adicionales

Si acabas de instalar tu blog con WordPress es evidente que no va a estar infectado, pero es un error muy común creer que porque un blog sea nuevo o todavía no lo conozca casi nadie, está libre de sufrir un ataque por parte de algún hacker.

Todos los días se realizan miles, o incluso millones, de ataques a sitios realizados con este CMS, la mayoría de ellos de forma “aleatoria”. Así que desde el momento en que estás online estás expuesto a sufrir un ataque. Por eso nunca está de más verificar cada cierto tiempo si tu blog ha sido infectado.

¿Cómo saber si mi blog ha sido infectado con malware?

Una vez más recurrimos al uso de plugins para esta tarea. Hay varios de ellos que te permiten analizar tu web en busca de malware y otras amenazas. Estos son los más habituales:

  • Sucuri Security: potente motor de análisis de una de las mejores empresas en seguridad online.
  • AntiVirus: otra sencilla opción para monitorizar actividad sospechosa y mantener limpio tu WordPress.

Estos análisis se pueden hacer con iThemes Security y Wordfence pero es recomendable utilizar también alguno o varios de los anteriores para contrastar resultados.

Instalar sólo plugins y themes de confianza

Trata de que todo lo que instales en tu blog provenga de una fuente confiable y cuente con un buen número de valoraciones positivas. A ser posible que sean cosas que se actualicen con frecuencia y cuenten con un número considerable de descargas.

Plugins Seguridad WordPress

Igualmente deberías mantener actualizados todos las plantillas y plugins de tu blog. Esto puede hacerse muy fácilmente desde el panel de administración de WordPress y que merece la pena que lo hagas.

Permisos CHMOD en los archivos de WordPress

Asegúrate de que las carpetas de tu instalación de WordPress tengan permisos 755 y los archivos permisos 644.

Hay algunos archivos que son especialmente utilizados para realizar incursiones y ataques en la web. Los principales son el archivo .htaccess y el wp-config.php. Estos requieren de permisos especiales: 444 (sin permiso de escritura).

Para comprobar que tienes todos los permisos adecuados puedes utilizar el plugin “Rename wp-login.php” que te recomendé anteriormente. Tras activarlo, te aparecerá una nueva sección en el menú izquierdo llamada “loginsecurity Security”.

Tras pinchar en ella, lo más habitual es que te aparezca una pantalla como esta:

Seguridad Permisos WordPress

Corrige todos los que aparezcan en rojo, cambiando sus permisos por los que se sugieren en esa misma pantalla.

 Los logs del servidor, un posible aliado

La mayoría de hostings ofrecen una carpeta llamada “logs” en la cual queda registrada toda la actividad que se produce en todas las páginas alojadas en ese servidor. Si se realiza un ataque, este queda registrado en esos archivos, como si se tratara de las grabaciones de una cámara de seguridad.

Si tu blog no tiene muchas visitas, es relativamente sencillo detectar actividad sospechosa a simple vista. Bastaría con echar un vistazo rápido en busca de IPs diferentes a las utilizadas por ti y que realizan ciertas peticiones con frecuencia.

Si tu página tiene un elevado número de visitas mensuales la cosa se complica. Revisar manualmente todo el registro de actividad sería un trabajo de chinos, por eso puedes ayudarte de algunos comandos habituales que se utilizan cuando se ejecuta un ataque.

Un ejemplo son los archivos PHP, que a menudo sirven para realizar consultas a la base de datos y subir contenido al servidor. Ej: upload.php

También puedes excluir las líneas que contengan tu IP y buscar por “wp-login.php” o cualquier carpeta a la que no deberían acceder otros usuarios, como la de administración: “wp-admin”.

Una vez localizados los resultados, analízalos para comprobar si se ha subido algún fichero ajeno a WordPress o a alguno de los plugins y plantillas instaladas. Y si se ha ejecutado algún archivo de los que tenías alojados en tu WordPress, probablemente para modificar su código.

Elimina esos ficheros y reemplaza los archivos por los originales. Bloquea el acceso a esas IPs y ejecuta un análisis completo de tu blog.

Esta guía se actualiza periódicamente con los mejores plugins del momento y nuevas medidas. Comparte en redes sociales para ayudar a más gente a proteger su blog: