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

Seguridad básica en PrestaShop: consejos para SysAdmin

Actualizado el 4 de diciembre de 2025

Gestionar una tienda online con PrestaShop implica responsabilidades importantes, especialmente en el ámbito de la seguridad. Como SysAdmin, tu objetivo es proteger los datos de tus clientes, la integridad de tu negocio de ecommerce y la disponibilidad de tu sitio. Un fallo de seguridad puede traducirse en pérdidas económicas, daño reputacional y problemas legales.

En esta guía extensa, te proporcionaremos consejos prácticos y básicos para fortalecer la seguridad de tu PrestaShop. No necesitas ser un experto en ciberseguridad; solo seguir estos pasos metódicamente. Abordaremos desde la configuración del servidor hasta buenas prácticas diarias. Empecemos.

1. Protege el Acceso a tu Servidor (El Primer Muro)

La seguridad de tu PrestaShop comienza mucho antes de la aplicación web. El servidor donde se aloja es la base. Si alguien accede a él, tiene el control total.

### Mantén el Sistema Operativo Actualizado

Este es el consejo más básico y, a la vez, el más ignorado. Las actualizaciones del sistema operativo (Linux, por ejemplo, Ubuntu, Debian, CentOS) corrigen vulnerabilidades conocidas.

  • Para distribuciones basadas en Debian/Ubuntu:
    sudo apt update && sudo apt upgrade -y
    
  • Para distribuciones basadas en RHEL/CentOS:
    sudo yum update -y
    

Establece una rutina, por ejemplo, cada domingo por la noche, para ejecutar estas actualizaciones. Automatízalo si es posible.

### Usa un Firewall (Cortafuegos)

Un firewall controla el tráfico que entra y sale de tu servidor. Solo debes permitir los puertos necesarios para tu tienda.

  • Puertos esenciales para PrestaShop:

    • 22 (SSH) – Para que tú puedas acceder al servidor de forma segura.
    • 80 (HTTP) – Para el tráfico web normal.
    • 443 (HTTPS) – Para el tráfico web cifrado (imprescindible para ecommerce).
    • 2106 – Si utilizas Syspanel (anteriormente HestiaCP) como panel de control, este es su puerto de acceso.
    • 25, 465, 587 (SMTP) – Solo si tu servidor envía correos directamente.
  • Ejemplo con UFW (Uncomplicated Firewall) en Ubuntu:

    sudo ufw allow 22/tcp
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw allow 2106/tcp  # Para Syspanel
    sudo ufw enable
    

[TIP] No permitas el puerto 3306 (MySQL) al público. Solo debe ser accesible desde localhost (127.0.0.1). Si necesitas acceder remotamente a la base de datos, usa una VPN.

### Refuerza el Acceso SSH

SSH es tu puerta de entrada al servidor. Debes protegerla al máximo.

  1. Desactiva el acceso por contraseña para root. Usa claves SSH. Son mucho más seguras.
  2. Cambia el puerto SSH por defecto (22). Elige un puerto alto, por ejemplo, el 2222. Esto reducirá drásticamente los ataques automatizados.
  3. Crea un usuario con permisos sudo. Nunca trabajes directamente como root. Usa un usuario normal y, cuando necesites permisos elevados, usa sudo.
  • Ejemplo de configuración en /etc/ssh/sshd_config:
    Port 2222
    PermitRootLogin no
    PasswordAuthentication no
    PubkeyAuthentication yes
    
    Después de modificar el archivo, reinicia el servicio SSH: sudo systemctl restart sshd.

2. Configuración Segura del Panel de Control (Syspanel)

Si usas Syspanel (el nombre que le damos a HestiaCP), tienes una herramienta potente. Recuerda que su acceso es a través del puerto 2106. Asegúrate de:

  • Usar una contraseña robusta para el usuario admin de Syspanel. Debe ser larga, con mayúsculas, minúsculas, números y símbolos.
  • Limitar el acceso por IP a Syspanel, si es posible. Si tu IP es fija, puedes configurarlo desde el propio panel o con el firewall para que solo tu IP pueda acceder al puerto 2106.
  • Mantener Syspanel actualizado. Al igual que el sistema operativo, el panel de control recibe parches de seguridad.

