Vamos a ver cómo instalar y configurar un servidor FTP IIS.
Este servidor FTP, se integra en un Windows Server con IIS.
En este artículo:
- Instalar rol de servidor FTP
- Crear usuarios y grupo de usuarios para FTP
- Crear el directorio físico para FTP con permisos para los usuarios ftp
- Instalar certificado autofirmado para el servidor IIS y para FTP.
- Agregar el sitio FTP en IIS
- Aislamiento FTP, Autenticación y reglas de autorización FTP
- Configurar la compatibilidad con el Firewall de Windows
- Probar la conexión con el servidor FTP
Instalar el rol de servidor FTP en IIS
Primero tenemos que agregar el rol de servidor FTP a nuestro servidor Windows.
Vamos al paso Rol del servidor web (IIS)> Servicios de rol y marcamos el servicio de rol del servidor FTP
También marcamos Servicio de administración / Consola de administración de IIS .
Después vamos a “Administrador de Internet Information Services (IIS)” para comenzar a configurar el server FTP:
Crear usuarios y grupo de usuarios para FTP
Vamos a “usuarios y equipos de Active Directory” y creamos los usuarios que van a formar parte del grupo que tendrá permisos para FTP:
Creamos el grupo FTP y añadimos en él a los usuarios anteriores:
Ahora solo tenemos que agregar en este grupo a los usuarios anteriores que podrán utilizar el servidor FTP.
Crear el directorio físico para FTP con permisos para los usuarios ftp
Crearemos un directorio para el uso del servidor FTP, y le daremos permisos a los usuarios del grupo FTP.
En este caso le hemos dado permiso al grupo ftp, en el directorio activo del servidor DOM1. Es habitual utilizar el directorio “C:\inetpub\ftproot” (este directorio lo configuramos como directorio físico del sitio ftp al “agregar el sitio FTP“. Lo veremos después.)
Instalar certificado autofirmado
Dentro del “Administrador de Internet Information Services (IIS)“, vamos a la opción “Certificados de servidor” :
Y podemos crear un certificado autofirmado (en la columna “Acciones” , a la derecha):
(En el caso de que nos conectemos desde un cliente a un servidor FTP con certificado, tendremos que hacerlo con la opción de cifrado SSL/TLS)
Especificamos el nombre del certificado:
Ya tenemos un certificado autofirmado para el servidor FTP.
Crear el certificado autofirmado con PowerShell
Los certificados autofirmados creados por IIS manager no funcionan correctamente en clientes SFTP, ya que comprueban violaciones del uso de claves.
Para crear un certificado correcto que pueda ser utilizado en clientes SFTP, debemos crear el certificado desde PowerShell, así:
New-SelfSignedCertificate -FriendlyName "FTP Server" -CertStoreLocation cert: \ localmachine \ my -DnsName ftp.example.com
Agregar el sitio FTP
Vamos a comenzar a crear el sitio FTP; vamos al administrador de IIS, y en la sección “Sitios“, pulsamos click derecho y seleccionamos “Agregar sitio FTP“:
A continuación rellenamos la “información del sitio“
Configuramos el nombre y la ruta de acceso física (directorio que usará el sitio ftp):
Configuramos la interfaz sobre la que escuchará el servidor FTP, y si queremos que utilice certificado SSL o no:
Permitimos la autenticación a los usuarios o grupos creados previamente, que tendrán permisos para acceder al servidor y directorios ftp.
Seleccionamos autenticación básica, y permitir el acceso a roles o grupos de usuarios especificados.
Por último marcamos los permisos Leer y Escribir.
Aislamiento FTP, Autenticación y reglas de autorización FTP
Vamos a configurar 3 opciones muy importantes en el servidor FTP: “Aislamiento de usuarios FTP” , “Autenticación FTP” y “reglas de autorización de FTP”:
Aislamiento de usuario FTP
En Aislamiento de usuarios FTP, tenemos varias opciones, pero en este caso elegiremos la más simple: “Directorio raíz de FTP“
Hablaremos de una forma más amplia en el artículo sobre cómo configurar el Aislamiento de usuarios FTP en un servidor FTP Windows Server.
La opción “Directorio raíz de FTP“, permite que una sesión FTP de un usuario comience en el directorio raíz del sitio FTP;
En la opción ” configuración básica” del servidor FTP, podemos configurar cual será la ruta física del servidor FTP:
Vemos que en este caso la ruta física es C:\inetpub\ftproot
Y podemos ver el contenido del directorio:
Vemos que si conectamos con un cliente ftp, podemos listar y ver los directorios y ficheros existentes en la ruta raíz del ftp:
Como decíamos, esto es porque hemos elegido en este caso “no aislar usuarios” y permitir el “acceso al directorio raíz ftp“.
Directorios virtuales FTP
Los directorios virtuales FTP son directorios físicos “mapeados” a un directorio virtual.
Por ejemplo, este directorio virtual se llama “dir2“, y realmente apunta al directorio físico C:\ftp\directorio2
Podemos ver que el directorio virtual es visible en el menú inferior del sitio ftp:
podremos acceder a este directorio virtual usando el alias “dir2” y el comando cd, en ftp.
Autenticación FTP
Las opciones son autenticación anónima y autenticación básica.
Reglas de autorización FTP
Agregamos reglas de autorización FTP, para permitir el acceso a ciertos grupos o usuarios:
Podemos permitir el acceso a todos los usuarios, a todos los anónimos, o a ciertos usuarios o grupos de usuarios.
En este caso vamos a permitir el acceso a un grupo de usuarios para ftp.
Configurar la compatibilidad con el Firewall de Windows
Con esta opción podemos abrir puertos en el Firewall de Windows para que acepte conexiones entrantes a la IP externa del router.
Configuramos nuestra IP externa y los puertos correctos que estarán abiertos en el firewall para permitir el paso al FTP.
También tenemos que crear reglas para el firewall de Windows, para que permita el paso al puerto y servicio FTP.
Reiniciamos el servidor FTP.
Con todo esto ya tenemos configurado un servidor FTP en IIS. Es muy importante que configuremos correctamente el aislamiento de usuario FTP (existen varias posibilidades).
Probando la conexión al servidor FTP
Probamos la conexión al servidor con WinSCP o desde una terminal: