Configurar un servidor FTP en Windows Server (IIS) con aislamiento de usuarios

Un servidor FTP permite transferencia de archivos controlada. En Windows Server, el rol Servidor FTP (bajo Servicios de IIS) ofrece aislamiento de usuarios en carpetas personales.

1. Instalar rol FTP (Windows Server 2016/2019/2022)

  1. Administrador del servidor > Agregar roles y características.
  2. Instalación basada en roles > Selecciona servidor.
  3. Roles: Servidor Web (IIS) > Servidor FTP (marca Servicio FTP y Extensibilidad FTP).
  4. Completa el asistente.

2. Crear sitio FTP

  1. Administrador de IIS (inetmgr) > Sitios > Botón derecho > Agregar sitio FTP….
  2. Nombre: FTP-Corporativo. Ruta física: C:\FTPRoot (crea la carpeta y da permisos NTFS: SYSTEM, Administradores, Usuarios FTP: Lectura/Escritura).
  3. Enlace: IP específica o Todas las no asignadas, Puerto 21, Iniciar automático. Sin SSL (para prueba) o Requerir SSL (producción: necesitas certificado).
  4. Autenticación: Básica (requiere SSL en producción). Autorización: Usuarios especificados > grupo FTPUsers (crea el grupo y añade usuarios). Permisos: Lectura + Escritura.

3. Aislamiento de usuarios (User Isolation)

  1. En el sitio FTP creado, doble clic Autenticación FTP > habilita Autenticación básica.
  2. Doble clic Reglas de autorización FTP > Edita regla > Usuarios especificados > tu grupo.
  3. En el sitio FTP, icono Isolación de usuarios FTP > Aislar usuarios en directorios de usuario (User name directory). Aplicar.

4. Crear usuarios y carpetas personales

  1. Usuarios locales o de dominio en lusrmgr.msc o AD. Añádelos al grupo FTPUsers.
  2. En C:\FTPRoot, crea carpeta con exacto mismo nombre que el nombre de usuario (ej. juanp).
  3. Permisos NTFS en esa carpeta: Usuario (juanp): Control total, Administradores: Control total, SYSTEM: Control total. Quita Usuarios, Everyone.

5. Configurar directorio local del usuario (opcional, si no usas aislamiento automático)

lusrmgr.msc > Usuario > Propiedades > Pestaña Perfil > Ruta de acceso local: C:\FTPRoot\juanp.

6. Firewall y pruebas

  • Abre puertos 21 (control) y rango pasivo (ej. 5000-5100) en Firewall de Windows / hardware.
  • Configura modo pasivo en IIS: Sitio FTP > Compatibilidad con firewall FTP > Rango de puertos pasivos + IP externa.
  • Prueba con ftp://ip-servidor en Explorador de archivos o FileZilla/WinSCP.

Seguridad recomendada

  • Usa FTP sobre SSL/TLS (FTPS) con certificado válido.
  • Desactiva autenticación anónima.
  • Políticas de contraseñas fuertes + bloqueo por intentos fallidos.
  • Considera SFTP (SSH) en vez de FTP: más seguro, un solo puerto (22), nativo en Linux/Windows 10+ (OpenSSH Server).