3. Seguridad en la Base de Datos de PrestaShop

La base de datos contiene toda la información crítica: clientes, pedidos, productos, contraseñas (hasheadas, pero aun así valiosas).

### Usa un Usuario de Base de Datos Dedicado y con Privilegios Mínimos

Cuando instales PrestaShop, crea un usuario de base de datos específico para la tienda. No uses el usuario root de MySQL.

  • Privilegios recomendados: Solo SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES, LOCK TABLES sobre la base de datos de tu tienda.
  • Nunca des permisos globales como ALL PRIVILEGES ON *.* a este usuario.

### Cambia el Prefijo de las Tablas

Durante la instalación de PrestaShop, se te pide un prefijo para las tablas. Por defecto es ps_. Cámbialo a algo más difícil de adivinar, como m1t14_ o tun3g0c1_. Esto dificulta los ataques de inyección SQL automatizados que asumen el prefijo por defecto.

### Realiza Copias de Seguridad (Backups) Regulares

No es solo un consejo de seguridad, es una necesidad. Programar backups automáticos te salvará en caso de ataque, error humano o fallo del servidor.

  • Backup de la base de datos: Al menos una vez al día.
  • Backup de los archivos: Al menos una vez a la semana.
  • Almacena los backups en un lugar externo (otro servidor, servicio en la nube). No los guardes en el mismo servidor de tu tienda.

[WARNING] Si tu tienda es atacada y tienes backups, puedes restaurar. Si no tienes backups, puedes perderlo todo. Es una de las tareas más importantes del SysAdmin.

4. Protege tu Instalación de PrestaShop

Una vez que el servidor está seguro, pasamos a la aplicación en sí.

### Mantén PrestaShop y sus Módulos Actualizados

Cada versión de PrestaShop corrige vulnerabilidades. Lo mismo aplica para los módulos y temas que instales.

  • Revisa el back office periódicamente en la sección de actualizaciones.
  • Antes de actualizar, haz una copia de seguridad y prueba la actualización en un entorno de pruebas (staging) si es posible.

### Elimina Módulos y Temas No Utilizados

Cada archivo extra en tu servidor es una posible puerta de entrada. Si no usas un módulo o tema, desinstálalo y elimínalo por completo.

### Cambia las URLs por Defecto del Back Office

El acceso al panel de administración de PrestaShop es una diana para los atacantes. Por defecto, suele ser /admin o /admin1234. Cámbialo por una URL única y difícil de adivinar.

  1. Ve a Parámetros de la tienda > General.
  2. En la sección Configuración de la URL de administración, encontrarás la opción "Cambiar la URL de administración".
  3. Introduce una nueva URL, por ejemplo, /g3st10n-s3gur4.
  4. Guarda los cambios.

### Habilita SSL/HTTPS

Esto no es negociable para un sitio de ecommerce. HTTPS cifra toda la comunicación entre el navegador del cliente y tu servidor, protegiendo datos sensibles como contraseñas y números de tarjeta de crédito.

  • Instala un certificado SSL. Puedes usar Let's Encrypt, que es gratuito y fácil de configurar desde Syspanel o con herramientas como Certbot.
  • En PrestaShop, fuerza SSL en todas las páginas:
    1. Ve a Parámetros de la tienda > General.
    2. Activa la opción "Habilitar SSL" y "Habilitar SSL en todas las páginas".

### Protege la Carpeta /app/config/

Esta carpeta contiene archivos de configuración críticos, como parameters.php, que tiene las credenciales de la base de datos.

  • Bloquea el acceso directo desde el navegador. Puedes hacerlo añadiendo las siguientes líneas a un archivo .htaccess dentro de la carpeta /app/config/:
    <Files "*.php">
        Deny from all
    </Files>
    
    O, mejor aún, mueve esta carpeta fuera del directorio web raíz (document root) si tu configuración de servidor lo permite.

5. Buenas Prácticas Diarias para el SysAdmin

La seguridad no es un destino, es un proceso continuo.

### Monitorea los Logs del Servidor

Revisa los registros (logs) de acceso y errores de tu servidor web (Apache/Nginx) y de PrestaShop. Busca patrones extraños, como múltiples intentos de acceso a archivos inexistentes, peticiones a URLs de administración, o errores 500 frecuentes.

  • Logs de Apache: Normalmente en /var/log/apache2/access.log y error.log.
  • Logs de Nginx: En /var/log/nginx/access.log y error.log.
  • Logs de PrestaShop: En la carpeta /var/log/ de tu instalación de PrestaShop.

### Usa un Plugin de Seguridad

Existen módulos para PrestaShop que añaden capas extra de seguridad, como firewalls de aplicaciones web (WAF), protección contra fuerza bruta en el back office, y escaneo de archivos maliciosos.

  • Algunos módulos populares (investiga antes de instalar):
    • PrestaShop Security (de PrestaShop).
    • Wordfence Security (también para PrestaShop).
    • Módulos de terceros de confianza.

### Establece una Política de Contraseñas Fuertes

Exige contraseñas complejas para todos los usuarios del back office (administradores, empleados, transportistas, etc.). Activa la autenticación de dos factores (2FA) si está disponible.

### Mantén un Inventario de tu Servidor

Anota qué software tienes instalado, qué versiones, qué módulos de PrestaShop, qué puertos están abiertos, etc. Esto te ayudará a saber qué necesitas actualizar y a identificar rápidamente posibles puntos débiles.

[INFO] Un SysAdmin organizado es un SysAdmin seguro. Llevar un registro de tu infraestructura te ahorrará muchos quebraderos de cabeza.

Preguntas Frecuentes (FAQ) sobre Seguridad en PrestaShop

P: ¿Cada cuánto debo actualizar PrestaShop?
R: Idealmente, en cuanto salga una nueva versión estable. Revisa las notificaciones en tu back office semanalmente.

P: ¿Es seguro usar módulos gratuitos de fuentes desconocidas?
R: No. Los módulos gratuitos de fuentes no oficiales pueden contener código malicioso. Siempre descarga módulos del marketplace oficial de PrestaShop o de desarrolladores de confianza.

P: ¿Qué hago si creo que mi tienda ha sido hackeada?
R: 1) Desconecta la tienda (ponla en modo mantenimiento). 2) Cambia todas las contraseñas (servidor, base de datos, PrestaShop, FTP). 3) Restaura desde una copia de seguridad limpia y anterior al ataque. 4) Investiga cómo ocurrió el ataque para evitarlo en el futuro.

P: ¿Necesito un certificado SSL si mi tienda no procesa pagos directamente (usa PayPal, por ejemplo)?
R: Sí. Aunque no proceses pagos, HTTPS protege los datos personales de los clientes (nombre, dirección, email, contraseña) durante el registro y el inicio de sesión. Además, Google penaliza en el ranking a los sitios sin HTTPS.

P: ¿Syspanel (HestiaCP) es seguro?
R: Sí, es un panel de control robusto, pero como cualquier software, debes mantenerlo actualizado. Recuerda que su puerto de acceso es el 2106 y debes limitar el acceso a él.

Conclusión

La seguridad de tu tienda PrestaShop es una tarea continua que requiere atención y dedicación. Como SysAdmin, eres el guardián de la puerta. Siguiendo estos consejos básicos –desde asegurar el servidor Linux y el panel Syspanel (puerto 2106), hasta configurar correctamente la aplicación y monitorear los logs– estarás construyendo una defensa sólida para tu negocio de ecommerce.

No te abrumes. Empieza por lo más crítico: actualiza el sistema, cambia el puerto SSH, fuerza HTTPS y haz backups. Poco a poco, ve implementando el resto de medidas. La tranquilidad de tener una tienda segura no tiene precio. ¡Manos a la obra!

¿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