18 Consejos para reforzar la seguridad de WordPress

18 Consejos para reforzar la seguridad de WordPress

WordPress es el CMS por excelencia para realizar sitios web o blogs de forma profesional. Sin embargo, sin una buena puesta a punto en lo que a su seguridad respecta, puede traernos algunos dolores de cabeza después. ¡Vamos a ver algunas recomendaciones para estar seguros y sacar el máximo provecho de nuestro sitio!

Acá van algunos consejos para estar bien prevenido:

1) Actualizar regularmente

La comunidad detrás de WordPress es muy activa y trabaja constantemente para, entre otras cosas, arreglar fallas de seguridad. Nuestro primer consejo es que siempre tengas la última versión tanto de WordPress, como de todos los Plugins y Temas que tengas instalados.

Si vas a actualizar después de algún tiempo, te recomendamos tener a mano una copia de seguridad ante cualquier eventualidad. En WNPOWER todos nuestros planes de Hosting tienen backup automático, por lo que no tenés que preocuparte por ello.

Además tenés una excelente herramienta en tu panel de control, llamada “WordPress Doctor”, una herramienta indispensable para administrar tu CMS desde tu cPanel, la cual te permite verificar las versiones de WordPress, Plugins y Temas y actualizarlos mediante un sólo clic.

 

2) Usar Contraseñas Robustas

Algo obvio si hablamos de seguridad, pero que muchas veces por no darle importancia en el inicio de nuestro proyecto, termina quedando el mítico “qwerty” o “12345” que nos olvidamos de actualizar.

Usa contraseñas seguras para todos los usuarios de WordPress. También para los usuarios de FTP y de la mismísima Base de Datos de tu sitio.

WordPress, en sus últimas versiones, incorpora un generador de contraseñas seguras y te “sugiere” utilizarlas. Esta será siempre la mejor opción.

 

3) Limitar los intentos de Login

Un tipo de ataque muy común en WordPress es el de fuerza bruta para adivinar los logins. Para esto podés usar alguno de los siguientes plugins: WP Limit Login Attemps y Limit Login Attemps.

 

4) Cambiar el Prefijo de la Base de Datos

Por defecto, todas las tablas de la base de datos de WordPress empiezan con “wp_“, así que si estás instalando WordPress desde cero, aprovechá y cambialo en el proceso de instalación por una palabra al azar de al menos 6 caracteres combinando números y letras (por ejemplo “icw42y_“).

De esta forma evitarás problemas de inyección SQL masivos en el caso de tener algún Plugin o Tema con problemas de seguridad.

 

5) Instalar un Plugin de Seguridad

Te proponemos los más usados: Wordfence y All In One WP Security & Firewall. Ambos son plugins de seguridad integral que nos permiten administrar características de prevención y seguridad de nuestro WordPress, entre ellas: Firewall, escáner de malware, bloqueador de IPs y herramientas para controlar y fortalecer contraseñas.

 

6) Renombrar la URL de la página de login

Todos sabemos que para acceder a la administración de WordPress podemos ir a “misitio.com/wp-admin“, así que te aconsejamos cambiarlo y así evitar ataques de fuerza bruta, que son más comunes de lo que te puedas imaginar.

Para hacer este cambio, podés usar el plugin WPS Hide Login.

 

7) No usar Temas o Plugins pirateados

Puede ser muy tentadora la idea de usar un Tema Premium pirateado, pero no te lo recomendamos. Estarás arriesgando tu sitio, ya que este tipo de temas vienen con “sorpresas” y carecen de las actualizaciones que generan regularmente los autores del mismo.

Del mismo modo, hay plugins “no oficiales” (que no están publicados en el repositorio de WordPress). En ese caso te sugerimos revisar la reputación de la empresa que está detrás antes de instalarlo. Prácticamente si el plugin no está en el repositorio oficial o en sitios como “CodeCanyon”, te sugerimos primero desconfiar.

 

8) Ocultar archivos que comprometen la seguridad de WordPress

Existen diversos archivos de WordPress que trae “de fábrica” y que pueden comprometer la seguridad, exponiendo datos privados de nuestra instalación. Por ejemplo, podrían exponer la versión que tenemos instalada de WordPress, algo que sería muy útil para un atacante si no tenemos la última versión instalada. Por ejemplo:

  • Versión: http://tudominio.com/readme.html
  • Info del CMS: http://tudominio.com/license.txt
  • Info del CMS (en versión español): http://tudominio.com/licencia.txt
  • Versión de un plugin: http://tudominio.com/wp-content/plugins/akismet/readme.txt

Concretamente estos son los archivos que hay que eliminar y se encuentran dentro del directorio donde WordPress fue instalado (puede que solo tengas algunos de ellos).

 

9) Proteger el archivo “wp-config.php”

Este archivo contiene información sensible de nuestra instalación, como por ejemplo los datos de acceso a la base de datos, claves de seguridad y otros elementos de la configuración, como el idioma usado, si estamos en modo depuración, etc. Pese a que este archivo no devuelve nada al ejecutarlo, en caso de error, puede dar detalles innecesarios y traernos problemas.

Para proteger este archivo una opción es agregar al final de nuestro archivo .htaccess las siguientes líneas:

# proteger wpconfig.php
<files wp-config.php>
order allow,deny
deny from all
</files>

