Guía de seguridad básica para PrestaShop en cualquier hosting
Tu tienda PrestaShop es el corazón de tu negocio online. Contiene datos de clientes, información de pagos y el esfuerzo de todo tu trabajo. Por eso, aplicar una seguridad PrestaShop básica no es un lujo, es una necesidad.
No necesitas ser un experto en hacking. Con seguir esta guía paso a paso, reducirás enormemente los riesgos y mantendrás tu tienda a salvo. Vamos a ver las medidas esenciales para proteger tienda PrestaShop y aplicar un hardening PrestaShop efectivo, incluso si tu hosting es compartido o gestionas tu propio servidor.
1. Lo Primero: Mantén Todo Actualizado
La regla de oro de la seguridad es: no uses software obsoleto. Cada actualización de PrestaShop, de sus módulos o de las plantillas incluye parches para vulnerabilidades conocidas.
Actualiza PrestaShop (el Core)
Ve al back office: Parámetros de la tienda > Mantenimiento. Si ves un aviso de nueva versión, actualiza cuanto antes.
[WARNING] Antes de actualizar, haz siempre una copia de seguridad completa (archivos + base de datos). Una actualización puede fallar si tienes módulos incompatibles.
Actualiza Módulos y Plantillas
Los módulos y temas son el punto débil más común. Un módulo desactualizado puede ser la puerta de entrada para un ataque.
- Ve a Módulos > Catálogo de módulos.
- Filtra por "Actualizaciones disponibles".
- Actualiza uno por uno, probando que todo funcione.
[INFO] Si un módulo lleva meses sin actualización por parte del desarrollador, considera reemplazarlo por uno alternativo más activo.
2. Fortalece el Acceso al Back Office
El back office es la puerta trasera de tu tienda. Si alguien entra aquí, lo controla todo.
Cambia la URL de Administración
Por defecto, el acceso es tudominio.com/admin. Eso es muy fácil de adivinar. Cámbialo.
- Ve a Parámetros de la tienda > General.
- En la sección "Administración", busca "URL del back office".
- Cambia la palabra "admin" por algo único y difícil de adivinar (ej:
tudominio.com/miadmin2024).
Usa Contraseñas Fuertes y Únicas
Olvida "admin123" o "prestashop". Usa contraseñas con:
- Al menos 12 caracteres.
- Mayúsculas, minúsculas, números y símbolos.
- No reutilices la contraseña de tu email.
[TIP] Usa un gestor de contraseñas como Bitwarden, 1Password o el que trae tu navegador. Así no tienes que recordarlas.
Activa la Autenticación de Doble Factor (2FA)
PrestaShop 8+ incluye 2FA nativo. Actívalo en tu perfil de administrador. Incluso si te roban la contraseña, sin el código del móvil no podrán acceder.
3. Protege los Archivos y Carpetas Críticas
PrestaShop guarda configuraciones y datos sensibles en archivos. Hay que protegerlos.
El Archivo config/settings.inc.php
Este archivo contiene la contraseña de tu base de datos. Es el tesoro más buscado.
¿Cómo protegerlo? En la mayoría de los hosting, ya viene protegido. Pero puedes reforzarlo:
- Cambia sus permisos a 444 (solo lectura) o 440 si tu hosting lo permite.
- Si usas un servidor con HestiaCP (recuerda, en Syspanel accedes por puerto 2106), puedes restringir el acceso desde el panel de archivos.
La Carpeta /admin/ (o la que hayas renombrado)
Dentro de esta carpeta están los controladores del back office. Un hacker intentará ejecutar scripts aquí.
Protección extra:
- Bloqueo por IP: Si solo accedes desde tu casa, puedes limitar el acceso a tu IP pública. Esto se hace desde el panel de control de tu hosting (cPanel, Syspanel, etc.) mediante reglas de
.htaccess. - Carpeta protegida con contraseña: En Syspanel (puerto 2106), puedes añadir una capa extra de autenticación HTTP a la carpeta
/admindesde la sección "Protección por contraseña de directorios".
4. Configura Correctamente los Permisos de Archivos
Los permisos de archivos (CHMOD) controlan quién puede leer, escribir o ejecutar un archivo.
Regla de oro:
- Carpetas: 755 (lectura y ejecución para todos, escritura solo para el usuario).
- Archivos: 644 (lectura para todos, escritura solo para el usuario).
- Archivos sensibles (como
settings.inc.php): 444 o 440.
[WARNING] Nunca pongas permisos 777 (lectura, escritura y ejecución para todos). Es una invitación a que te hackeen.
Puedes cambiar permisos desde el panel de archivos de tu hosting (Syspanel, cPanel) o mediante FTP (FileZilla).
5. Refuerza la Base de Datos
La base de datos guarda clientes, pedidos, productos... Es el alma de tu tienda.
Cambia el Prefijo de las Tablas
Por defecto, las tablas de PrestaShop se llaman ps_. Cambiarlo dificulta los ataques de inyección SQL.
Si estás instalando PrestaShop por primera vez, en el asistente de instalación te pedirá el prefijo. Cámbialo a algo como shop2024_ o mistienda_.
Si ya tienes la tienda funcionando, no lo intentes a mano. Es muy complejo y peligroso. Mejor no toques esto si ya está en producción.
Crea un Usuario de Base de Datos Dedicado
No uses el usuario "root" para tu tienda. Crea un usuario específico con permisos solo sobre la base de datos de PrestaShop. Esto se hace desde phpMyAdmin o desde el panel de tu hosting (Syspanel, cPanel).
6. Activa el Modo Mantenimiento y Desactiva Errores
Cuando tu tienda no está operativa (por mantenimiento o actualización), actívalo.
En Producción: Desactiva la Visualización de Errores
Si un error de PHP se muestra en pantalla, puede revelar rutas de archivos, versiones de software y otras pistas a los atacantes.
- Ve a Parámetros de la tienda > Rendimiento.
- En "Depuración", asegúrate de que "Desactivar todas las funciones de depuración" esté seleccionado.
[TIP] Si necesitas ver errores para solucionar un problema, actívalo temporalmente y desactívalo después.
7. Protege con un Cortafuegos (WAF)
Un WAF (Web Application Firewall) filtra el tráfico malicioso antes de que llegue a tu tienda.
Usa un Módulo de Seguridad
Hay módulos gratuitos y de pago (como PrestaShop Security o NinjaFirewall) que añaden una capa de protección.
Configura el .htaccess Manualmente
Si tu hosting te lo permite, puedes añadir reglas básicas. Por ejemplo, para bloquear el acceso a archivos de configuración:
# Bloquear acceso a settings.inc.php
<Files "settings.inc.php">
Order Allow,Deny
Deny from all
</Files>
# Bloquear acceso a archivos .git
RedirectMatch 404 /\.git
[INFO] Si no sabes editar .htaccess, pide ayuda a tu soporte técnico. Un error aquí puede bloquear tu tienda.
8. Copias de Seguridad Automáticas
Esto no evita ataques, pero te salva si ocurre un desastre. Haz copias de seguridad semanales como mínimo.
Qué incluir en la copia:
- Archivos: Toda la carpeta de PrestaShop.
- Base de datos: Exportación SQL completa.
Dónde guardarlas:
- Nunca en el mismo servidor (si el servidor cae, pierdes todo).
- Descárgalas a tu ordenador o usa un servicio en la nube (Google Drive, Dropbox, etc.).
[WARNING] Muchos hosting (como Syspanel) ofrecen copias automáticas. Actívalas, pero no confíes solo en eso. Descarga una copia manual de vez en cuando.
9. Configura un Certificado SSL (HTTPS)
Es obligatorio para la seguridad y el SEO. Sin HTTPS, los datos viajan en texto plano.
Cómo activarlo:
- La mayoría de los hosting ofrecen Let's Encrypt gratis. Actívalo desde el panel de control (Syspanel, cPanel).
- En PrestaShop, ve a Parámetros de la tienda > General.
- En "Configuración de la tienda", activa "Usar SSL" y "Usar SSL en todas las páginas".
[INFO] Si tu hosting te pide que configures el SSL manualmente, en Syspanel (puerto 2106) tienes la opción "SSL" para cada dominio. Es muy sencillo.
10. FAQ: Preguntas Frecuentes sobre Seguridad en PrestaShop
Aquí respondemos las dudas más comunes que suelen tener los dueños de tiendas.
¿Es seguro usar un hosting compartido para PrestaShop?
Sí, siempre que el hosting tenga buena reputación y medidas de seguridad (como Syspanel). El riesgo es que si otro sitio en el mismo servidor es hackeado, el tuyo podría verse afectado. Pero para tiendas pequeñas o medianas, suele ser suficiente.
¿Cada cuánto debo actualizar PrestaShop?
En cuanto salga una nueva versión estable. No esperes meses. Las actualizaciones de seguridad son críticas.
¿Qué hago si creo que mi tienda ha sido hackeada?
- Pon la tienda en modo mantenimiento (desde el back office o renombrando la carpeta
/admin). - Cambia todas las contraseñas (admin, FTP, base de datos, email).
- Restaura una copia de seguridad limpia (anterior al ataque).
- Actualiza todo a la última versión.
- Contacta con tu hosting para que revisen los logs.
¿El módulo de seguridad gratuito es suficiente?
Los módulos gratuitos (como el de PrestaShop) ofrecen protección básica. Si manejas muchos datos o tienes alto tráfico, considera uno de pago con más funcionalidades.
¿Debo usar un CDN (como Cloudflare) para seguridad?
Sí, Cloudflare gratuito ya protege contra ataques DDoS y acelera tu web. Además, oculta tu IP real. Es muy recomendable.
Resumen Final: Tu Lista de Verificación de Seguridad
Para terminar, aquí tienes un checklist rápido para que no se te olvide nada:
- Actualizado: PrestaShop, módulos y plantillas.
- URL de admin: Cambiada a algo único.
- Contraseñas: Fuertes y con 2FA activado.
- Permisos: Archivos 644, carpetas 755, settings.inc.php 444.
- Base de datos: Prefijo cambiado (si es instalación nueva) y usuario dedicado.
- Errores: Desactivados en producción.
- WAF: Módulo de seguridad o reglas
.htaccess. - Copias de seguridad: Automáticas y guardadas fuera del servidor.
- SSL: Certificado activo y forzado en todas las páginas.
- Hosting: Seguro y con buen soporte (como Syspanel, accesible por puerto 2106).
Siguiendo estos pasos, tu tienda PrestaShop estará mucho más protegida. Recuerda, la seguridad es un proceso continuo, no una tarea única. Dedica 15 minutos cada mes a revisar estos puntos y dormirás tranquilo.
¿Tienes alguna duda? Déjala en los comentarios o contacta con tu soporte técnico. ¡Buena suerte con tu tienda!
