Skip to main content

Historia de Usuario: Acceso SFTP seguro para proveedores - EDI

Versión: 1.0
Fecha: 2025-05-25
Autor: Arquitectura TI


🎯 Historia de Usuario

Como proveedor autorizado del sistema EDI
Quiero contar con acceso seguro a una conexión SFTP en la nube de GCP
Para que pueda depositar archivos EDI en una carpeta llamada incoming sin comprometer la seguridad del sistema.


✅ Criterios de Aceptación

  1. El sistema debe provisionar automáticamente una cuenta SFTP individual por proveedor o usuario.
  2. La autenticación debe realizarse mediante clave pública SSH (no debe permitirse autenticación por contraseña).
  3. La cuenta debe tener acceso restringido únicamente a su carpeta raíz /incoming, usando chroot o configuración equivalente.
  4. La carpeta /incoming debe estar precreada al momento de habilitar el acceso.
  5. El usuario SFTP no debe tener acceso a otras carpetas del sistema ni al sistema operativo subyacente.
  6. La solución debe ser desplegada en GCP usando recursos como Compute Engine o Cloud Transfer Appliance si aplica.
  7. El sistema debe registrar en logs centralizados:
    • Fecha y hora de conexión
    • Archivos subidos o modificados
    • Dirección IP del cliente
  8. Solo se deben aceptar archivos con extensión .edi, .txt o .csv.
  9. El acceso debe estar disponible 24/7 y monitoreado con alertas ante errores de conexión o uso indebido.
  10. Debe poder revocarse el acceso de un proveedor de forma inmediata desde consola de administración o script automatizado.

🧪 Definition of Done (DoD)

  • Al menos un proveedor fue configurado con acceso SFTP bajo estas condiciones
  • El acceso se verifica con clave pública desde cliente externo
  • La carpeta incoming existe y está protegida
  • El acceso a otros directorios está bloqueado
  • Los logs se almacenan en Stackdriver o sistema equivalente
  • Se disparan alertas al detectar comportamiento anómalo
  • Se valida el rechazo de archivos con extensiones no permitidas
  • Se documenta el proceso de alta, baja y cambio de claves
  • El equipo de operaciones cuenta con script o Terraform para automatizar provisión

📦 Infraestructura recomendada (Terraform)

La configuración puede automatizarse mediante Terraform para:

  • Crear la instancia GCE (Compute Engine)
  • Crear el usuario Linux/SFTP
  • Asociar claves SSH
  • Montar el directorio /incoming
  • Configurar sshd_config para chroot
  • Agregar reglas de firewall solo para puerto 22

Puedes documentar esto en un archivo separado como infra/sftp-instance.tf.