De esta manera estaremos bloqueando el acceso directo al archivo wp-config.php al público, por lo que este archivo solo será accesible para el propio WordPress, que es justo lo que necesitamos.

 

10) Usar permisos de archivos y carpetas seguros

Los permisos por defecto que deben tener archivos y carpetas en WordPress son los siguientes:

  • Archivos: 644
  • Carpetas: 755

Si algún archivo o carpeta tienen más permisos, podría ser un posible agujero de seguridad y deberías restaurar a los permisos por defecto.

Para ello, podés usar tu administador de archivos de cPanel o cliente FTP. Recientemente diseñamos una pequeña pero efectiva herramienta en cPanel que permite resetear todos los permisos de tu instalación de WordPress para asegurarte que todos los permisos están correctamente asignados.

 

11) Crear archivo robots.txt

Si hablamos de SEO, hablamos de robots.txt y del papel que este archivo juega en la política de control de acceso a la indexación del sitio por parte de los motores de búsqueda.

Por defecto WordPress viene sin este archivo. Sin embargo, suele ser buena práctica añadir uno para que los buscadores sepan cómo escanear e indexar tu sitio.

Este es un archivo robots.txt modelo para WordPress, pensado para que los buscadores no indexen las carpetas propias de WordPress, y así evitar que nos encuentren mediante búsquedas masivas:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /xmlrpc.php
Disallow: /readme.html
Disallow: /wp-content/plugins/

 

12) Usar un Certificado SSL (HTTPS)

En la actualidad tener nuestro sitio con SSL es un must. No sólo para que Google nos posicione mejor, sino también por seguridad, ya que si estamos iniciando sesión desde una conexión pública, corremos riesgo que alguien esté observando nuestro tráfico y pueda obtener nuestro login. Para evitar esto, cuando accedés a tu sitio con HTTPS, toda la información la envías de forma cifrada a tu hosting, de modo que nadie podrá ver tu actividad ni tus inicios de sesión.

¡En todos nuestros servicios de Hosting te entregamos un certificado SSL de forma gratuita y a unos simples clics de instalar!

 

13) Cambiar el nombre de usuario “admin”

No uses el usuario “admin” que viene por defecto: Cambiá o renombrá este usuario administrador. Vas a bajar drásticamente la probabilidad que obtengan la contraseña mediante fuerza bruta.

Al momento de la instalación de WordPress nos pide especificar el nombre de usuario y podemos poner uno personalizado con administrador, pero si ya tenés instalado WordPress y querés cambiar este usuario, podés usar el Plugin Username-Changer.

 

14) Evitar la enumeración de usuarios en WordPress

Por defecto, aunque no lo creas, al día de hoy WordPress facilita una URL que permite enumerar los usuarios y así obtener sus nombres, para luego intentar adivinar sus contraseñas mediante fuerza bruta.

Al ingresar tudominio.com/?author=1 (y vamos sumando de 1 a 1), se mostrará en pantalla todos los posts creados por ese usuario, junto con su nombre de usuario.

Para poder aplicar esta protección y prevenir que listen nuestros usuarios uno a uno, tenemos que agregar este código en el archivo .htaccess del directorio raíz de WordPress:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/wp-admin [NC]
RewriteCond %{QUERY_STRING} author=\d
RewriteRule (.*) $1? [L,R=301]

 

15) Deshabilitar la edición de archivos

WordPress viene con un editor de código incorporado que permite editar sus archivos de Temas y Plugins directamente desde su panel de administración. En las manos equivocadas, esta característica puede ser un riesgo de seguridad, por lo que te recomendamos desactivarla.

Podés hacer esto fácilmente agregando el siguiente código en el archivo “wp-config.php”:

// Deshabilitar la edición de archivos
define (‘DISALLOW_FILE_EDIT’, true);

 

16) Deshabilitar la ejecución de scripts en ciertos directorios

Otra excelente forma de asegurar nuestro WordPress es deshabilitando la ejecución de scripts PHP en directorios donde no es necesaria su ejecución, como ser /wp-content y /uploads.

Para poder hacer esto, podés crear un archivo .htaccess dentro de cada uno de estos directorios y colocar lo siguiente:

// Deshabilitar la ejecución de PHP
<Files *.php>
deny from all
</Files>

 

17) Usar una CDN

Una CDN es aplicable a cualquier sitio web, no sólo a WordPress. Se trata de un proxy inverso y caché que ayuda a que tu sitio sea más seguro y se acceda más rápido desde cualquier parte del planeta.

WNPower es Partner Certificado de Cloudflare, el cual está completamente integrado en nuestros servicios de Hosting.

 

 

18) Utilizar un Hosting Seguro

Algunos proveedores de Hosting son mucho más vulnerables a ser hackeados que otros. Por eso debemos analizar detenidamente a la hora de seleccionar nuestro hosting para nuestro WordPress y tener en cuenta todos los detalles. Como medida principal, te sugerimos que te ofrezca un buen panel de control para no depender de nadie para hacer cualquier gestión, y muy importante a esta altura: PHP 7 y MySQL 5 en sus últimas versiones.

 

Completar estos sencillos pasos te va a proporcionar un sitio muchísimo más seguro que la mayoría de las instalaciones de WordPress que hoy hay en la web. Compartí este post con la comunidad para ayudar a otros administradores de WordPress a proteger sus sitios web.

¡Ahora compartilo!

 

Francis Stepan y Equipo de Soporte Técnico de WNPOWER