Recomendaciones de seguridad en WordPress

Recomendaciones de seguridad en WordPress

Share on facebook
Share on linkedin
Share on twitter
Share on email

Vamos a resumir unas recomendaciones básicas de seguridad para que tu web en WordPress sea más segura. Te avisamos que no existe ningún sistema 100% seguro, pero si sigues estas recomendaciones de seguridad tu web será lo suficiente segura para que estés tranquilo.

La seguridad de tu web la podemos dividir en tres niveles distintos, a nivel de servidor, a nivel de usuario y a nivel de web.

Los dos primeros niveles son válidos para cualquier proyecto web, ya sea un PrestaShop, WordPress o proyecto a medida. Son recomendaciones de seguridad comunes que nos sirven para casi cualquier proyecto web. El último apartado está dedicado más a WordPress.

Vamos a verlos detalladamente.

Seguridad a nivel de servidor

Proveedor de hosting fiable

Usa un proveedor de hosting seguro y confiable. Que tenga la última versión de PHP, antivirus como inmunify y que use un firewall para bloquear ataques o IPs sospechosas.

Copias de seguridad

También que realice copias de seguridad periódicas y completas. Es imprescindible que el hosting haga las copias y las guarde en otros servidores, a ser posible que no estén ubicados físicamente en el mismo edificio en el que está tu servidor.

Hosting compartido

Asegúrate de que si tu hosting es compartido, tu cuenta esté correctamente aislada de las otras, de forma que no sea posible que un sitio infectado pueda infectar tu web.

Firewall

Es importante que tu hosting disponga de firewall activo. Esto evitará y bloqueará ataques desde diferentes IPs, denegando el acceso a tu web a atacantes ya conocidos.

También bloqueará a aquellos que realizan multitud de peticiones a la vez, como por ejemplo cuando intentan un ataque por fuerza bruta.

Seguridad a nivel de usuario

Usuarios administradores

Limita los usuarios con permiso Administrador, solamente deben ser usuarios administradores aquellos que vayan a realizar las tareas de administración, es decir, crear/editar usuarios, actualizar plugins, etc.

Puedes crear usuarios con menos permisos, como los Editores. Estos solo tendrán acceso a las publicaciones de WordPress, pero no al sistema de plugins. Si necesitas definir varios roles de usuario puedes ayudarte de un plugin como User Role Editor.

Nombres de usuario

Evita nombres de usuario tipo “admin” o si tu web es miwordpress.com, tampoco tengas usuarios administradores con nombre de usuario “miwordpress”. Si tienes algún usuario con este tipo de nombre, te recomendamos cambiarlo. Para ello puedes o bien eliminar el usuario en cuestión y crear otro o bien también puedes entrar en PHPmyAdmin y cambiar en la tabla wp_users el nombre del usuario, cuidado, usa uno que no esté en uso actualmente.

Contraseñas seguras

Las contraseñas deben ser seguras, con carácteres alfanuméricos y símbolos, como se indica en la siguiente imagen:

Generación de contraseñas desde el panel de usuario de WordPress
El sistema de generación de contraseñas de WordPress es muy seguro.

Formación de los usuarios

Recuerda formarte y formar a tu personal a cargo en nociones básicas de seguridad informática como las siguientes:

  • Utilizar claves seguras
  • Evitar caer en el phising
  • Desconfiar de correos que no se han solicitado
  • Realizar copias de seguridad
  • Tener los equipos actualizados
  • Claves de acceso al ordenador individuales

Seguridad nivel de WordPress

Plugins y temas actualizados

Hay que procurar siempre tener tanto el sistema de WordPress como los plugins y temas que usamos actualizados a la última versión.

Los temas y plugins que no utilicemos eliminarlos. Limitar el número de plugins instalados y activos a los mínimos imprescindibles.

Por supuesto, tanto los plugins como los temas instalados que vengan de fuentes oficiales, nada de descargas de dudosa garantía.

Prefijo Tablas BBDD

En la instalación de WordPress, nos da como opción elegir el prefijo de las tablas de la base datos, cambiar el wp_ por cualquier otro prefijo nos proporcionará seguridad.

Es ideal hacerlo durante el proceso de instalación. Si no lo hiciste puedes probar el plugin Brozzme DB Prefix & Tools Addons

Antes de nada, haz una copia de seguridad completa de tu base de datos.

Plugins seguridad

Dispones de varios plugins que te van a proporcionar seguridad en tu WordPress, nosotros hemos probado Ithemes Security y Wordfence.

Ejemplo de email enviado por WordFence avisando de que un atacante desde Rusia ha intentado acceder con el usuario "admin"
Ejemplo de email enviado por WordFence avisando de que un atacante desde Rusia ha intentado acceder con el usuario “admin”

Cualquiera de estos dos plugins, siguiendo sus recomendaciones de seguridad predeterminadas protegerán tu WordPress. Te recomendamos que instales uno de los dos y actives las opciones básicas para protegerte.

Desactivar la edición de archivos

WordPress dispone de un editor de archivos, muy útil para hacer cambios en temas o plugins, o para añadir Google Analytics al functions.php de forma rápida. Sin embargo, si un atacante consigue hacerse con el panel admin, podrá editar estos archivos también. Lo recomendable es editar los archivos desde el propio PC y subirlos mediante FTP.

Para deshabilitar esta característica, entra en wp_config y añade el siguiente código:

define( 'DISALLOW_FILE_EDIT', true );

Si quieres volver a activar la funcionalidad, solo podrás hacerlo desde una cuenta FTP o desde el administrador de archivos de tu proveedor de hosting.

Autenticación en dos pasos

