10 cosas a tener en cuenta para aumentar la seguridad de tu WordPress

Actualmente más del 25% de Internet está desarrollada en WordPress, y la cifra cada día aumenta más, por lo que es bastante interesante saber manejar este CMS, de hecho si sigues mi web asiduamente sabrás que escribo manuales, tips… sobre cómo el mismo.

Hoy os traigo un post que creo que es muy interesante, de hecho lo he introducido dentro de mi manual de empresa para instaurarlo como protocolo de trabajo. una lista con las 13 cosas más importantes  para aumentar la seguridad de un WordPress, así que vamos al lio…

Antes de la Instalación

I Crear una BBDD robusta

Escoge un nombre complejo para tu base datos, crea un usuario que tenga un nombre difícil, ten en cuenta que no deberías de volver a usarlo y utiliza una contraseña robusta para la BBDD, de esta forma ya vamos convirtiendo nuestro sistema en una pequeña fortaleza y vamos logrando que no se pueda colar por la BBDD.

Durante la Instalación

II Crea un buen usuario de administración

Evita los usuarios con nombre admin o administrador, son los primeros que un atacante probará por defecto, de hecho puede que tu versión de WordPress te avise de este hecho.

Además se deben de utilizar claves robustas para los usuarios de la web.

III Cambia el prefijo de las tablas

Por defecto las tablas vienen con el prefijo wp_, al instalar WordPress en su famosa “instalación en 5 minutos” nos ofrece la opción de hacerlo, puedes utilizar dos o tres letras seguidas del guión bajo, algo así como: lif_

Nada más terminar la instalación

IV Elimina el archivo readme.html de la carpeta raíz

Cuando se realiza una instalación de WordPress, esta introduce en la raíz de sistema un archivo readme.html, el cual ofrece información sobre la versión de WP y puede utilizado por personas de moral perdida para aprovechar vulnerabilidades de nuestra versión.

Eliminandolo no tendrán acceso a dicha información y les complicaremos algo más las cosas.

V Crear un archivo robots.txt bien formado

Tener un buen archivo robots.txt nos ayudará a evitar a que las arañas de google por un lado indexen lo que nosotros queramos y por otro a evitar que algunos programas no puedan rastrear nuestra web.

Un ejemplo de un archivo robots.txt es:

User-agent: *
Disallow: /wp-admin/
Disallow: /xml-rpc.php
Disallow: /?s=
Disallow: /search
Disallow: /author/
Allow: /wp-admin/admin-ajax.php
Sitemap: http://dominio.com/sitemap.xml

Modificando el archivo funcions.php o el plugin del sitio

VI Desactiva los errores en la página de logins

WordPress por defecto, al intentar entrar en la página de administración si se comete un error de acceso, como poner mal el usuario o el password, nos muestra un error dándonos información sobre el error.

Es interesante hacer que este error no se muestre y en su defecto nos muestre un texto que no de información.

Para ello es tan sencillo como introducir en el archivo functions.php o en nuestro plugin de sitio el siguiente código:

function login_errors_message() {
	return 'Ooooops!';
}
add_filter('login_errors', 'login_errors_message');

VII Desactivar la entrada de código html en los comentarios

Los comentarios son una de las mayores vulnerabilidades de WordPress y eso que es cierto que hoy en día con la red 2.0 y la semántica son mucho más que necesarios. Pero también es una entrada para indeseables en nuestro sitio. Por ello es bastante útil evitar que ciertos caracteres se puedan utilizar, y su utilización se puede censurar introduciendo la siguiente línea en nuestro archivo functions.php o en el plugin del sitio.

add_filter('pre_comment_content', 'wp_specialchars');

Modificando el archivo wp-config.php

VIII Desactivar el editor de la plantilla del panel de administración

Este es un seguro no solo para nosotros como desarrolladores, también para los usuarios que dicen que nunca tocan nada y ya se sabe lo que sucede cuando el cliente toca lo que no sabe y encima nos dice que es culpa nuestra… toca rastrear toda la web en busca de ese nada que ha hecho.

Con este truco el usuario aunque tenga permisos de administrador no puede tocar los códigos, dándonos mucha más tranquilidad.

Introducimos al final de nuestro archivo wp-config.php la siguiente línea:

define('DISALLOW_FILE_EDIT', true);

IX Desactivar la actualización de plugins desde el panel

De este modo podemos ahorrarnos problemas con la compatibilidad de los nuevo plugins con nuestra versión de WordPress, aunque he de admitir que no soy muy propenso a usar esto, ya que siempre es interesante tener nuestro sistema actualizado, pero es cierto que puede resultar interesante en algunos casos.

Para ello tan solo que tenemos que introducir al final de nuestro archivo wp-config.php la siguiente línea:

define('DISALLOW_FILE_MODS', true);

Mantenimiento constante

X Elimina los temas y plugins que no utilices

Los plugins y los temas son zonas de acceso a nuestro WordPress y cuantos más tengamos activos más sencillo es que podamos sufrir un acceso malintencionado.

Por ello es preferible no usar demasiados plugins, sobre todo cuando se puede programar fácilmente alguna funcionalidad, que no es que reinventemos la rueda, pero recuerda:

Utiliza plugins que tengan mantenimiento y cuyo soporte sea lo más continuo posible

Se deben de eliminar los plugins y temas innecesarios y que no se utilicen. Aunque a esto haré una anotación, ya que a mi siempre me gusta dejar un tema de los que vienen por defecto, por si aparece el temido error 500, tener algo de artillería con lo que defenderme, como ya expliqué en la entrada sobre los 15 errores más comunes de WordPress y cómo solucionarlos.

Con todo esto ya tenemos algunas formas de proteger nuestro WordPress,  ¿Conoces algún truco? dejálo en los comentarios…