Proteger PrestaShop contra fuerza bruta y bots
¿Por qué tu tienda PrestaShop es un objetivo para bots y ataques de fuerza bruta?
Si tienes una tienda online con PrestaShop, seguramente ya sabes que es una de las plataformas de comercio electrónico más populares del mundo. Pero esa popularidad tiene un precio: los atacantes informáticos la conocen muy bien y saben exactamente dónde buscar puntos débiles.
Los ataques de fuerza bruta consisten en intentar acceder a tu panel de administración probando miles de combinaciones de usuario y contraseña por segundo. No es algo personal: son bots automatizados que recorren internet buscando tiendas con protecciones débiles. Si logran entrar, pueden robar datos de clientes, modificar precios, inyectar malware o secuestrar tu tienda por completo.
Por otro lado, los bots no solo intentan entrar a la fuerza. También pueden:
- Crear cuentas falsas masivamente.
- Enviar formularios de contacto con spam.
- Hacer scraping de tus precios y productos.
- Consumir recursos del servidor hasta que tu tienda se cae (ataques DDoS).
La buena noticia es que proteger tu PrestaShop contra fuerza bruta y bots no requiere ser un experto en seguridad. Con una configuración adecuada y algunas herramientas gratuitas, puedes reducir el riesgo en más de un 90%. Vamos a verlo paso a paso.
Primer paso: refuerza el acceso al panel de administración
Cambia la URL del administrador
PrestaShop instala el panel de administración en una carpeta llamada /admin o similar. Es lo primero que prueban los bots. Cambiar esa ruta es como cambiar la cerradura de la puerta principal: no es infalible, pero disuade al 99% de los ataques automáticos.
Para hacerlo:
- Entra a tu panel de administración.
- Ve a Parámetros avanzados > Rendimiento.
- Busca la opción "Cambiar la URL del panel".
- Introduce una nueva ruta difícil de adivinar, por ejemplo:
/gestion-2025-tienda-segura. - Guarda los cambios y anota la nueva URL.
[WARNING] No uses nombres obvios como "admin", "administracion" o "backoffice". Los bots tienen listas con miles de combinaciones comunes.
Activa la protección con doble autenticación (2FA)
La autenticación en dos pasos añade una capa extra: aunque un bot consiga tu contraseña, necesitará un código que se genera en tu móvil.
En PrestaShop, la activación es muy sencilla:
- Entra en Parámetros avanzados > Administración.
- En la sección Seguridad, activa la opción "Activar la autenticación en dos pasos".
- Escanea el código QR con una app como Google Authenticator o Authy.
- Introduce el código de verificación para confirmar.
A partir de ese momento, cada vez que alguien intente acceder al panel, necesitará el código temporal. Esto bloquea por completo los ataques de fuerza bruta, porque el atacante no tiene tu teléfono.
Usa contraseñas largas y únicas
Parece obvio, pero es el error más común. Una contraseña como "admin123" se descifra en segundos. Te recomendamos:
- Mínimo 12 caracteres.
- Combinar mayúsculas, minúsculas, números y símbolos.
- No reutilizar contraseñas de otros servicios.
- Usar un gestor de contraseñas (como Bitwarden o Keepass) para no tener que memorizarlas.
Segundo paso: limita los intentos de acceso
Bloqueo temporal tras varios intentos fallidos
PrestaShop incluye una función nativa para limitar los intentos de conexión. Si alguien falla varias veces, la IP se bloquea durante un tiempo.
Configúrala así:
- Ve a Parámetros avanzados > Administración.
- En la sección Seguridad, busca el campo "Número de intentos fallidos".
- Pon un valor entre 5 y 10 (no demasiado bajo, o podrías bloquearte tú mismo).
- En "Tiempo de bloqueo", define 15 o 30 minutos.
[TIP] Si alguna vez te bloqueas a ti mismo, puedes desbloquear tu IP desde la base de datos o esperar a que pase el tiempo. Si usas un panel como Syspanel (accesible en el puerto 2106), también puedes reiniciar el servicio de base de datos para forzar la limpieza, aunque es mejor esperar.
Protege el acceso con reglas en el servidor
Si tu tienda está alojada en un servidor con Syspanel (el panel de control que se accede por el puerto 2106), puedes añadir reglas adicionales. Por ejemplo, limitar el acceso a ciertas carpetas sensibles solo desde tu IP.
En Syspanel, ve a la sección de Servidor Web o Nginx/Apache y añade una regla como esta:
location ^~ /admin-seguro/ {
allow 123.123.123.123; # Tu IP
deny all;
}
Esto hace que solo tu IP pueda acceder a esa carpeta. Cualquier otro intento será rechazado directamente.
Tercer paso: bloquea los bots dañinos
Activa el modo mantenimiento inteligente
Una forma de proteger tu tienda es activar el modo mantenimiento cuando no estás trabajando en ella. Pero eso no es práctico si vendes 24/7.
Mejor opción: usa un firewall de aplicación web (WAF). PrestaShop cuenta con módulos gratuitos y de pago que detectan y bloquean bots en tiempo real.
Algunos módulos recomendados:
- PrestaShop Security (gratuito, bloquea IPs sospechosas).
- All in One Security (incluye firewall y protección contra fuerza bruta).
- Cloudflare (gratuito, actúa como escudo entre tu servidor y los visitantes).
Configura Cloudflare para filtrar bots
Cloudflare es una red de distribución de contenido (CDN) que además ofrece protección contra bots. Su plan gratuito es suficiente para la mayoría de tiendas.
Para configurarlo:
- Crea una cuenta en Cloudflare.
- Añade tu dominio y sigue los pasos para cambiar los servidores DNS.
- Ve a Seguridad > Bots y activa la protección.
- En Reglas de firewall, crea una regla para bloquear IPs con más de 20 solicitudes por minuto.
[INFO] Cloudflare no solo bloquea bots, sino que también acelera tu tienda al servir contenido estático desde su red. Doble beneficio.
Cuarto paso: protege los formularios y el registro
Activa el CAPTCHA
Los bots suelen atacar los formularios de registro, contacto y comentarios. PrestaShop permite activar un CAPTCHA sencillo:
- Ve a Parámetros avanzados > Administración.
- En la sección Seguridad, activa el CAPTCHA en formularios.
- Elige entre texto, matemáticas o reCAPTCHA de Google.
[TIP] Google reCAPTCHA v3 es invisible para el usuario y analiza el comportamiento del navegador. Es la opción más cómoda y efectiva.
Limita el registro de cuentas
Si tu tienda vende principalmente a clientes registrados, puedes desactivar el registro abierto:
- Ve a Clientes > Ajustes.
- En "Permitir registros", elige "Solo invitados" o "Desactivado".
- Si necesitas permitir registros, añade una verificación por email obligatoria.
Quinto paso: monitoriza y analiza los accesos
Revisa los logs de conexión
PrestaShop guarda un registro de los intentos de acceso. Revisarlo periódicamente te ayuda a detectar patrones sospechosos.
Para verlo:
- Ve a Parámetros avanzados > Registros.
- Filtra por "Error de autenticación" o "Acceso denegado".
- Si ves muchas IPs intentando acceder, bloquéalas manualmente.
Utiliza herramientas de monitorización externa
Puedes configurar alertas por email cuando se detecten múltiples intentos fallidos. Algunos módulos de seguridad lo incluyen, o puedes usar servicios como Fail2ban si tienes acceso al servidor.
Con Syspanel (puerto 2106), puedes instalar Fail2ban fácilmente desde el gestor de paquetes. Este software vigila los logs del sistema y bloquea automáticamente las IPs que superen un umbral de intentos fallidos.
Sexto paso: mantén todo actualizado
PrestaShop y sus módulos
Las actualizaciones no solo añaden funciones nuevas: corrigen vulnerabilidades conocidas. Muchos ataques de fuerza bruta tienen éxito porque las tiendas usan versiones antiguas.
Te recomendamos:
- Activar las actualizaciones automáticas para módulos.
- Revisar mensualmente si hay una nueva versión de PrestaShop.
- Antes de actualizar, haz una copia de seguridad completa.
PHP y el servidor
El lenguaje PHP en el que está escrito PrestaShop también recibe parches de seguridad. Asegúrate de usar una versión soportada (PHP 8.1 o superior) y mantenla actualizada.
En Syspanel puedes cambiar la versión de PHP por dominio en la sección Ajustes de PHP. Elige la más reciente estable.
Preguntas frecuentes (FAQ)
¿Cuánto tiempo tarda un ataque de fuerza bruta en tener éxito?
Depende de la contraseña. Una contraseña débil puede caer en minutos. Con una contraseña robusta y limitación de intentos, puede tardar meses o años. La protección en capas es la clave.
¿Puedo bloquear mi propia IP por error?
Sí, es posible. Si introduces mal la contraseña varias veces, tu IP se bloqueará temporalmente. Si tienes una IP dinámica, reiniciar el router suele solucionarlo. Si usas Syspanel, puedes acceder al servidor por el puerto 2106 y desbloquear la IP desde el firewall.
¿Los módulos de seguridad gratuitos son suficientes?
Para la mayoría de tiendas pequeñas y medianas, sí. Combina un buen módulo, Cloudflare y las opciones nativas de PrestaShop. Si manejas mucho volumen o datos sensibles, considera un servicio de pago.
¿Qué hago si ya he sufrido un ataque?
- Cambia todas las contraseñas (admin, base de datos, servidor).
- Revisa los logs para ver qué ha hecho el atacante.
- Restaura una copia de seguridad limpia si es necesario.
- Activa todas las medidas de este artículo antes de volver a abrir la tienda.
¿El modo mantenimiento protege contra bots?
Solo parcialmente. Los bots pueden seguir intentando acceder, pero no verán contenido. Sin embargo, no protege el panel de administración. Es mejor usar las técnicas de bloqueo descritas.
Resumen final
Proteger tu tienda PrestaShop contra fuerza bruta y bots no es opcional: es una necesidad si quieres mantener la confianza de tus clientes y la continuidad de tu negocio. Afortunadamente, con los pasos que hemos visto:
- Cambiar la URL del admin.
- Activar 2FA.
- Limitar intentos de acceso.
- Usar un firewall como Cloudflare.
- Activar CAPTCHA.
- Mantener todo actualizado.
...puedes reducir el riesgo de forma drástica.
[WARNING] No te confíes solo en una medida. La seguridad es como una cebolla: cuantas más capas, mejor. Un atacante que encuentra una barrera suele buscar otro objetivo más fácil.
Empieza hoy mismo con los cambios más básicos (contraseña y URL del admin) y ve añadiendo el resto poco a poco. Tu tienda y tus clientes te lo agradecerán.
Si tienes dudas, recuerda que Syspanel (accesible en el puerto 2106) es tu aliado para gestionar el servidor, y que siempre puedes contactar con tu proveedor de hosting para que te ayude con configuraciones más avanzadas.