Activa la autenticación en dos pasos. Esto significa disponer de un método alternativo y obligatorio a la vez que te logueas en tu web. Es decir, no bastará solo con poner el usuario y la contraseña, también tendrás que introducir el código de seguridad que hayas recibido en tu móvil a través de sms o un código mostrado en tu aplicación de seguridad de tu teléfono.

Con wordfence por ejemplo puedes activar la autenticación en dos pasos de manera sencilla.

Protege wp-config.php

El archivo wp-config.php es de los más importantes, contiene los accesos a la base de datos, y la configuración del núcleo de WordPress. Una forma fácil de proteger este archivo es utilizando .htaccess y añadiendo las siguientes reglas:

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

Esta reglas impedirán que nadie desde el exterior pueda acceder al archivo.

Protege wp-content/uploads

En esta carpeta se suben todas las imágenes y documentos que vamos a mostrar en nuestra web, es decir, solamente debe contener archivos multimedia. Es importante protegerla de scripts maliciosos que puedan “colarnos”. Al igual que en el anterior punto, vamos a usar el archivo .htaccess. Lo primero que tenemos que hacer es crear un archivo .htaccess en el directorio wp-content/uploads si no lo tenemos ya y le añadimos las siguientes reglas:

<Files *.php>
deny from all
</Files>

Permisos de carpetas y archivos

Otra de las recomendaciones de seguridad es revisar los permisos de las carpetas y archivos de nuestra instalación WordPress. Por norma general, en una nueva instalación estos permisos son correctos, pero si por algún motivo estos han sido modificados deberás asignar los correctos.

Los permisos que deben tener son los siguientes:

Ficheros: 644
Directorios: 755

Aquí te dejamos un par de enlaces dónde explicamos cómo cambiar y qué permisos deben tener los archivos y carpetas.

Protege .htaccess

También podemos proteger el archivo .htaccess usando las propias reglas del mismo:

<files .htaccess>
order allow,deny
deny from all
</files>

Así evitaremos accesos no deseados a este archivo.

Cuídate del Spam

El spam puede no ser solamente molesto, también se puede utilizar para tratar de inyectar código malicoso y comprometer la seguridad de WordPress.

Formas de protegerse del spam:

  • Añadir un captcha, como Google Recaptcha
  • Activar algún plugin de comprobación de spam, como Akismet
  • En la propia configuración de WordPress:
Checks ajuste de comentarios WordPress
En Ajustes / Comentarios podemos activar estas dos casillas para evitar spam

También podemos añadir filtros y reglas que automáticamente enviarán los comentarios a la papelera o los marcarán como spam:

Palabras rechazadas en comentarios WordPress
Filtro comentarios spam

Usa conexión segura SSL

Tu página web debe ser ya sí o sí https. Existen varios certificados que te proporcionan la encriptación adecuada. Quizás uno de los más comunes y más usados sea Let’s Encrypt, gratuito, seguro, automatizado y abierto.

Para configurar correctamente el SSL, te recomendamos instalar un plugin como Really Simple SSL que te ayudará a mejorar la seguridad de tu sitio.

Si tu proveedor de hosting no te ofrece un certificado SSL, ¡Cambia de proveedor!

Oculta la versión de WordPress

Cualquier versión de WordPress tiene una serie de fallos o vulnerabilidades que se suelen solventar al actualizar. Para ponerlo un poco más difícil a los atacantes podemos ocultar la versión de WordPress, así no sabrán qué vulnerabilidades le afecta.

Para ello, incluye en el functions.php del tema que estés usando la siguiente línea de código:

remove_action('wp_head', 'wp_generator');

Cambia el acceso predeterminado wp-admin / wp-login

El acceso predeterminado al escritorio de WordPress se realiza en

https : // dominio. com/wp-admin

https : // dominio. com/wp-login

Los atacantes intentarán acceder al escritorio mediante fuerza bruta. Para ello puedes cambiar estas urls de acceso o si utilizas un plugin como wordfence ya se implementan medidas contra los ataques por fuerza bruta.

Para cambiar la url de acceso al escritorio puedes usar un plugin como
WPS Hide Login

Herramientas para comprobar el estado de tu WordPress

Salud del sitio

WordPress dispone de una herramienta que nos puede dar información muy valiosa sobre el estado general de nuestra instalación.

En el menú lateral, herramientas / salud del sitio puedes acceder a esta información.

Cabeceras de seguridad en .htaccess

Para mejorar la seguridad de tu sitio, puedes abrir tu archivo .htaccess

Antes de nada, realiza una copia de seguridad del contenido de tu archivo .htaccess y asegúrate de poder acceder al mismo si algo sale mal.

Forzar HTTP a HTTPS con redirección 301

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>

HTTP Strict Transport Security

Header always set Strict-Transport-Security: "max-age=31536000" env=HTTPS 

Content Security Policy: Upgrade Insecure Requests

Header always set Content-Security-Policy "upgrade-insecure-requests"

X-XSS protection

Header always set X-Content-Type-Options "nosniff"

X-Content Type Options

Header always set X-XSS-Protection "1; mode=block"

Referrer-Policy

Header always set Referrer-Policy: "no-referrer-when-downgrade"

Expect-CT

Header always set Expect-CT "max-age=7776000, enforce"

Referencias y fuentes:

Este documento se ha realizado con fuentes propias y también siguiendo las recomendaciones de estas fuentes:

Fuente 1 | Fuente 2 | Fuente 3 | Fuente 4

¿Quieres más información de nuestros servicios?

Contacta con nosotros, estamos encantados de ayudarte

Si necesitas ayuda con la seguridad de tu WordPress, contacta con nosotros, seguro que podemos asesorarte.

Última revisión, enero 2021

Si te ha servido, deja un comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Más entradas
Categorías
¿Quieres impulsar tu negocio?
escríbenos y manténte en contacto
Desarrollo de tiendas online Garber Informática
Contacta con nosotros