Guía de seguridad para PrestaShop en cPanel y Syspanel
Mantener la seguridad de tu tienda online es fundamental para proteger los datos de tus clientes y la continuidad de tu negocio. Si utilizas PrestaShop alojado en un panel de control como cPanel o Syspanel, esta guía te proporcionará los pasos esenciales para fortalecer tu sitio.
No necesitas ser un experto en seguridad; solo sigue estas recomendaciones una a una. Piensa en ello como poner varios candados a la puerta de tu tienda: cuantos más tengas, más difícil será para los intrusos entrar.
Entendiendo los riesgos comunes en PrestaShop
Antes de empezar, es útil saber a qué te enfrentas. Las tiendas online son un objetivo frecuente por la información financiera que manejan. Los riesgos más comunes incluyen:
- Ataques de fuerza bruta: Intentos repetidos de adivinar tu contraseña de administrador.
- Inyección SQL (SQLi): Un atacante intenta manipular tu base de datos a través de formularios.
- Cross-Site Scripting (XSS): Inserción de código malicioso en tu sitio para robar datos de los visitantes.
- Malware y archivos infectados: Plugins o temas de fuentes no confiables pueden contener código dañino.
- Versiones desactualizadas: Tanto de PrestaShop como de sus módulos, que tienen vulnerabilidades conocidas.
Esta guía te ayudará a mitigar todos estos riesgos desde el panel de control de tu hosting.
Primer paso: Fortalece tu acceso a cPanel o Syspanel
Tu panel de control es la puerta principal a todo tu hosting. Si alguien accede a él, tiene el control total de tu tienda.
Usa contraseñas robustas y únicas
Parece obvio, pero es el error más común. Tu contraseña debe ser larga, con mayúsculas, minúsculas, números y símbolos. No uses la misma contraseña para tu correo, tu banco y tu hosting.
[TIP] Puedes usar un gestor de contraseñas como Bitwarden o 1Password para generar y almacenar contraseñas seguras sin tener que recordarlas.
Activa la autenticación de dos factores (2FA)
Tanto cPanel como Syspanel ofrecen la opción de añadir un segundo factor de autenticación. Normalmente, se trata de un código que se genera en una app de tu móvil (Google Authenticator, Authy).
- En tu panel, busca la sección de Seguridad o Autenticación de Dos Factores.
- Escanea el código QR con tu app.
- Introduce el código generado para confirmar la vinculación.
[INFO] A partir de ahora, para entrar a tu panel necesitarás tu contraseña Y el código de tu móvil. Es una capa de seguridad extra muy eficaz.
Limita el acceso por IP (si es posible)
Si siempre accedes a tu panel desde la misma dirección IP (por ejemplo, la de tu oficina o tu casa), puedes restringir el acceso solo a esa IP. En cPanel, esto se configura en la sección IP Blocker o similar. Consulta con tu proveedor de hosting si esta opción está disponible en tu plan.
Segundo paso: Protege el panel de administración de PrestaShop
El acceso a /admin de tu tienda es el siguiente punto crítico.
Cambia la URL de administración
Por defecto, la URL de acceso a tu back office suele ser tutienda.com/admin. Los bots maliciosos lo saben y la atacan constantemente. Cámbiala por una única y difícil de adivinar.
- Ve a tu panel de cPanel y busca Configuración de PrestaShop o, si no, accede directamente a los archivos de tu tienda por Administrador de Archivos.
- Busca la carpeta
admin(puede llamarseadmin12345o similar). - Cámbiale el nombre a algo como
tugestionsecreta2024. Recuerda la nueva ruta. - Si tienes acceso a tu back office, también puedes hacerlo desde Parámetros de la tienda > General > Establecer la URL de administración.
Bloquea el acceso por IP al directorio /admin
Esta es una de las medidas más efectivas. Puedes restringir el acceso a la carpeta de administración solo a tu IP.
En cPanel:
- Ve a la sección Directivas de directorios o Privacidad de directorios.
- Busca tu carpeta de administración (la que renombraste).
- Activa la protección por contraseña. Esto te permitirá crear un usuario y contraseña adicionales para acceder a esa carpeta.
En Syspanel:
- Accede a Syspanel por el puerto
2106(ej:tudominio.com:2106). - Ve a la sección de Web y busca tu dominio.
- Dentro de las opciones avanzadas, busca Protección por contraseña de directorio.
- Selecciona la carpeta
admin(o la que hayas renombrado) y crea las credenciales.
[WARNING] Esta protección es independiente del usuario de PrestaShop. Necesitarás estas credenciales adicionales cada vez que entres a tu back office.
Usa un usuario administrador único
No compartas el usuario "admin" por defecto. Crea un usuario con un nombre único para ti y otro para cada persona que necesite acceso. Además, asigna roles y permisos específicos (por ejemplo, un empleado de marketing no necesita acceso a la configuración de pago).
Tercer paso: Configura un Certificado SSL (HTTPS)
El candado verde en la barra de direcciones es esencial para la confianza del usuario y para el SEO. Además, cifra la comunicación entre tu tienda y el navegador del cliente.
Instala el SSL desde tu panel
La mayoría de los hostings ofrecen SSL gratuito (Let's Encrypt).
En cPanel:
- Busca la sección SSL/TLS o SSL/TLS Status.
- Haz clic en Run AutoSSL o Instalar un certificado SSL.
- Selecciona tu dominio y sigue las instrucciones.
En Syspanel:
- Ve a Syspanel por el puerto
2106. - Busca la sección Web y luego SSL/TLS.
- Activa Let's Encrypt para tu dominio. El panel gestionará la renovación automática.
Fuerza el uso de HTTPS en PrestaShop
Una vez instalado el SSL, debes forzar a PrestaShop a que use siempre HTTPS.
- Accede a tu Back Office de PrestaShop.
- Ve a Parámetros de la tienda > General.
- En la sección Configuración de la URL de la tienda, activa la opción Forzar el uso de HTTPS en todas las páginas.
- Guarda los cambios.
[INFO] También puedes forzar HTTPS desde el archivo .htaccess en la raíz de tu tienda, pero la opción desde el back office es más segura y fácil para principiantes.
Cuarto paso: Mantén todo actualizado
Las actualizaciones no solo traen nuevas funciones, sino que corrigen vulnerabilidades de seguridad conocidas.
Actualiza PrestaShop y sus módulos
- En tu Back Office, ve a Mejorar (o Módulos).
- Revisa las notificaciones de actualizaciones disponibles.
- Antes de actualizar, haz siempre una copia de seguridad completa de tu tienda (archivos y base de datos). Puedes hacerlo desde tu panel de control en cPanel > Copias de seguridad o en Syspanel > Copias de seguridad.
- Actualiza primero los módulos y luego el núcleo de PrestaShop.
[WARNING] Nunca actualices PrestaShop a la versión más reciente si tienes módulos o temas antiguos que no son compatibles. Verifica la compatibilidad antes de hacer clic en "Actualizar".
Elimina módulos y temas que no uses
Cada módulo instalado es una posible puerta de entrada. Si no lo usas, desinstálalo y elimínalo. Un módulo inactivo pero presente sigue siendo un riesgo.
Quinto paso: Refuerza la seguridad de tu base de datos
La base de datos contiene toda la información de tus clientes, pedidos y productos.
Cambia el prefijo de las tablas
Durante la instalación de PrestaShop, se te pide un prefijo para las tablas de la base de datos. El valor por defecto es ps_. Si aún puedes cambiarlo (o si estás a punto de reinstalar), usa un prefijo único y aleatorio como m1t14r3_.
Usa una contraseña segura para la base de datos
Si tu hosting te permite crear usuarios de base de datos, asegúrate de que la contraseña sea igual de robusta que la de tu panel. No la compartas con nadie.
Limita el acceso remoto a la base de datos
Por defecto, la base de datos solo debe ser accesible desde el mismo servidor (localhost). No habilites el acceso remoto a menos que sea estrictamente necesario y sepas lo que haces. En cPanel > Bases de datos MySQL puedes gestionar el acceso remoto.
Sexto paso: Configura el archivo .htaccess para mayor protección
El archivo .htaccess es un archivo de configuración del servidor web (Apache). Puedes añadir reglas para bloquear accesos no deseados.
Bloquea el acceso a archivos sensibles
Puedes añadir estas líneas a tu .htaccess (en la raíz de tu tienda) para proteger archivos importantes:
# Bloquear acceso a archivos de configuración
<FilesMatch "\.(tpl|php|sql|log|ini)$">
Order allow,deny
Deny from all
</FilesMatch>
# Bloquear acceso a la carpeta /config
<Directory "config/">
Order allow,deny
Deny from all
</Directory>
[TIP] Ten cuidado al editar el .htaccess. Un error puede dejar tu tienda inaccesible. Siempre haz una copia de seguridad del archivo original antes de modificarlo.
Desactiva la navegación de directorios
Asegúrate de que los visitantes no puedan ver el listado de archivos de tus carpetas. En tu .htaccess, añade:
Options -Indexes
Séptimo paso: Monitoreo y copias de seguridad
La prevención es clave, pero también lo es tener un plan de recuperación.
Realiza copias de seguridad periódicas
Configura copias de seguridad automáticas desde tu panel de control. Lo ideal es tener una copia diaria de los archivos y la base de datos.
En cPanel: Ve a Copias de seguridad y programa una copia de seguridad completa.
En Syspanel: Ve a Syspanel > Copias de seguridad y programa una copia de seguridad de tu dominio y base de datos.
[WARNING] Guarda las copias de seguridad en un lugar externo a tu hosting, como Google Drive, Dropbox o un servicio de almacenamiento en la nube. Si tu servidor se infecta, las copias de seguridad locales también podrían estarlo.
Instala un módulo de seguridad de PrestaShop
Existen módulos de pago y gratuitos que refuerzan la seguridad de tu tienda. Algunos de los más populares son:
- PrestaShop Security by PrestaShop: El módulo oficial.
- Blazing Fast Security: Bloquea ataques de fuerza bruta y malware.
- Security & WAF by IP Tracker: Añade un firewall de aplicaciones web.
Estos módulos pueden detectar intentos de intrusión, escanear archivos en busca de malware y bloquear IPs maliciosas.
Activa el modo de mantenimiento durante las actualizaciones
Cuando estés haciendo cambios importantes (actualizaciones de módulos, cambios de tema, etc.), activa el modo de mantenimiento de PrestaShop para que los clientes no vean una tienda rota o con errores.
- Ve a Parámetros de la tienda > Mantenimiento.
- Activa Activar el modo de mantenimiento.
- Añade tu IP para poder seguir trabajando.
Preguntas frecuentes (FAQ)
¿Cada cuánto debo cambiar mi contraseña de administrador?
No es necesario cambiarla cada mes si usas una contraseña robusta y tienes activado el 2FA. Sin embargo, si sospechas que ha podido ser comprometida, cámbiala inmediatamente.
¿Es seguro usar módulos gratuitos de PrestaShop?
No todos los módulos gratuitos son inseguros, pero debes tener cuidado. Descarga módulos solo de fuentes oficiales (Addons de PrestaShop) o de desarrolladores con buena reputación. Revisa las reseñas y la fecha de la última actualización.
¿Qué hago si mi tienda ha sido hackeada?
- No entres en pánico.
- Pon tu tienda en modo mantenimiento desde tu back office o, si no puedes acceder, desde tu panel de control (cPanel/Syspanel) editando el archivo
config/defines.inc.phpy cambiando_PS_MODE_DEV_afalsey_PS_MAINTENANCE_atrue. - Cambia todas las contraseñas: Panel de control, base de datos, FTP, PrestaShop admin.
- Restaura una copia de seguridad limpia (anterior al ataque).
- Analiza tu ordenador en busca de malware que pueda haber causado la brecha.
- Contacta con tu proveedor de hosting para que te ayuden a limpiar el servidor.
¿Syspanel es lo mismo que cPanel?
No exactamente. Syspanel es un panel de control basado en HestiaCP, mientras que cPanel es otro panel diferente. Ambos cumplen funciones similares: gestionar tu hosting, bases de datos, correos, etc. En esta guía, cuando hablamos de Syspanel, nos referimos a un panel que se accede por el puerto 2106 (ej: tudominio.com:2106).
¿Necesito un firewall de aplicaciones web (WAF)?
No es obligatorio, pero es muy recomendable. Un WAF (como el que ofrecen algunos módulos de pago) filtra el tráfico malicioso antes de que llegue a tu tienda. Si tu hosting ya ofrece un WAF a nivel de servidor, mejor aún.
Conclusión: La seguridad es un proceso, no un destino
Proteger tu tienda PrestaShop no es algo que se haga una vez y se olvide. Es un conjunto de buenas prácticas que debes mantener en el tiempo. Empieza por los pasos más básicos (contraseñas seguras, SSL, actualizaciones) y ve añadiendo capas de seguridad poco a poco.
Recuerda que la inversión en seguridad es una inversión en la confianza de tus clientes y en la continuidad de tu negocio. Con las herramientas que te ofrece cPanel y Syspanel, tienes todo lo necesario para empezar a blindar tu tienda hoy mismo.
[TIP] Dedica 30 minutos cada mes a revisar los accesos, las actualizaciones pendientes y las copias de seguridad. Es un pequeño esfuerzo que te ahorrará grandes dolores de cabeza.
