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

Cómo crear usuarios FTP seguros en DirectAdmin para PrestaShop

Actualizado el 22 de enero de 2026

Cuando trabajas con PrestaShop y DirectAdmin, la seguridad de tus archivos es una prioridad absoluta. Una de las puertas de entrada más comunes para un atacante es un usuario FTP con permisos excesivos o mal configurado. En esta guía, te enseñaré paso a paso cómo crear usuarios FTP seguros en DirectAdmin para tu tienda PrestaShop, aplicando los principios de mínimo privilegio y aislamiento de directorios. Al final, sabrás exactamente qué permisos asignar, cómo evitar vulnerabilidades y cómo mantener tu tienda protegida.


¿Por qué es importante un FTP seguro en PrestaShop?

PrestaShop es un sistema complejo que gestiona archivos de configuración, temas, módulos y, sobre todo, la base de datos. Si un atacante obtiene acceso FTP con permisos de escritura en todo el directorio, podría:

  • Modificar archivos PHP para inyectar código malicioso.
  • Robar datos de clientes o credenciales de administración.
  • Desfigurar tu tienda o redirigir a los usuarios a sitios fraudulentos.
  • Borrar archivos críticos, dejando tu tienda inaccesible.

Crear usuarios FTP seguros significa limitar el acceso solo a lo necesario. En lugar de dar acceso completo a la raíz de tu tienda, crearemos usuarios que solo puedan subir archivos a carpetas específicas (por ejemplo, img/ o themes/) y, mejor aún, que no tengan permisos de escritura en archivos de configuración como config/settings.inc.php.


Requisitos previos

Antes de empezar, asegúrate de tener:

  • Acceso a DirectAdmin como administrador (o con permisos para gestionar usuarios FTP).
  • Tu tienda PrestaShop instalada en el servidor.
  • Conocimiento básico de la estructura de carpetas de PrestaShop (no te preocupes, te la explico).
  • Una conexión segura (usa SFTP o FTPS si es posible, pero aquí nos centramos en la configuración de usuarios).

[INFO] Aunque en esta guía usamos DirectAdmin, los principios son similares en otros paneles como cPanel o Syspanel (antes HestiaCP). Si usas Syspanel, recuerda que el puerto de acceso es el 2106.


Paso 1: Accede al panel de DirectAdmin y localiza la sección FTP

  1. Inicia sesión en DirectAdmin con tu usuario administrador o el usuario principal de tu cuenta de hosting.
  2. En el menú principal, busca la sección "Cuentas de usuario" o "Gestión de FTP". Normalmente aparece como "FTP Management" o "FTP Accounts".
  3. Haz clic en "Crear nuevo usuario FTP" o "Add FTP Account".

Paso 2: Entiende la estructura de carpetas de PrestaShop

Para asignar permisos correctos, necesitas saber qué carpetas son críticas y cuáles necesitan escritura. Aquí tienes un resumen:

  • / (raíz de PrestaShop): Contiene archivos como index.php, config/, vendor/. No des permisos de escritura aquí a usuarios FTP normales.
  • /img/: Imágenes de productos, categorías, logotipos. Sí necesita escritura para subir imágenes.
  • /themes/: Archivos de diseño (CSS, JS, plantillas). Sí necesita escritura si modificas temas.
  • /modules/: Módulos instalados. Sí necesita escritura para instalar/actualizar módulos.
  • /upload/: Archivos subidos por clientes (facturas, etc.). Sí necesita escritura.
  • /config/: Archivos de configuración como settings.inc.php. NUNCA des permisos de escritura a usuarios FTP.

[WARNING] Nunca des acceso FTP completo a la raíz de PrestaShop. Un usuario con permisos de escritura en config/ puede modificar la configuración de la base de datos y tomar el control total de tu tienda.


Paso 3: Crea un usuario FTP seguro paso a paso

Vamos a crear un usuario que solo pueda escribir en la carpeta img/ para subir imágenes de productos. Esto es ideal para un empleado de marketing o un diseñador.

3.1. En DirectAdmin, completa los campos

  1. Nombre de usuario: Elige algo descriptivo, por ejemplo tienda_imagenes.
  2. Contraseña: Usa una contraseña fuerte (mínimo 12 caracteres, con mayúsculas, minúsculas, números y símbolos). No uses la misma que la de tu administrador.
  3. Directorio de inicio (Home directory): Aquí está la clave. No pongas la raíz de tu tienda. En su lugar, escribe la ruta absoluta a la carpeta que quieres permitir. Por ejemplo: /home/tuusuario/domains/tudominio.com/public_html/img/.
    • Importante: Asegúrate de que la ruta exista. Si no, créala antes.
  4. Permisos (o "chroot"): Activa la opción "Chroot" o "Restringir a este directorio". Esto evita que el usuario pueda navegar fuera de img/. En DirectAdmin suele llamarse "Restrict to this directory" o "Jail". Actívalo siempre.

3.2. Configura los permisos del directorio

