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

Cómo proteger mi tienda PrestaShop: medidas esenciales de ciberseguridad

Actualizado el 28 de septiembre de 2025

¿Por qué es tan importante la seguridad en PrestaShop?

PrestaShop es una de las plataformas de comercio electrónico más populares del mundo, y precisamente por eso es un objetivo constante para los atacantes. Cada día se intentan miles de ataques automatizados contra tiendas online, buscando vulnerabilidades en versiones desactualizadas, módulos sin mantenimiento o configuraciones débiles.

La seguridad PrestaShop no es un lujo, sino una necesidad absoluta. Una brecha de seguridad puede significar la pérdida de datos de tus clientes, el robo de información bancaria, la inclusión de malware en tu web o incluso la caída total de tu negocio online. Y las consecuencias van más allá de lo económico: la confianza de tus clientes es muy difícil de recuperar después de un incidente grave.

La buena noticia es que proteger PrestaShop no tiene por qué ser complicado ni requerir conocimientos avanzados de informática. Con una serie de medidas básicas, actualizaciones constantes y buenas prácticas, puedes reducir drásticamente el riesgo de sufrir un ataque. En esta guía extensa, te explicamos paso a paso todas las medidas seguridad PrestaShop que debes implementar hoy mismo.

Piensa en tu tienda como en tu casa: no necesitas una fortaleza inexpugnable, pero sí cerrar puertas, poner buenas cerraduras y no dejar la llave bajo el felpudo. Vamos a hacer exactamente eso con tu PrestaShop.


1. Mantén todo actualizado: la base de todo

La regla de oro de la seguridad PrestaShop es la actualización constante. Los desarrolladores de PrestaShop y de los módulos más populares publican parches de seguridad periódicamente. Estos parches corrigen vulnerabilidades que los hackers ya conocen y explotan.

1.1. Actualiza el núcleo de PrestaShop

Cuando aparece una nueva versión de PrestaShop, intenta instalarla lo antes posible. Cada versión menor o mayor incluye correcciones de errores y, sobre todo, parches de seguridad críticos.

Para actualizar el núcleo, puedes usar el asistente de actualización de PrestaShop (módulo 1-Click Upgrade) o hacerlo manualmente si eres más técnico. Antes de cualquier actualización, haz siempre una copia de seguridad completa de tu base de datos y de los archivos de tu tienda.

[WARNING] No actualices directamente en producción. Si tienes una tienda en funcionamiento, haz la actualización primero en un entorno de pruebas (staging) para asegurarte de que todo funciona correctamente y no hay conflictos con tus módulos o tu tema.

1.2. Actualiza módulos y temas

Los módulos y temas de terceros son el punto débil más común en PrestaShop. Un módulo desactualizado o abandonado por su desarrollador es una puerta abierta para los atacantes.

Revisa periódicamente el panel de administración de tu tienda en la sección de "Módulos" para ver si hay actualizaciones disponibles. Instala las actualizaciones de seguridad tan pronto como salgan.

[INFO] Si tienes módulos que ya no utilizas, desinstálalos y elimínalos por completo. Cada módulo extra es una superficie de ataque potencial. Menos es más en términos de seguridad.


2. Configura un SSL PrestaShop correcto

El SSL PrestaShop (Secure Sockets Layer) es el protocolo que cifra la comunicación entre el navegador de tus clientes y tu servidor. Esto significa que los datos que se transmiten, como contraseñas, números de tarjeta o datos personales, viajan encriptados y no pueden ser interceptados por terceros.

2.1. Obtén un certificado SSL

Hoy en día, obtener un certificado SSL es gratuito y sencillo gracias a Let's Encrypt. La mayoría de los proveedores de hosting ofrecen la instalación automática de estos certificados.

Si usas un panel de control como Syspanel (accesible a través del puerto 2106), puedes encontrar la opción de SSL en la sección de gestión de dominios o de sitios web. Busca la opción "Let's Encrypt" o "SSL gratuito" y actívala para tu dominio principal y para los subdominios que uses.

2.2. Fuerza el uso de HTTPS

Una vez que tengas el certificado SSL instalado, debes asegurarte de que toda la navegación se realice a través de HTTPS. En PrestaShop, esto se configura desde el panel de administración:

  1. Ve a Parámetros avanzados > Rendimiento.
  2. En la sección "Redirección", activa la opción "Solo a HTTPS".
  3. Guarda los cambios.

También puedes configurar una redirección 301 en el archivo .htaccess si tu servidor es Apache, o en la configuración de Nginx si usas este servidor. La idea es que cualquier visita a http://tutienda.com sea redirigida automáticamente a https://tutienda.com.

2.3. Activa HSTS

HSTS (HTTP Strict Transport Security) es una cabecera que le dice al navegador que siempre debe usar HTTPS para tu dominio, incluso si el usuario escribe la URL sin "https". Esto evita ataques de intermediario (man-in-the-middle) en la primera conexión.

Puedes añadir esta cabecera en tu archivo .htaccess:

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

