Uno de los puntos que más preocupan a los propietarios (o futuros propietarios) de un ecommerce es la seguridad. Así que vamos a ver qué puntos hay que tener en cuenta para disfrutar de un ecommerce WordPress seguro.
(Recordemos, además, que la seguridad es la base del cumplimiento del Reglamento General de Protección de Datos de cualquier web, se venda algo en ella o no.)
Índice del post
- 1 1. Alojarla en un hosting que ofrezca garantías
- 2 Usar SSL
- 3 3. Utilizar una contraseña fuerte para acceder a WordPress
- 4 4. Establecer un doble factor de autenticación (2FA)
- 5 5. Asignar a cada usuario el rol que le corresponde
- 6 6. Mantener a raya al Spam
- 7 7. Registrar la actividad de los diferentes usuarios
- 8 8. Cachear WordPress
- 9 9. Mantener tu WordPress actualizado
- 10 10. Realizar copias de seguridad
- 11 11. Otros aspectos relacionados con la seguridad de WordPress
- 11.1 Cambiar la URL de acceso al Admin de WordPress
- 11.2 Limitar el acceso al login
- 11.3 Eliminar el usuario Admin
- 11.4 Cambiar salts y claves de WordPress
- 11.5 Ocultar la versión de WordPress
- 11.6 Eliminar o renombrar archivos informativos
- 11.7 Restringir los permisos de acceso a carpetas y archivos
- 11.8 Configurar correctamente el XML-RPC
- 11.9 Desactivar wlwmanifest.xml
- 11.10 Bloquear bots
- 11.11 Evitar la navegación e indexado de directorios
- 11.12 Proteger los archivos wp-config.php y .htaccess
- 11.13 Evitar el hotlinking
- 12 12. Escanear tu web constantemente
- 13 13. Otros eslabones de la cadena de seguridad
1. Alojarla en un hosting que ofrezca garantías
Aloja tu web con un proveedor de hosting que ofrezca garantías de seguridad a nivel técnico y que, a ser posible, tenga servidores en Europa.
Conviene que, dentro de tu hosting, el servidor en el que se aloja tu web cumpla los siguientes requisitos.
Requisitos de seguridad a nivel de servidor
El servidor que aloja tu web, debería cumplir lo siguiente.
Utilizar la última versión estable de PHP
La versión de PHP depende de tu servidor, pero no deberías alojar tu web en un hosting que no te permitiera al menos usar la versión 7.3 de PHP.
Utilizar la última versión de MySQL o MaríaDB
Asegúrate de usar como mínimo las versiones de MySQL 5.6 o MaríaDB 10 para tus bases de datos.
Usar SSL
Instala un certificado SSL en tu web para asegurar que los datos transferidos entre los usuarios y tu sitio web viajen seguros (especialmente, si en tu web se lleva a cabo algún tipo de transacción económica por productos, servicios, etc.).
Hoy en día, los plugins de ecommerce más reputados exigen su uso para funcionar, y Google también.
La mayoría de proveedores de hosting ofrecen la instalación, en pocos clics y gratuita, del certificado Let’s Encrypt.
En Cómo instalar un certificado SSL en WordPress para cumplir con el RGPD te explico cómo instalarlo.
3. Utilizar una contraseña fuerte para acceder a WordPress
Todos los usuarios que tengan acceso al panel de administración de WordPress deberían usar una contraseña fuerte para acceder a él.
Por “contraseña fuerte” podemos entender una combinación de 22 caracteres (o superior) que incluya letras mayúsculas y minúsculas, cifras y símbolos.
4. Establecer un doble factor de autenticación (2FA)
Implementa el 2FA para que, en el caso de que alguien dé con tu contraseña de acceso al panel de administración, se le pida confirmar la autenticación por otra vía y, por lo tanto, siga sin poder acceder a él.
Generalmente, esta segunda autenticación consiste en introducir como segunda contraseña un código temporal que se genera de forma aleatoria mediante alguna app generadora de códigos (del estilo Latch o Google Authenticator) o que recibes en el móvil vía sms.
5. Asignar a cada usuario el rol que le corresponde
Si hay varias personas con permiso para acceder a tu WordPress, lo primero que deberías hacer es establecer diferentes roles de usuario para ellas, de acuerdo con el tipo de funciones a las que necesitan acceder (superadministrador, administrador, editor, autor, colaborador, suscriptor).
Asignar a alguien más permisos de los que necesita, te puede traer muchos problemas.
Consulta aquí los diferentes roles de usuario de los que dispone WordPress.
6. Mantener a raya al Spam
El instalar algún plugin del estilo Antispam Bee o el implementar reCAPTCHA para controlar el spam, hará más difícil que robots o personas con malas intenciones puedan inyectar código malicioso en los formularios o incluir enlaces de mala reputación en los comentarios que comprometan la seguridad y el posicionamiento de tu web.
El plugin o la medida a elegir para combatir el spam, dependerá de las necesidades concretas de tu web y de la compatibilidad con el resto de plugins que uses en ella.
7. Registrar la actividad de los diferentes usuarios
Cuando hay varios usuarios encargados de gestionar la web o la web cuenta con un área privada a la que acceden muchos usuarios o clientes (por ejemplo, sitios que ofrecen formación o membresía), conviene registrar los accesos y la actividad de los diferentes usuarios.
Eso nos servirá para controlar lo que pasa en ella en todo momento, detectar las posibles quiebras de seguridad lo más rápido posible y poder actuar en consecuencia, como exige el RGPD.
(También te puede servir para detectar comportamientos ilegales de ciertos usuarios, pero eso es otra cuestión.)
Algunos plugins de seguridad (como iThemes Security Pro), ofrecen la opción de registrar las acciones de los usuarios en la web, pero nada que ver con plugins como WP Activity Log (antiguo WP Audit Log), que son específicos para eso.
8. Cachear WordPress
Es más difícil vulnerar páginas estáticas (cacheadas) que dinámicas.
WP Rocket es una muy buena opción.
9. Mantener tu WordPress actualizado
Es importante que tengas el core de WordPress, el tema y los plugins que usas actualizados a la última versión, porque las actualizaciones suelen resolver bugs de seguridad, entre otras cosas.
Y, ni qué decir tiene que, si tienes instalados temas y plugins que no usas, es mucho mejor eliminarlos que conservarlos desactivados.
Si en el futuro los necesitas, no cuesta nada volverlos a instalar y al eliminarlos no solo mejorarás la seguridad de tu WordPress, sino también su rendimiento.
¡Ah! Y no es buena idea descargar temas y plugins de sitios no oficiales y cuya fiabilidad no conocemos, porque pueden venir con «regalito» incorporado.
10. Realizar copias de seguridad
Hacer copias de seguridad garantiza el poder restaurar una versión reciente de la web ante cualquier jaqueo o problema técnico que la deje fuera de juego (por ejemplo, el derivado de alguna actualización problemática o alguna incompatibilidad).
Hay diferentes formas de hacerlas.
Desde el propio servidor
Hoy en día, casi todos los proveedores de alojamiento web realizan copias automáticas de manera periódica. Eso sí, unos hacen copias más frecuentes y otros menos (eso también depende de lo bueno que sea el hosting).
Pide esta información a tu proveedor de alojamiento, porque varía de unos a otros.
SiteGround, por ejemplo, hace una copia diaria automática de tu web y mantiene estas copias 30 días cuando se trata de planes de alojamiento en servidores compartidos y 7 días cuando se trata de planes de alojamiento en la nube.
Además, te ofrece la opción de realizar una copia de seguridad manual en cualquier momento.
Mediante plugin de copias de seguridad
Existen muchos plugins de este estilo, pero el que yo uso y más me gusta es Updraft Pro.
Siempre me ha funcionado bien y, además, ofrece la opción de hacer copias incrementales, es decir, que al hacer una nueva copia, solo copia lo nuevo, respecto de la última vez que se hizo copia.
Eso reduce mucho el consumo de recursos y de tiempo (y es especialmente útil en el caso de tiendas online grandes).
Además, permite hacer copias manuales en cualquier momento, tanto locales como en la nube.
También permite programar la realización de copias de seguridad de la web para determinados momentos y con un mayor o menor grado de detalle.
11. Otros aspectos relacionados con la seguridad de WordPress
Hay otros aspectos que también conviene tener en cuenta para contribuir a mejorar seguridad del propio WordPress.
Cambiar la URL de acceso al Admin de WordPress
Por defecto, la URL para acceder al panel de administración de WordPress es la misma en todas las webs (midominio.com/wp-admin).
¡Y eso se lo pone muy fácil a los atacantes!
Limitar el acceso al login
Permitiendo solo algunos intentos fallidos a la hora de acceder a la administración de WordPress, evitaremos que alguien pueda realizar numerosos intentos de adivinar la contraseña de acceso (algo muy habitual en ataques de fuerza bruta).
Eliminar el usuario Admin
WordPress crea por defecto un usuario llamado «admin» con permisos de administrador. El no cambiarlo, se lo pone muy fácil a los atacantes.
Evita también usar el nombre de tu dominio como nombre de usuario.
Cambiar el prefijo de la base de datos
Por defecto, WordPress asigna wp- a sus bases de datos al instalar WordPress. Y lo que todo el mundo conoce ya sabemos que no es muy seguro, ¿verdad?
Si en el momento de hacer la instalación no lo cambiaste, aún puedes hacerlo.
Cambiar salts y claves de WordPress
Cuando un usuario decide mantenerse conectado para no tener que insertar su clave de acceso cada vez, se generan unas cookies para recordar esos datos de acceso.
WordPress crea por defecto unas claves para proteger la información de esas cookies de inicio de sesión, pero conviene cambiarlas por otras.
Ocultar la versión de WordPress
Si un atacante conoce la versión de WordPress que estás usando, puede aprovechar los posibles fallos de seguridad de dicha versión para acceder a él.
Aunque este peligro se puede minimizar también en gran medida teniendo siempre todo actualizado a la última versión.
(También es conveniente ocultar la versión de WooCommerce, si lo usas, por lo mismo.)
Eliminar o renombrar archivos informativos
Me refiero a los archivos readme.txt, license.txt y licencia.txt que genera WordPress y que contienen información sobre cosas como la versión de WordPress.
Eso sí, cada vez que actualices WordPress tendrás que volver a borrarlos o renombrarlos, porque se vuelven a generar.
Puedes hacerlo desde el gestor de archivos de tu hosting o vía FTP.
Restringir los permisos de acceso a carpetas y archivos
Los permisos de WordPress adecuados para carpetas y archivos son 755 y 644 respectivamente. (Aprende más sobre los permisos de WordPress)
Algunos plugins, miniaturas o archivos temporales cacheados pueden requerir permisos 666 o 777 (sin restricciones).
Configurar correctamente el XML-RPC
WordPress usa XML-RPC para estandarizar sus comunicación con otros sistemas. Pero supone un gran agujero para la seguridad.
Así que, si no lo usas, desactívalo. Y si lo usas, restringe sus posibilidades de uso.
Desactivar wlwmanifest.xml
Esta etiqueta sirve para editar las entradas de nuestro blog desde el editor Windows Live Writer.
Si no sabes lo que es o no lo usas, elimínala.
Bloquear bots
Los bots son programas creados para realizar tareas repetitvas de manera automática. Los hay buenos y malos.
Los bots malos pueden dedicarse a atacar contínuamente tu web hasta «reventarla». Así que, lo mejor, es bloquearlos.
Un buen hosting no permitiría que se pudiera navegar por los directorios de archivos de tu web (por ejemplo, el wp-content), pero algunos sí lo hacen, con el peligro que ello conlleva.
Proteger los archivos wp-config.php y .htaccess
Tanto el archivo wp-config.php como el archivo .htaccess incluyen información sensible sobre nuestra web, por lo que conviene protegerlos bien.
Evitar el hotlinking
El hotlinking es una técnica que permite que alguien use las imágenes de tu web en la suya, evitándose así el consumo de recursos (que recae sobre ti).
Hay varias formas de evitarlo (servidor, CDN…). Eso sí, uses el método que uses, asegúrate de dar permiso a los sitios a los que sí quieras dar permiso para hacer esto.
12. Escanear tu web constantemente
Aún tomando todas las medidas de seguridad posibles, lo suyo es escanear tu web frecuentemente para detectar la posible existencia de software malicioso.
Ya sabes, los malos siempre van un paso por delante…
La mayoría de hostings cuentan ofrece alguna opción de pago para hacerlo de manera automática.
Pero puedes hacer lo mismo usando un plugin de seguridad.
Además, el instalar un plugin de seguridad de este tipo te simplifica el cumplir todos los requisitos de seguridad de tu web.
En la mayoría de los casos, esta es la mejor opción, porque centraliza la gestión de dichos requisitos de seguridad y la hace más fácil.
Eso sí, todos los plugins de seguridad afectan al rendimiento de tu web. Aunque algunos, como el iThemes Security Pro, bien configurados, lo hacen mínimamente (por eso es el que uso y recomiendo) hay otros que lo hacen bastante más.
La opción código siempre suele ser mejor en cuanto a rendimiento, pero además de requerir más conocimientos su implementación, también es menos cómoda de gestionar.
13. Otros eslabones de la cadena de seguridad
Me he centrado en WordPress de manera específica, pero ten en cuenta que si falla cualquier otro eslabón de la cadena de seguridad, la seguridad de tu web también puede verse comprometida.
Me refiero, por ejemplo al dispositivo o dispositivos que uses para acceder a ella (ordenador, móvil…): también es conveniente que cumplan con las medidas de seguridad adecuadas.
Tampoco te recomiendo que te conectes a redes wifi públicas para acceder a la gestión de tu ecommerce.
¿Tienes un ecommerce seguro?
¡Ahora, ya no tienes excusa para no tenerlo!