Una de las principales desventajas de FTP para la transferencia de archivos es la falta de protección y medios de cifrado de los datos transferidos. Cuando se conecta a un servidor FTP, el nombre de usuario y la contraseña también se envían en texto sin cifrar. Para transferir datos (especialmente utilizando canales de comunicación públicos), se recomienda utilizar protocolos más seguros, como FTPS o SFTP. Veamos cómo configurar un servidor FTPS en Windows Server 2012 R2.
Protocolo FTPS (FTP sobre SSL / TLS, FTP + SSL) es una extensión del protocolo FTP estándar, pero la conexión entre un cliente y un servidor está protegida (encriptada) mediante SSL / TLS. Como regla general, se utiliza el mismo puerto 21 para la conexión.
La compatibilidad con FTP sobre SSL apareció en IIS 7.0 (Windows Server 2008). Para que un servidor FTPS funcione, deberá instalar un certificado SSL en su servidor IIS.
Instalación de la función del servidor FTP
La instalación de la función de servidor FTP en Windows Server 2012 no causa ningún problema y ya se ha descrito.
Cómo generar e instalar un certificado SSL en IIS
Entonces abre el Administrador de IIS consola, seleccione un servidor y vaya a la Certificados de servidor sección.
En esta sección puede importar un certificado, crear una solicitud de certificado, actualizar un certificado o crear un certificado autofirmado. Con fines demostrativos, creemos un certificado autofirmado. (También se puede crear mediante el cmdlet New-SelfSifgnedCertificate). Al abordar un servicio, aparecerá una advertencia de que el certificado lo emite una CA que no es de confianza. Para deshabilitar esta advertencia para este certificado, agréguelo a la lista de certificados confiables usando GPO.
Seleccione Crear certificado autofirmado.
En el asistente Crear certificado, especifique su nombre y seleccione Alojamiento web tipo de certificado.

Aparecerá un nuevo certificado autofirmado en la lista de certificados disponibles. Este certificado caducará en 1 año.

Cómo crear un sitio FTP con soporte SSL
Entonces tienes que crear un sitio FTP. En el Administrador de IIS consola, clic derecho Sitios y cree un nuevo sitio FTP (Agregar FTP).

Especifique su nombre y la ruta al directorio raíz del sitio FTP (en nuestro caso, es la ruta predeterminada C: inetpub ftproot).

En la siguiente ventana del asistente, seleccione el certificado que ha creado en la sección Certificados SSL.
Ahora solo tienes que seleccionar el tipo de autenticación y permisos de acceso de usuario.
Haga clic en Finalizar en la ventana del asistente. De forma predeterminada, la protección SSL es obligatoria y se utiliza para cifrar tanto los comandos de gestión como los datos transferidos.
FTPS y cortafuegos
Cuando se utiliza el protocolo FTP, se utilizan 2 conexiones TCP diferentes, una para la transferencia de comandos y otra para la transferencia de datos. Para cada canal de transferencia de datos, se abre un puerto TCP individual, cuyo número es seleccionado por un cliente o un servidor. La mayoría de los firewalls permiten inspeccionar el tráfico FTP y, después de analizarlo, abren automáticamente los puertos necesarios. Cuando se utiliza una conexión FTPS protegida, los datos transferidos se cifran y no están sujetos a análisis. Como resultado, un firewall no puede determinar qué puerto debe abrirse para la transferencia de datos.
Para no abrir todo el rango de puertos TCP 1024-65535 a un servidor FTPS desde el exterior, puede especificar el rango de direcciones utilizadas para el servidor FTP. El rango se especifica en la configuración del sitio de IIS en Soporte de firewall FTP sección.
Una vez que se haya cambiado el rango de puertos, reinicie el servicio (iisreset).

Las siguientes reglas son responsables del tráfico entrante en el Firewall de Windows:
- Servidor FTP (entrada de tráfico FTP)
- Servidor FTP pasivo (entrada de tráfico FTP pasivo)
- Servidor FTP seguro (entrada de tráfico FTP SSL)
Por lo tanto, tendrá que abrir los puertos 21, 990 y 50000-50100 (el rango de puertos que seleccione) en el firewall frontal.
Cómo probar una conexión FTP a través de SSL
Para probar una conexión FTPS, usemos Filezilla.
- Comienzo FileZilla (o cualquier otro cliente que admita FTPS).
- Hacer clic Archivo> Administrador del sitioy cree una nueva conexión (Nuevo sitio).

- Especifique la dirección del servidor FTPS (Anfitrión), tipo de protocolo (Exigir explícito FTP encima TLS), nombre de usuario (Usuario) y el requisito de ingresar una contraseña para autenticarse (Pedir por contraseña)
- Hacer clic Conectar e ingrese su contraseña.
- Aparecerá la advertencia del certificado que no es de confianza (en caso de utilizar un certificado autofirmado). Confirma la conexión.

- Se debe establecer la conexión y aparecerán las siguientes entradas en el registro:
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established. - Significa que la conexión segura está establecida y puede transferir archivos usando el protocolo FTPS.