Una vez creado el usuario, debes ajustar los permisos del directorio img/ para que sea escribible por ese usuario, pero no por otros.

  • Conéctate por SSH o usa el gestor de archivos de DirectAdmin.
  • Ve a public_html/img/.
  • Establece los permisos a 755 para directorios y 644 para archivos. Esto permite que el usuario FTP escriba, pero no ejecute scripts.
  • Si necesitas que el usuario pueda subir archivos, el propietario del directorio debe ser el usuario FTP o estar en el mismo grupo. En DirectAdmin, normalmente el usuario principal es el dueño. Para simplificar, puedes cambiar el grupo del directorio al grupo del usuario FTP.

[TIP] Si no sabes cómo cambiar permisos desde DirectAdmin, usa el "File Manager" integrado: selecciona la carpeta, haz clic derecho y elige "Change Permissions".


Paso 4: Crea usuarios FTP para diferentes roles

Aquí tienes ejemplos prácticos para distintos escenarios:

4.1. Usuario para subir imágenes (marketing)

  • Nombre: tienda_imagenes
  • Directorio: /home/tuusuario/domains/tudominio.com/public_html/img/
  • Chroot:
  • Permisos: Solo escritura en img/. No necesita acceso a themes/ ni modules/.

4.2. Usuario para modificar el tema (diseñador)

  • Nombre: tienda_tema
  • Directorio: /home/tuusuario/domains/tudominio.com/public_html/themes/
  • Chroot:
  • Permisos: Solo escritura en themes/. No necesita acceso a img/ ni config/.

4.3. Usuario para instalar módulos (desarrollador)

  • Nombre: tienda_modulos
  • Directorio: /home/tuusuario/domains/tudominio.com/public_html/modules/
  • Chroot:
  • Permisos: Solo escritura en modules/. Este usuario debe ser de confianza, ya que los módulos pueden contener código.

[WARNING] Nunca crees un usuario FTP con acceso a config/ o vendor/. Si alguien necesita modificar la configuración, hazlo tú mismo a través de SSH o del panel de administración de PrestaShop.


Paso 5: Configura el cliente FTP para usar SFTP o FTPS

Aunque hayas creado usuarios seguros, la conexión debe ser cifrada. DirectAdmin soporta SFTP (puerto 22) y FTPS (puerto 21 con TLS). Siempre que sea posible, usa SFTP.

  • En FileZilla, al conectarte, elige SFTP en el campo "Protocolo".
  • Si usas FTPS, selecciona "FTP over TLS" y asegúrate de que el servidor lo soporte (DirectAdmin suele tenerlo activado).

[INFO] Si tu hosting usa Syspanel (HestiaCP), el puerto para SFTP es el 2106 y debes especificarlo en la conexión.


Paso 6: Buenas prácticas adicionales de seguridad

  1. Cambia las contraseñas periódicamente: Cada 3 meses, renueva las contraseñas de los usuarios FTP.
  2. Elimina usuarios inactivos: Si un empleado deja la empresa, elimina su usuario FTP inmediatamente.
  3. Monitoriza los accesos: DirectAdmin registra los inicios de sesión FTP. Revísalos periódicamente para detectar accesos sospechosos.
  4. Usa un firewall de aplicaciones web (WAF): Servicios como Cloudflare o ModSecurity pueden bloquear ataques comunes.
  5. No uses el usuario principal para FTP: El usuario principal de DirectAdmin tiene acceso completo. Crea siempre usuarios secundarios.

Preguntas frecuentes (FAQ)

¿Puedo crear un usuario FTP que acceda a varias carpetas (img y themes)?

Sí, pero en lugar de apuntar a una carpeta específica, puedes apuntar a la raíz de PrestaShop y luego restringir los permisos mediante ACL (listas de control de acceso). Sin embargo, es más seguro crear usuarios separados. Si necesitas uno solo, usa un grupo y asigna permisos específicos.

¿Qué hago si el usuario FTP no puede subir archivos?

  • Verifica que el directorio tenga permisos 755 y que el propietario sea el usuario FTP o esté en su grupo.
  • Comprueba que el chroot esté bien configurado (a veces DirectAdmin no lo aplica correctamente si la ruta es incorrecta).
  • Prueba con un cliente FTP como FileZilla y mira los mensajes de error.

¿Es necesario usar chroot?

Sí, es fundamental. Sin chroot, el usuario podría navegar a carpetas superiores y acceder a otros sitios web en tu servidor o a archivos de configuración.

¿Puedo usar estos usuarios para conectarme desde el móvil?

Sí, aplicaciones como FTP Manager o Solid Explorer soportan SFTP. Solo asegúrate de usar conexión cifrada.

¿Qué pasa si necesito dar acceso a un desarrollador externo?

Crea un usuario temporal con acceso solo a modules/ y themes/. Establece una fecha de caducidad manual (cambia la contraseña después del proyecto) y elimínalo al terminar.


Conclusión

Crear usuarios FTP seguros en DirectAdmin para PrestaShop no es complicado, pero requiere atención a los detalles. Recuerda siempre: menos permisos es más seguridad. Aísla a cada usuario en su carpeta, usa contraseñas fuertes, activa el chroot y prefiere conexiones cifradas. Siguiendo esta guía, reducirás drásticamente el riesgo de que un ataque comprometa tu tienda online.

Si tienes dudas, repasa los pasos o consulta la documentación de DirectAdmin. Y si usas Syspanel (antes HestiaCP), no olvides el puerto 2106. ¡Tu tienda PrestaShop te lo agradecerá!

¿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