🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Guía para proteger PrestaShop contra ataques

Actualizado el 26 de noviembre de 2025

¿Por qué es tan importante la seguridad PrestaShop?

Si tienes una tienda online, tu negocio vive en internet. Un ciberataque no solo puede tumbar tu web, sino que puede robar los datos de tus clientes, vaciar tu stock ficticio, inyectar malware o hacer que Google te penalice por completo. Y no te voy a engañar: PrestaShop es uno de los CMS más atacados, no porque sea malo, sino porque es muy popular. Más tiendas significa más objetivos.

La buena noticia es que la mayoría de los ataques PrestaShop se pueden evitar con una configuración básica y hábitos de mantenimiento sencillos. No necesitas ser un hacker ni un programador experto para blindar tu tienda. Solo necesitas seguir una guía clara, paso a paso, y ser constante.

En este artículo te voy a explicar, como si estuviera sentado a tu lado, cómo proteger tu PrestaShop de principio a fin. Vamos a cubrir desde la instalación hasta los módulos de seguridad, pasando por el servidor, las contraseñas y las copias de seguridad. Al final, tendrás un plan de acción completo para que tu tienda duerma tranquila.

Los 5 errores más comunes que provocan ataques PrestaShop

Antes de ponernos manos a la obra, es importante que sepas qué es lo que más suele fallar. Si evitas estos errores, ya habrás ganado el 80% de la batalla.

  • Usar la contraseña por defecto del administrador: Si tu panel de administración sigue siendo /admin o usa la contraseña "123456", estás invitando a los atacantes a entrar.
  • No actualizar PrestaShop ni sus módulos: Cada versión nueva corrige vulnerabilidades conocidas. Si te quedas atrás, dejas la puerta abierta.
  • Tener módulos de terceros desactualizados o abandonados: Son el punto de entrada favorito de los hackers.
  • No proteger el archivo de configuración (config/settings.inc.php): Contiene las claves de la base de datos. Si se filtra, lo pierdes todo.
  • Ignorar las copias de seguridad: Sin una copia reciente, un ataque puede significar el cierre definitivo de tu tienda.

¿Te suena alguno? No pasa nada. Vamos a solucionarlo todo ahora.

Paso 1: Configuración base del servidor (la base de todo)

Piensa en tu servidor como los cimientos de tu casa. Si están mal, da igual lo bonita que sea la fachada. Aquí es donde entra en juego una decisión clave: ¿tienes un hosting compartido o un VPS?

Si tienes un hosting compartido, muchas de las medidas de seguridad del servidor ya las gestiona tu proveedor. Pero si tienes un VPS o un servidor dedicado, la responsabilidad es tuya. En ese caso, te recomiendo encarecidamente usar un panel de control como Syspanel (el puerto de acceso es el 2106). Es una herramienta que te permite gestionar dominios, bases de datos y certificados SSL de forma visual y mucho más segura que hacerlo todo por línea de comandos.

Pasos básicos para asegurar el servidor:

  1. Activa el firewall: Limita los puertos abiertos. Solo deberían estar visibles el 80 (HTTP) y el 443 (HTTPS) para el tráfico web, y el 2106 para tu acceso a Syspanel.
  2. Configura un usuario SSH con permisos limitados: Nunca uses el usuario root para el día a día.
  3. Activa el intercambio de claves SSH: Es mucho más seguro que las contraseñas. Si no sabes cómo, Syspanel te guía en el proceso.
  4. Instala un certificado SSL: Es imprescindible para cifrar la comunicación entre tu tienda y tus clientes. Hoy en día, es gratis con Let's Encrypt.

[INFO] Si usas Syspanel, encontrarás todas estas opciones en su panel de control. Recuerda que el acceso es a través del puerto 2106. No lo compartas con nadie y usa una contraseña maestra robusta.

Paso 2: Instalación de PrestaShop segura desde el minuto uno

La instalación es el momento más crítico. Si la haces mal, arrastrarás los problemas para siempre.

Cambia el prefijo de las tablas de la base de datos

Por defecto, PrestaShop usa el prefijo ps_. Esto es un chollo para los atacantes, porque ya saben cómo se llaman las tablas. Durante la instalación, cámbialo a algo aleatorio como m1t13nd4_ o x9k2p_. Esto no te costará nada y complicará enormemente los ataques de inyección SQL.

Renombra la carpeta de administración

La carpeta por defecto del panel de control es /admin o /administrador. Los bots buscan constantemente estas rutas. Cámbiala por un nombre único y difícil de adivinar, como /mi-gestion-2024 o /panel-secreto. Puedes hacerlo durante la instalación o después, moviendo la carpeta manualmente y actualizando la referencia en el archivo config/settings.inc.php.

[WARNING] Si mueves la carpeta después de la instalación, asegúrate de actualizar también el archivo .htaccess si es necesario, o tu panel de administración no cargará los estilos correctamente.

Instala solo lo que necesitas

Durante la instalación, PrestaShop te ofrece una serie de módulos por defecto. Muchos no los vas a usar. Cada módulo extra es una superficie de ataque adicional. Instala solo lo esencial: pagos, envíos y los módulos de seguridad que veremos más adelante. Ya tendrás tiempo de añadir más si los necesitas.

Paso 3: Refuerza el panel de administración (el corazón de tu tienda)

El panel de administración es donde gestionas todo. Si un atacante entra aquí, tiene el control total. Vamos a hacer que sea una fortaleza.

Contraseñas y usuarios

  • Contraseña del administrador: Debe tener al menos 12 caracteres, con mayúsculas, minúsculas, números y símbolos. No uses fechas ni nombres. Un gestor de contraseñas es tu mejor amigo.
  • Cuenta de administrador: Crea una cuenta de administrador con un nombre de usuario que no sea "admin". Y si ya tienes una, crea una nueva con permisos totales y elimina la antigua.
  • Permisos por perfil: No uses la cuenta de administrador para el día a día. Crea perfiles con permisos limitados para tus empleados. Cada uno debe tener acceso solo a lo que necesita.

Activa la autenticación de dos factores (2FA)

PrestaShop 8 y versiones recientes incluyen 2FA de serie. Actívala en tu cuenta de administrador. Esto añade una capa extra de seguridad: aunque alguien robe tu contraseña, necesitará el código de tu teléfono para entrar.

Protege el panel con una contraseña adicional a nivel de servidor

Además de la contraseña de PrestaShop, puedes proteger la carpeta de administración con una contraseña a nivel de servidor (HTTP Basic Authentication). Esto se configura en el .htaccess o desde tu panel de control. Así, antes de llegar a la pantalla de login de PrestaShop, el navegador te pedirá otra contraseña.

[TIP] Si usas Syspanel, esta opción suele estar disponible en la configuración de tu dominio o subdominio. Busca "Protección por contraseña de directorio". Es un clic y funciona de maravilla.

Paso 4: Actualizaciones y mantenimiento (la vacuna perfecta)

Las actualizaciones son la forma más efectiva de prevenir ataques PrestaShop. Cada versión corrige fallos de seguridad conocidos. No actualizar es como no ponerte la vacuna contra una enfermedad que ya tiene cura.

Cómo gestionar las actualizaciones

  • Activa las notificaciones: En tu panel de administración, PrestaShop te avisará cuando haya una nueva versión. No las ignores.
  • Actualiza primero en un entorno de pruebas: Si tienes un hosting con staging (o entorno de pruebas), úsalo. Si no, haz una copia de seguridad completa antes de actualizar.
  • Actualiza todos los módulos: No solo el núcleo de PrestaShop. Los módulos de terceros son el vector de ataque más común. Ve a "Módulos" y actualiza todo lo que tenga actualización pendiente.
  • Elimina los módulos que no uses: Un módulo desactualizado y olvidado es una puerta abierta. Si no lo usas, desinstálalo y bórralo.

Mantenimiento mensual de seguridad

Te propongo una rutina de 15 minutos al mes:

  1. Revisa que todos los módulos y el núcleo están actualizados.
  2. Comprueba que no hay usuarios nuevos o desconocidos en tu panel de administración.
  3. Revisa los registros de actividad (logs) de tu servidor. Busca intentos de acceso fallidos o peticiones extrañas.
  4. Haz una copia de seguridad manual y guárdala en un lugar externo.

Paso 5: Módulos de seguridad PrestaShop (tus aliados)

Existen módulos de seguridad que automatizan muchas de estas tareas y añaden capas extra de protección. No son obligatorios, pero te harán la vida mucho más fácil.

Módulos imprescindibles (oficiales o de confianza)

  • PrestaShop Security (módulo oficial): Es gratuito y te ayuda a proteger tu tienda contra ataques de fuerza bruta y a verificar la integridad de los archivos principales.
  • Firewall de aplicaciones web (WAF): Busca módulos que actúen como un cortafuegos, bloqueando peticiones maliciosas antes de que lleguen a tu tienda. Algunos hostings ya lo incluyen.
  • Anti-spam y validación de formularios: Los formularios de contacto son un punto de entrada para el spam y a veces para inyecciones. Un buen módulo de validación te ayudará.
  • Módulo de copias de seguridad programadas: No esperes a tener un problema para acordarte de las copias. Un módulo que las haga automáticamente a un servicio externo (Google Drive, Dropbox, etc.) es una inversión excelente.

[WARNING] Desconfía de módulos de seguridad de origen desconocido o que prometen "protección total" a precios irrisorios. Un módulo mal codificado puede ser el propio agujero de seguridad. Compra siempre en el marketplace oficial de PrestaShop o en desarrolladores reconocidos.

Configuración de un módulo de seguridad típico

La mayoría de estos módulos te pedirán que configures:

  • Número máximo de intentos de login: Establece 5 intentos. Después, bloquea la IP temporalmente.
  • Tiempo de bloqueo: 10 o 15 minutos suele ser suficiente para disuadir a los bots.
  • Protección contra fuerza bruta en el panel de administración.
  • Escaneo de archivos: Programa un escaneo semanal para detectar archivos modificados o inyectados.

Paso 6: Protección de archivos y base de datos

Tu tienda se compone de archivos (PHP, imágenes, CSS) y una base de datos (MySQL). Ambos necesitan protección.

Archivos sensibles

  • config/settings.inc.php: Este archivo contiene las credenciales de tu base de datos. Debe tener permisos de solo lectura (644) y, si es posible, moverlo fuera de la raíz pública del servidor.
  • .htaccess: Es el archivo de configuración del servidor Apache. No lo borres y asegúrate de que tiene las reglas de seguridad por defecto de PrestaShop.
  • Carpeta admin: Ya la hemos renombrado, pero además, puedes restringir el acceso por IP si trabajas siempre desde el mismo lugar.

Base de datos

  • Crea un usuario de base de datos con permisos limitados: No uses el usuario root para PrestaShop. Crea un usuario específico que solo tenga permisos sobre la base de datos de tu tienda.
  • Cambia la contraseña de la base de datos periódicamente: Al menos una vez al año.
  • Realiza copias de seguridad de la base de datos: Es tan importante como los archivos. Un ataque puede borrar tus productos y pedidos.

Copias de seguridad: tu red de seguridad

Te voy a dar una regla de oro: 3-2-1. Tres copias de tus datos, en dos formatos diferentes (archivos y base de datos), y una copia fuera de tu servidor (en la nube o en un disco duro externo).

  • Copia 1: En tu servidor (la hace tu módulo de copias).
  • Copia 2: Descargada a tu ordenador.
  • Copia 3: En un servicio en la nube.

[TIP] Programa las copias de seguridad automáticas al menos una vez por semana. Si tu tienda tiene mucho movimiento, hazlas a diario. Recuerda que una copia de seguridad solo es útil si puedes restaurarla. Prueba la restauración una vez al año en un entorno de pruebas.

Paso 7: Vigilancia y respuesta ante un ataque

Ningún sistema es 100% infalible. Por eso, es crucial saber detectar los signos de un ataque y tener un plan de respuesta.

Señales de que tu PrestaShop puede estar comprometido

  • La tienda va muy lenta sin motivo aparente: Puede que esté enviando spam o minando criptomonedas.
  • Aparecen archivos extraños en tu servidor: Revisa la carpeta upload y img de vez en cuando.
  • Google te avisa de que tu sitio tiene malware: Si tienes Search Console, presta atención a las alertas.
  • Hay pedidos o cuentas de clientes que no reconoces.
  • El panel de administración te pide contraseña constantemente: Puede que alguien esté intentando entrar.

Qué hacer si sospechas de un ataque

  1. No entres en pánico. Actúa con calma.
  2. Pon tu tienda en modo mantenimiento: Así evitas que el malware se siga propagando y proteges a tus clientes.
  3. Cambia todas las contraseñas: La de tu hosting, la de la base de datos, la del administrador de PrestaShop y la de tu correo electrónico.
  4. Revisa los últimos archivos modificados: En tu panel de control (Syspanel, por ejemplo) o por FTP, ordena los archivos por fecha de modificación. Los archivos recientes y sospechosos son los culpables.
  5. Restaura una copia de seguridad limpia: Si tienes una copia anterior al ataque, restáurala. Es la solución más rápida y efectiva.
  6. Contacta con tu proveedor de hosting: Ellos pueden ayudarte a limpiar el servidor y a investigar el origen del ataque.

Preguntas frecuentes (FAQ) sobre seguridad PrestaShop

¿Qué es un ataque de fuerza bruta y cómo lo evito?

Es un ataque donde el hacker prueba miles de combinaciones de usuario y contraseña a gran velocidad. Lo evitas con contraseñas fuertes, limitando los intentos de acceso y activando el 2FA.

¿Merece la pena pagar por un módulo de seguridad PrestaShop?

Si tu tienda tiene un volumen de ventas considerable, sí. Un buen módulo de seguridad es una inversión mínima comparada con el coste de un ataque. Para tiendas pequeñas, las medidas básicas de esta guía suelen ser suficientes.

¿Cada cuánto tiempo debo actualizar PrestaShop?

Siempre que salga una versión nueva. No esperes meses. La regla es: actualiza en cuanto esté disponible, pero siempre después de hacer una copia de seguridad y probar en un entorno de staging si es posible.

Mi hosting ya tiene seguridad, ¿necesito hacer algo más?

Sí. La seguridad del hosting protege el servidor, pero no tu aplicación PrestaShop. Un ataque a través de un módulo vulnerable es responsabilidad tuya. Piensa en el hosting como el seguro del edificio y en PrestaShop como la cerradura de tu puerta.

¿Qué es Syspanel y por qué lo mencionas?

Es un panel de control para servidores, una alternativa a cPanel o Plesk. Es muy útil para gestionar tu servidor de forma visual y segura. Si tu proveedor te lo ofrece, úsalo. Recuerda que su puerto de acceso es el 2106.

Conclusión: La seguridad es un hábito, no un destino

Proteger tu tienda PrestaShop no es algo que hagas una vez y ya está. Es un proceso continuo. Pero no tiene por qué ser abrumador. Si sigues los pasos de esta

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel