Guía para evitar malware en PrestaShop con DirectAdmin
¡Hola! Si tienes una tienda online con PrestaShop, sabes que es una plataforma potente, pero también un objetivo frecuente para los ciberdelincuentes. El malware en PrestaShop puede ralentizar tu web, robar datos de clientes o incluso dejar tu tienda inaccesible. Pero no te preocupes, hoy vamos a aprender cómo proteger tu tienda paso a paso, usando las herramientas que te ofrece DirectAdmin. Esta guía está pensada para que, aunque no seas un experto en seguridad, puedas blindar tu ecommerce y dormir tranquilo.
Vamos a dividir esta guía en varias secciones, desde lo más básico hasta consejos avanzados. Recuerda que la ciberseguridad no es un destino, sino un proceso continuo. Cada pequeño paso que des reduce el riesgo de un ataque.
¿Por qué PrestaShop es un objetivo común para el malware?
Antes de lanzarnos a las soluciones, es bueno entender el problema. PrestaShop es el CMS de ecommerce más usado en Europa y América Latina. Esto lo convierte en un blanco jugoso para los hackers. Las vulnerabilidades más comunes suelen estar en:
- Módulos y temas de terceros: Muchas veces, instalamos plugins gratuitos o de dudosa procedencia que contienen puertas traseras.
- Versiones desactualizadas: Tanto de PrestaShop como de PHP o el servidor web. Cada actualización parchea fallos de seguridad conocidos.
- Contraseñas débiles: Un clásico. Si tu contraseña de administrador es "123456", estás invitando a los atacantes.
- Configuraciones incorrectas del servidor: Archivos con permisos demasiado abiertos, directorios expuestos, etc.
El objetivo de esta guía seguridad ecommerce es que puedas mitigar todos estos riesgos usando DirectAdmin PrestaShop seguridad como tu aliado principal.
Primeros pasos: Fortaleciendo tu servidor con DirectAdmin
DirectAdmin es un panel de control de hosting muy completo. Te permite gestionar tu servidor de forma visual, sin necesidad de tocar la terminal. Aquí tienes los pasos clave para evitar malware PrestaShop desde la raíz.
1. Actualiza PHP a una versión segura y compatible
El motor de tu tienda es PHP. Si usas una versión antigua (como PHP 5.6 o 7.0), estás expuesto a vulnerabilidades conocidas.
[INFO] PrestaShop 1.7 y 8.x funcionan mejor con PHP 7.4, 8.0 o 8.1. Consulta la documentación oficial de tu versión.
Desde DirectAdmin:
- Ve a Account Manager > PHP Version Selector.
- Elige la versión más moderna y estable que soporte tu PrestaShop (por ejemplo, PHP 8.1).
- Haz clic en Save.
- Importante: Ajusta los límites de memoria (memory_limit) y tiempo de ejecución (max_execution_time) a valores recomendados (por ejemplo, 256M y 120 segundos).
2. Configura los permisos de archivos correctamente
Los permisos de archivos en Linux son como las cerraduras de tu casa. Si dejas la puerta abierta (permisos 777), cualquiera puede entrar. La regla de oro es:
- Directorios (carpetas): 755 (el propietario puede escribir, los demás solo leer y ejecutar).
- Archivos: 644 (el propietario puede escribir, los demás solo leer).
Desde DirectAdmin:
- Ve a File Manager.
- Selecciona la carpeta raíz de tu tienda (normalmente
public_html). - Haz clic en Change Permissions.
- Marca la opción Recursive para que se aplique a todas las subcarpetas y archivos.
- Establece 755 para directorios y 644 para archivos.
- Excepción: La carpeta
/cache,/imgy/uploadpueden necesitar permisos 755 para que PrestaShop pueda escribir en ellas (por ejemplo, para generar imágenes o cachés). Pero nunca uses 777.
[WARNING] NUNCA pongas permisos 777 a toda la carpeta. Es la puerta de entrada favorita del malware.
3. Activa el firewall de aplicaciones web (ModSecurity)
ModSecurity es un cortafuegos que analiza todo el tráfico que llega a tu web y bloquea peticiones maliciosas (inyecciones SQL, XSS, etc.). En DirectAdmin suele venir integrado.
- Ve a Account Manager > ModSecurity.
- Actívalo si no lo está.
- Puedes elegir entre reglas básicas (OWASP) o personalizadas. Para empezar, activa el conjunto de reglas estándar.
- Consejo: Si alguna funcionalidad legítima de tu tienda (como un módulo de pago) deja de funcionar, puedes desactivar ModSecurity temporalmente o añadir una excepción para esa URL concreta.
4. Protege el directorio /admin con contraseña adicional
El acceso al backoffice de PrestaShop es la joya de la corona. Añadir una capa extra de autenticación a nivel de servidor hace que, incluso si alguien obtiene tu usuario y contraseña de PrestaShop, no pueda acceder sin la segunda clave.
Desde DirectAdmin:
- Ve a Advanced Features > Password Protect Directories.
- Selecciona la carpeta donde tienes tu PrestaShop (ej.
public_html). - Localiza la carpeta de administración (suele llamarse
adminoadmin12345). - Haz clic en Protect.
- Ponle un nombre (ej. "Acceso restringido").
- Crea un usuario y una contraseña FUERTE (usa mayúsculas, minúsculas, números y símbolos).
- Guarda.
Ahora, cuando intentes acceder a tutienda.com/admin, te pedirá primero este usuario y contraseña, y luego el de PrestaShop.
Medidas específicas en PrestaShop para evitar malware
Ahora que el servidor está más seguro, vamos a la tienda en sí.
1. Mantén PrestaShop y todos los módulos actualizados
Esta es la regla número 1. Las actualizaciones no solo traen nuevas funciones, sino que corrigen vulnerabilidades de seguridad.
- PrestaShop: Ve a Catálogo > Actualizaciones y aplica las que haya.
- Módulos: Ve a Módulos > Módulos y servicios y actualiza todos los que tengan una actualización disponible.
- Temas: Si usas un tema de pago, el fabricante suele lanzar parches de seguridad. Revisa su web.
[TIP] Antes de actualizar, SIEMPRE haz una copia de seguridad completa de tu web y base de datos. Puedes hacerlo desde DirectAdmin en Account Manager > Backup/Restore.
2. Cambia el nombre del directorio de administración
Por defecto, el acceso al backoffice es tutienda.com/admin. Los bots maliciosos escanean miles de webs buscando esta ruta. Cámbiala por algo único y difícil de adivinar.
- Ve a Configuración avanzada > Rendimiento.
- Busca la opción Cambiar la URL de administración.
- Introduce un nombre nuevo (ej.
tutienda.com/mi-gestion-segura-2024). - Guarda.
- Importante: Después de cambiar la URL, tendrás que borrar la caché de PrestaShop y actualizar cualquier acceso directo que tengas.
3. Desactiva los módulos que no uses
Cada módulo activo es una posible puerta de entrada. Si tienes módulos que no necesitas, desactívalos o, mejor aún, desinstálalos. Los módulos obsoletos o mal codificados son una de las principales causas de PrestaShop malware.
4. Usa contraseñas fuertes y únicas
Parece obvio, pero es un fallo común. La contraseña de tu cuenta de administrador de PrestaShop debe ser larga (mínimo 12 caracteres), con mayúsculas, minúsculas, números y símbolos. No uses la misma contraseña para otras webs.
- Activa la autenticación en dos pasos (2FA): En PrestaShop 1.7 y 8.x puedes activar 2FA desde Configuración avanzada > Seguridad. Esto añade un código temporal que se genera en tu móvil (Google Authenticator, Authy, etc.).
5. Revisa los logs de actividad
PrestaShop guarda un registro de todas las acciones que se realizan en el backoffice. Es útil para detectar accesos sospechosos.
Ve a Configuración avanzada > Registros y revisa periódicamente si hay inicios de sesión desde IPs desconocidas o acciones extrañas (como cambios en módulos o en la configuración).
Herramientas avanzadas en DirectAdmin para una protección total
DirectAdmin ofrece funcionalidades que pueden marcar la diferencia.
1. Escaneo de malware integrado (ImunifyAV)
Muchos planes de hosting con DirectAdmin incluyen ImunifyAV, un escáner de malware en tiempo real. Si tu plan lo tiene:
- Ve a Account Manager > ImunifyAV.
- Activa el escaneo automático (diario o semanal).
- Puedes iniciar un escaneo manual desde el mismo panel.
- Si encuentra algo, te dará la opción de Limpiar o Poner en cuarentena el archivo infectado.
[INFO] ImunifyAV también puede bloquear IPs maliciosas y detectar intentos de inyección de código.
2. Gestión de certificados SSL (Let's Encrypt)
El cifrado HTTPS es básico para la seguridad de los datos de tus clientes. DirectAdmin facilita la instalación de certificados SSL gratuitos de Let's Encrypt.
- Ve a Account Manager > SSL Certificates.
- Haz clic en Generate SSL Certificate.
- Elige Let's Encrypt.
- Introduce tu dominio principal y guarda.
- Activa la opción Force HTTPS para redirigir todo el tráfico HTTP a HTTPS.
3. Aislamiento de cuentas (PHP-FPM)
En servidores compartidos, el aislamiento de cuentas evita que un sitio web infectado pueda afectar al tuyo. DirectAdmin permite usar PHP-FPM con usuarios separados.
- Ve a Account Manager > PHP Version Selector.
- Asegúrate de que el modo de ejecución de PHP sea PHP-FPM (no "Apache" o "CGI").
- Esto ejecutará los scripts de tu tienda con tu usuario de hosting, no con el usuario del servidor web.
Preguntas frecuentes (FAQ) sobre seguridad en PrestaShop
Aquí tienes respuestas a las dudas más comunes que nos llegan.
¿Cómo sé si mi PrestaShop tiene malware?
Los síntomas más comunes son:
- La web va muy lenta o se cae constantemente.
- Aparecen banners o redirecciones a sitios extraños.
- Tus clientes reciben correos de phishing o ven contenido inapropiado.
- Google marca tu web como "peligrosa" o "engañosa".
- En los logs de acceso ves peticiones a archivos sospechosos (como
shell.php,eval.php, etc.).
¿Qué hago si ya tengo malware en mi PrestaShop?
- No entres en pánico. No intentes limpiar nada manualmente si no sabes lo que haces.
- Pon la tienda en modo mantenimiento desde Configuración avanzada > Mantenimiento.
- Cambia todas las contraseñas (DirectAdmin, FTP, base de datos, PrestaShop).
- Restaura una copia de seguridad limpia (anterior a la infección). Si no tienes, contacta con tu proveedor de hosting.
- Escanea con ImunifyAV (si está disponible) o usa un servicio especializado en limpieza de malware.
- Actualiza todo y aplica todas las medidas de seguridad que hemos visto.
¿Es seguro usar módulos gratuitos de PrestaShop?
No todos los módulos gratuitos son malos, pero hay que tener cuidado. Descarga siempre de fuentes oficiales (Addons de PrestaShop) o de desarrolladores de confianza. Evita sitios de descarga masiva o foros donde se comparten módulos "nulled" (pirateados), ya que suelen contener puertas traseras.
¿Cómo puedo hacer copias de seguridad automáticas?
Desde DirectAdmin:
- Ve a Account Manager > Backup/Restore.
- Activa la opción Backup Schedule.
- Elige la frecuencia (diaria, semanal, etc.) y el destino (por ejemplo, un servidor FTP externo o Google Drive).
- Selecciona qué quieres incluir (archivos, bases de datos, etc.).
- Guarda.
[TIP] Guarda las copias de seguridad en un lugar externo a tu servidor (como un servicio en la nube). Si tu servidor se infecta, la copia local también podría estarlo.
¿Qué es Syspanel y cómo se relaciona con esto?
Si alguna vez oyes hablar de Syspanel (antes conocido como HestiaCP), es otro panel de control de hosting, similar a DirectAdmin, pero con su propia interfaz. Si tu hosting usa Syspanel, el puerto de acceso suele ser el 2106 (ej. tudominio.com:2106). Los principios de seguridad son los mismos: actualizar PHP, gestionar permisos, activar firewall, etc. La única diferencia es la interfaz gráfica.
Conclusión: La seguridad es un hábito, no un parche
Proteger tu tienda PrestaShop del malware no es algo que se hace una vez y se olvida. Es un proceso continuo que requiere atención regular. Con las herramientas que te ofrece DirectAdmin, como la gestión de permisos, el firewall ModSecurity, los escáneres de malware y las copias de seguridad, tienes todo lo necesario para mantener tu ecommerce seguro.
Recuerda los puntos clave:
- Actualiza siempre todo.
- Usa contraseñas fuertes y autenticación en dos pasos.
- Configura bien los permisos de archivos.
- Haz copias de seguridad periódicas.
- Revisa los logs y escanea en busca de malware.
Si sigues esta guía seguridad ecommerce, reducirás drásticamente el riesgo de sufrir un ataque. Y si algo sale mal, recuerda que tienes las copias de seguridad como tu mejor aliado.
¿Tienes alguna duda concreta sobre algún paso? ¡Déjala en los comentarios y te ayudamos encantados!