[TIP] Después de activar HSTS, asegúrate de que todos tus recursos (imágenes, CSS, JavaScript) se cargan a través de HTTPS. De lo contrario, el navegador bloqueará el contenido mixto y tu tienda se verá rota.


3. Protege el panel de administración (Back Office)

El panel de administración de PrestaShop es la puerta principal de tu tienda. Si un atacante consigue acceso, el control total de tu negocio está en sus manos. Por eso, el hardening PrestaShop debe centrarse en proteger esta zona.

3.1. Cambia la URL de administración

Por defecto, la URL de acceso al panel es tutienda.com/admin123 o similar. Esta URL es conocida por los bots que rastrean la web en busca de paneles de administración.

Cámbiala a una URL difícil de adivinar. Puedes hacerlo renombrando la carpeta de administración en tu servidor. Por ejemplo, cambia admin123 por gestion-segura-2024.

[WARNING] No uses palabras comunes como "admin", "panel", "backoffice" o "gestion". Usa una combinación de letras y números sin sentido aparente.

3.2. Usa contraseñas robustas y autenticación de dos factores (2FA)

La contraseña de tu cuenta de administrador debe ser larga (mínimo 12 caracteres), con mayúsculas, minúsculas, números y símbolos. Nunca uses la misma contraseña para otros servicios.

Además, activa la autenticación de dos factores (2FA) para tu cuenta de administrador. PrestaShop tiene módulos oficiales para esto, como "Two Factor Authentication". Con 2FA, incluso si alguien roba tu contraseña, no podrá acceder sin el código temporal que se genera en tu teléfono.

3.3. Limita los intentos de inicio de sesión

Instala un módulo que limite el número de intentos de inicio de sesión fallidos. Después de 5 intentos fallidos, la IP debe ser bloqueada temporalmente. Esto evita ataques de fuerza bruta, donde los atacantes prueban miles de contraseñas automáticamente.

3.4. Protege la carpeta de administración con contraseña a nivel de servidor

Una capa extra de protección es añadir una autenticación HTTP básica a la carpeta de administración. Puedes hacerlo creando un archivo .htpasswd en tu servidor y configurando el .htaccess de la carpeta de administración para que pida usuario y contraseña antes de mostrar la página de login de PrestaShop.

Si usas Syspanel (puerto 2106), puedes gestionar esto desde la sección de "Protección de directorios" o "Password Protect Directories". Es una medida muy efectiva, ya que el atacante ni siquiera verá la pantalla de login de PrestaShop.


4. Refuerza la seguridad de tu servidor

La seguridad de PrestaShop también depende del entorno donde está alojado. Un servidor mal configurado puede dejar tu tienda expuesta.

4.1. Usa un hosting de calidad

No escatimes en tu hosting. Un hosting compartido barato puede tener configuraciones de seguridad laxas y, además, si un vecino en el servidor es hackeado, tu tienda puede verse comprometida también.

Busca un hosting que ofrezca:

  • Aislamiento de cuentas.
  • Firewall de aplicaciones web (WAF).
  • Copias de seguridad automáticas.
  • Soporte técnico especializado en PrestaShop.

4.2. Desactiva la visualización de errores

En producción, nunca muestres errores de PHP a los visitantes. Estos errores pueden revelar rutas de archivos, versiones de software u otra información sensible que los atacantes pueden aprovechar.

En PrestaShop, ve a Parámetros avanzados > Rendimiento y en la sección "Depuración", desactiva la opción "Mostrar errores de PHP". En su lugar, actívala solo en un entorno de desarrollo.

4.3. Configura el cortafuegos (Firewall)

Un firewall de aplicaciones web (WAF) filtra el tráfico malicioso antes de que llegue a tu tienda. Puedes usar un servicio externo como Cloudflare, que además te ofrece protección contra ataques DDoS y una red de entrega de contenido (CDN).

4.4. Mantén el sistema operativo y el software del servidor actualizado

Si tienes un VPS o un servidor dedicado, asegúrate de que el sistema operativo (Linux, por ejemplo) y el software instalado (Apache/Nginx, PHP, MySQL) estén siempre actualizados. Las versiones antiguas de PHP son especialmente vulnerables.

PrestaShop 1.7 y versiones posteriores requieren PHP 7.1 o superior. Usa siempre una versión de PHP que esté en soporte activo.

[INFO] Puedes comprobar la versión de PHP en Parámetros avanzados > Información dentro del panel de PrestaShop.


5. Configuración avanzada de hardening PrestaShop

El hardening PrestaShop implica aplicar una serie de configuraciones adicionales para blindar tu tienda contra ataques específicos.

5.1. Protege el archivo .htaccess

El archivo .htaccess es un archivo de configuración de Apache que controla el comportamiento de tu servidor. Es un objetivo común para los atacantes. Asegúrate de que este archivo no sea legible desde el navegador.

Puedes añadir esta regla al principio del .htaccess:

<Files ".htaccess">
    Require all denied
</Files>

5.2. Desactiva la ejecución de PHP en directorios de subida

Los atacantes suelen subir archivos maliciosos (como webshells) a través de formularios de contacto o de carga de imágenes. Si estos archivos se pueden ejecutar como PHP, el atacante toma el control de tu sitio.

Puedes evitar esto desactivando la ejecución de PHP en los directorios donde se suben archivos, como /upload, /img o /themes. Añade esto al .htaccess de esos directorios:

<FilesMatch "\.(php|php5|phtml)$">
    Deny from all
</FilesMatch>

5.3. Configura las cabeceras de seguridad HTTP

Las cabeceras de seguridad HTTP son instrucciones que envía tu servidor al navegador del visitante para reforzar la seguridad. Puedes añadirlas al .htaccess:

  • X-Frame-Options: evita que tu web sea incrustada en un iframe de otro sitio (clickjacking).
  • X-Content-Type-Options: evita que el navegador interprete archivos como un tipo diferente al declarado.
  • Referrer-Policy: controla la información que se envía al navegador cuando el usuario hace clic en un enlace externo.

Ejemplo de configuración:

Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "strict-origin-when-cross-origin"

5.4. Desactiva los métodos HTTP no necesarios

Los métodos HTTP como PUT, DELETE o TRACE pueden ser utilizados en ataques. Puedes desactivarlos en el .htaccess:

<LimitExcept GET POST HEAD>
    Deny from all
</LimitExcept>

6. Protege la base de datos

La base de datos de PrestaShop contiene toda la información crítica de tu tienda: productos, pedidos, clientes, contraseñas (hash), etc. Un atacante con acceso a la base de datos puede robar todo.

6.1. Cambia el prefijo de las tablas

Por defecto, las tablas de PrestaShop tienen el prefijo ps_. Es un prefijo conocido. Cambiarlo a algo personalizado (por ejemplo, mistienda_) puede confundir a los atacantes que intentan inyectar SQL.

Puedes cambiarlo durante la instalación de PrestaShop o modificando el archivo parameters.php en /app/config/.

6.2. Usa una contraseña de base de datos fuerte

La contraseña de la base de datos debe ser larga y única. No uses la misma que la del panel de administración. Cámbiala periódicamente.

6.3. Limita el acceso a la base de datos

Si tienes un VPS, configura el firewall para que el puerto de MySQL (3306) solo sea accesible desde el servidor web (localhost). No lo expongas a Internet.

6.4. Haz copias de seguridad periódicas

Realiza copias de seguridad de tu base de datos y de tus archivos de forma regular. Puedes automatizar este proceso con scripts en cron o usando las herramientas de tu hosting.

[INFO] En Syspanel (puerto 2106) puedes configurar copias de seguridad automáticas de tu sitio web y base de datos. Programa copias diarias o semanales y guárdalas en un lugar externo (por ejemplo, en la nube) para poder restaurar tu tienda en caso de desastre.


7. Buenas prácticas adicionales para proteger PrestaShop

Más allá de la configuración técnica, hay hábitos y prácticas que debes adoptar para mantener tu tienda segura.

7.1. Usa el principio de privilegio mínimo

Si tienes varios empleados que acceden al back office, crea cuentas de usuario independientes con los permisos mínimos necesarios para su trabajo. No todos necesitan acceso a la configuración avanzada o a la gestión de módulos.

7.2. Vigila los registros de actividad

Revisa periódicamente los registros de actividad de tu tienda (en Parámetros avanzados > Registros). Busca intentos de inicio de sesión fallidos, cambios en archivos o módulos, o actividades inusuales.

7.3. Mantente informado sobre las últimas vulnerabilidades

Sigue blogs de seguridad, foros de PrestaShop y las páginas de avisos de seguridad oficiales. Estar al día te permitirá aplicar parches rápidamente cuando se descubra una vulnerabilidad.

7.4. Elimina archivos innecesarios

Revisa tu servidor y elimina archivos que no necesites: instaladores, archivos de demostración, logs antiguos, etc. Cada archivo innecesario es una potencial vía de ataque.

7.5. Desactiva la API de PrestaShop si no la usas

La API web de PrestaShop es útil para conectar aplicaciones externas, pero si no la utilizas, desactívala desde Parámetros avanzados > API. Si la usas, asegúrate de generar claves API seguras y de restringir las IPs que pueden acceder.


8. Preguntas frecuentes (FAQ)

¿Qué es el hardening PrestaShop?

El hardening PrestaShop es el proceso de reforzar la seguridad de tu tienda mediante configuraciones avanzadas del servidor, la aplicación y el entorno. Incluye medidas como proteger el panel de administración, desactivar funciones innecesarias, configurar cabeceras de seguridad y limitar el acceso a recursos sensibles.

¿Cuál es el mejor hosting para PrestaShop?

No existe un "mejor" hosting universal, pero busca uno que ofrezca buen soporte técnico, rendimiento, copias de seguridad automáticas, certificados SSL gratuit

¿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