lunes, 4 de febrero de 2013

HOW TO o Como montar un servidor SFTP sobre Windows 2003 sin morir en el intento.



El jueves pasado me vi en la necesidad de montar un servidor de ftp seguro con seguridad ssh. Es decir un SFTP. Hace mucho tiempo yo monte un servidor de estas caracteristicas sobre un servidor CENTOS 5 que funcionaba francamente bien, pero en este caso todas las maquinas que tenemos son Windows y no vamos a comprar una máquina para un solo cliente.


Primera solución que encontré fue instalar OpenSSH:

Sinceramente instalarlo no tiene mucha complicación, configurarlo existen miles de tutoriales donde explican cómo hacerlo y con sinceridad es fácil… pero… (Siempre hay un pero y aquí el objeto de este post) la versión de OpenSSH de Windows no tiene soporte para “enjaular” a los usuarios. Es decir el usuario del ftp campa a sus anchas por tu servidor. En Linux es muy fácil cambias un par de líneas y solucionado, pero Windows imposible.

Segunda solución montar el servidor a través de cygwin:

Es un poco bastante más complicada que la anterior y por desgracia tiene exactamente el mismo problema, no podemos enjaular a un usuario la función ChrootDirectory sigue sin estar soportada. Por lo que mi gozo en un pozo.

Cuando empezaba a quedarme sin opciones, pensé en buscar algún servidor ftp que soportara este protocolo. Tras un par de búsquedas y finalmente encontré la solución

Tercera solución freeFTPd:

Es un servidor de ftp y sftp muy, muy pero que muy sencillo de configurar y para un caso como este suficiente. Lo instalamos configuramos los usuarios del domino que queramos que accedas y listo. Permite autentificación de usuarios mediante claves ssh, contraseñas y autentificación NT. Por lo que con dar de alta los usuarios es suficiente para empezar a funcionar. Y este sí que me permite “enjaular” a mis usuarios para que no intenten “hacer cosas malas”. Es muy fácil de configurar pero para lo que no estén muy duchos también os dejo un tuto, pero veréis que no tiene misterio ninguno.

Como problema tengo que decir que al no ser un usuario administrador de la máquina y estar montado en un servidor, es necesario que el usuario pueda “iniciar sesión en la maquina local” sino nunca deja conectar al usuario. Este problema ocurre con cualquiera de las tres opciones.

Espero que a más de uno le sirva de ayuda

Saludetes a tod@s

No hay comentarios: