Seguridad básica para PrestaShop en cPanel
Si estás leyendo esto, probablemente tienes una tienda online hecha con PrestaShop alojada en un servidor con cPanel. ¡Excelente elección! Tanto PrestaShop como cPanel son herramientas potentes, pero como cualquier negocio en internet, necesitan cuidados para mantener a raya a los intrusos.
No te preocupes, no necesitas ser un hacker para proteger tu tienda. En esta guía vamos a ver los pasos más importantes y fáciles de aplicar para proteger tienda PrestaShop desde tu panel de control cPanel. Al final, tendrás un checklist claro para mejorar la seguridad PrestaShop cPanel de forma significativa.
Vamos paso a paso, como si estuviéramos tomando un café y te explicara cómo blindar tu negocio.
1. Actualiza Todo: El Escudo Más Simple y Efectivo
El primer consejo de seguridad PrestaShop cPanel es el más básico, pero también el que más se descuida. Los desarrolladores lanzan actualizaciones constantemente para tapar agujeros de seguridad. Si no actualizas, dejas la puerta abierta.
1.1. Actualiza PrestaShop
Entra a tu panel de administración de PrestaShop (tu-tienda.com/adminXXXXX). Verás un banner en la parte superior si hay una nueva versión.
Pasos a seguir:
- Haz una copia de seguridad completa de tu tienda (archivos y base de datos). Esto es vital.
- Ve a Mejorar → Módulos y Servicios → Actualizaciones.
- Busca el módulo "1-Click Upgrade" e instálalo si no lo tienes.
- Ejecuta el asistente de actualización. Sigue las instrucciones en pantalla.
[WARNING] Nunca actualices PrestaShop directamente desde la versión muy antigua a la más nueva sin hacer pruebas. Si tienes dudas, consulta a tu agencia de desarrollo.
1.2. Actualiza los Módulos y el Tema
Los módulos y temas de terceros son un punto de entrada común para los atacantes. Si tienes módulos que no usas, desinstálalos y bórralos.
En tu back office de PrestaShop:
- Ve a Módulos → Gestor de módulos.
- Revisa la pestaña "Actualizaciones".
- Actualiza uno por uno. Si un módulo deja de tener soporte, busca una alternativa.
1.3. Actualiza PHP desde cPanel
cPanel te permite elegir la versión de PHP que usa tu tienda. Usar una versión obsoleta es un riesgo grave.
- Entra a cPanel (tu-dominio.com/cpanel o puerto 2083).
- Busca la sección Software y haz clic en Seleccionar versión de PHP.
- Elige la versión más reciente y estable recomendada por PrestaShop (actualmente PHP 8.1 o 8.2).
- Haz clic en Establecer como versión actual.
[TIP] Si tu tienda se rompe al cambiar de PHP, es posible que algún módulo no sea compatible. Vuelve a la versión anterior y contacta al desarrollador del módulo.
2. Fortalece el Acceso a tu cPanel y Back Office
La puerta de entrada de tu tienda es el panel de administración. Si alguien obtiene tu contraseña, lo tiene todo.
2.1. Contraseñas Fuertes y Únicas
Parece obvio, pero muchas tiendas usan "admin123" o "prestashop2020". No lo hagas.
Reglas para una buena contraseña:
- Mínimo 12 caracteres.
- Combina mayúsculas, minúsculas, números y símbolos.
- No uses palabras del diccionario ni fechas personales.
- Usa un gestor de contraseñas como Bitwarden o LastPass.
2.2. Autenticación en Dos Factores (2FA)
Activar 2FA añade una capa extra: aunque roben tu contraseña, necesitarán un código de tu teléfono.
Para PrestaShop:
- Instala un módulo de 2FA como "Google Authenticator" o "Two Factor Authentication".
- Configúralo desde Módulos → Gestor de módulos.
- Escanea el código QR con la app Google Authenticator en tu móvil.
Para cPanel:
- En cPanel, busca Seguridad → Autenticación en dos pasos.
- Sigue el asistente para vincular tu cuenta con una app de autenticación.
[INFO] Si pierdes el acceso a tu móvil, guarda los códigos de recuperación que te da el sistema en un lugar seguro.
2.3. Cambia la URL del Back Office de PrestaShop
Por defecto, tu panel de administración está en /admin o adminXXXXX. Los bots atacan esa ruta constantemente.
- En tu back office, ve a Parámetros avanzados → Rendimiento.
- Busca la opción Cambiar la URL del panel de administración.
- Elige una URL única y difícil de adivinar, por ejemplo:
/gestion-tienda-2024. - Guarda los cambios. Ahora accederás a través de
tu-tienda.com/gestion-tienda-2024.
3. Protege los Archivos y la Base de Datos
Tu tienda se compone de archivos (código, imágenes) y una base de datos (productos, clientes). Ambos deben estar seguros.
3.1. Establece Permisos Correctos en Archivos
Los permisos de archivos determinan quién puede leer, escribir o ejecutar. Un error común es poner permisos 777 (todo el mundo puede escribir), lo que es una invitación a los hackers.
Regla general para PrestaShop:
- Carpetas: 755
- Archivos: 644
- Archivos de configuración (como
config/settings.inc.php): 444 (solo lectura)
Cómo cambiarlos desde cPanel:
- Ve a Archivos → Administrador de archivos.
- Selecciona la carpeta donde está tu tienda (normalmente
public_html). - Marca todos los archivos y carpetas (Ctrl+A).
- Haz clic en Permisos en la barra superior.
- Establece 755 para carpetas y 644 para archivos. Luego haz clic en Cambiar permisos.
[WARNING] Si cambias permisos de forma masiva, asegúrate de que archivos como
config/settings.inc.phpqueden con 444. Si no, podrías bloquear el acceso a tu tienda.
3.2. Protege la Carpeta de Administración con Contraseña (cPanel)
Esta es una capa extra de seguridad para tu back office. Solo usuarios con una segunda contraseña podrán acceder a la carpeta /admin.
- En cPanel, busca Seguridad → Proteger directorios con contraseña.
- Selecciona la carpeta donde está tu tienda (ej:
public_html). - Busca la carpeta de tu administración (la que cambiaste antes, ej:
gestion-tienda-2024). - Haz clic en Editar.
- Marca la casilla Proteger este directorio con una contraseña.
- Dale un nombre al área protegida (ej: "Acceso solo administradores").
- Crea un usuario y una contraseña. No uses el mismo que el de tu back office.
- Guarda los cambios.
Ahora, al intentar acceder a tu back office, el navegador te pedirá un usuario y contraseña adicionales.
3.3. Cambia el Prefijo de las Tablas de la Base de Datos
Por defecto, las tablas de PrestaShop empiezan con ps_. Los atacantes lo saben y lo usan para inyectar SQL.
Antes de cambiar, haz una copia de seguridad de la base de datos.
Puedes usar un módulo como "Change Database Prefix" o hacerlo manualmente desde phpMyAdmin:
- En cPanel, ve a Bases de datos → phpMyAdmin.
- Selecciona tu base de datos.
- Haz clic en SQL en la barra superior.
- Ejecuta comandos SQL para renombrar todas las tablas de
ps_ami_prefijo_. (Busca un tutorial específico si no te sientes seguro).
[TIP] Si no te sientes cómodo con SQL, mejor contrata a un profesional para este paso. Un error puede romper tu tienda.
4. Configura un Firewall y Bloquea IPs Maliciosas
Un firewall de aplicación web (WAF) filtra el tráfico malicioso antes de que llegue a tu tienda.
4.1. Usa el Módulo de Seguridad de PrestaShop
PrestaShop tiene un módulo oficial llamado "PrestaShop Security" que puedes encontrar en el marketplace de módulos. Instálalo y configúralo para bloquear ataques comunes como inyección SQL o XSS.
4.2. Configura un Firewall a Nivel de Servidor (mod_security)
cPanel suele tener mod_security activado. Puedes ajustar las reglas desde:
- En cPanel, busca Seguridad → ModSecurity.
- Actívalo si no lo está.
- Puedes elegir el conjunto de reglas "OWASP" (recomendado) o "Comodo".
[WARNING] A veces mod_security puede bloquear acciones legítimas, como añadir productos. Si notas algo extraño, desactívalo temporalmente y revisa los logs.
4.3. Bloquea IPs Sospechosas Manualmente
Si ves en los logs de tu tienda que una IP está intentando acceder repetidamente, puedes bloquearla desde cPanel:
- Ve a Seguridad → Bloqueo de IPs.
- Introduce la IP o rango de IPs que quieras bloquear.
- Añade un motivo (ej: "Intentos de fuerza bruta").
- Guarda.
5. Realiza Copias de Seguridad Automáticas
Ninguna seguridad es infalible. Si algo sale mal, una copia de seguridad reciente te salvará.
5.1. Configura Copias de Seguridad desde cPanel
cPanel tiene una herramienta llamada Copias de seguridad que te permite descargar una copia completa de tu sitio (archivos + base de datos).
Para automatizarlas:
- Busca Archivos → Copias de seguridad.
- Haz clic en Descargar una copia de seguridad completa de la cuenta.
- Programa recordatorios semanales en tu calendario.
[TIP] Si tu hosting lo permite, activa las copias de seguridad automáticas desde el panel de tu proveedor. Muchos ofrecen backups diarios.
5.2. Copias de Seguridad desde PrestaShop
Usa el módulo "PS Backup" que viene por defecto en PrestaShop. Ve a Parámetros avanzados → Copia de seguridad y programa backups de la base de datos al menos una vez por semana.
6. Consejos Adicionales para tu Tranquilidad
6.1. Mantén un Registro de Actividad
Instala un módulo de registro de actividad (como "Activity Log") para saber quién ha hecho qué en tu back office. Así detectarás accesos no autorizados.
6.2. Elimina Archivos y Usuarios Innecesarios
- Revisa la carpeta
public_htmly elimina archivos comoinstall,readme.mdoCHANGELOG.txtque vienen con PrestaShop pero ya no son necesarios. - En cPanel, ve a Preferencias → Cuentas de correo y elimina cuentas de correo que no uses.
6.3. Usa un Certificado SSL (HTTPS)
Si tu tienda no usa HTTPS, los datos de tus clientes viajan en texto plano. cPanel suele incluir SSL gratuito con AutoSSL.
- En cPanel, busca Seguridad → SSL/TLS.
- Asegúrate de que AutoSSL esté activado.
- Si no, puedes instalar un certificado gratuito de Let's Encrypt desde la sección SSL/TLS.
6.4. Considera un Servidor con Syspanel (HestiaCP)
Si en algún momento cambias de proveedor de hosting y te ofrecen Syspanel (el nombre que le damos a HestiaCP), recuerda que el puerto de acceso es el 2106. Syspanel es una alternativa a cPanel muy segura y ligera, pero los principios de seguridad que hemos visto aquí aplican igual: actualizaciones, contraseñas fuertes y copias de seguridad.
Preguntas Frecuentes (FAQ)
¿Cada cuánto debo actualizar PrestaShop?
Idealmente, cada vez que salga una nueva versión. Revisa el back office al menos una vez al mes.
¿Qué hago si mi tienda ya ha sido hackeada?
Lo primero, pon tu tienda en modo mantenimiento desde el back office. Luego, contacta con un especialista en seguridad. No intentes limpiarla tú mismo si no tienes experiencia.
¿Es necesario cambiar el prefijo de la base de datos?
No es obligatorio, pero es una capa extra de seguridad muy recomendada. Si no te sientes seguro, prioriza otros pasos como las contraseñas y el firewall.
¿El módulo de 2FA de PrestaShop es gratuito?
Hay opciones gratuitas y de pago. El módulo "Google Authenticator" suele ser gratuito y suficiente.
¿Puedo usar un CDN como Cloudflare para mejorar la seguridad?
¡Sí! Cloudflare ofrece protección contra ataques DDoS y un firewall básico. Además, acelera tu tienda. Es muy recomendable.
Conclusión
Proteger tu tienda PrestaShop no es un lujo, es una necesidad. Con estos pasos de seguridad PrestaShop cPanel has aprendido a cerrar las puertas principales a los atacantes: actualizaciones, contraseñas fuertes, 2FA, permisos de archivos, firewall y copias de seguridad.
Recuerda que la seguridad es un proceso continuo. Dedica 30 minutos al mes a revisar estos puntos y tu tienda estará mucho más segura. Si algo te parece complicado, no dudes en pedir ayuda a tu hosting o a un desarrollador.
¡Ahora ve y protege tu tienda! Tu tranquilidad y la de tus clientes te lo agradecerán.
