9/30/2011

Montar servidor FTP con FileZilla Server en Windows Server 2008, acceso externo



Explicamos cómo montar un servidor de FTP en un equipo con el sistema operativo Microsoft Windows Server 2008 Standard Edition x64 usando el software gratuito y open soure FileZilla Server. Explicamos cómo configurar el Firewall de Windows para permitir conexiones externas al servidor de FTP. Mostramos una prueba de acceso al servidor de FTP usando el cliente de FTP por comando que incluye el propio Microsoft Windows Server 2008.




Descarga e instalación de FileZilla Server en Microsoft Windows Server 2008

FileZilla Server es un servidor de FTP gratuito y open source (con el código fuente disponible), es bastante configurable y administrable. Con esta herramienta podremos montar un servidor de FTP de forma muy sencilla en nuestro equipo. A continuación explicamos cómo descargar el programa de instalación y cómo instalarlo.
Descargaremos el fichero de instalación de FileZilla Server, para ello abriremos un navegador web, por ejemplo Mozilla Firefox, accederemos a la URL:
http://filezilla-project.org/download.php?type=server
Pulsaremos en "Windows - FileZilla_Server-0_9_39.exe XP and Vista and 7 are supported, each both 32 and 64 bit. Source code inside installer":
Descarga e instalación de FileZilla Server en Microsoft Windows Server 2008
Pulsaremos en "Guardar archivo":
Descarga e instalación de FileZilla Server en Microsoft Windows Server 2008
Una vez descargado el fichero para instalar FileZilla Server pulsaremos con el botón derecho y seleccionaremos "Abrir":
Descarga e instalación de FileZilla Server en Microsoft Windows Server 2008
Pulsaremos en "Ejecutar" en la ventana de advertencia de seguridad:
Descarga e instalación de FileZilla Server en Microsoft Windows Server 2008
Leeremos los términos de licencia, si estamos de acuerdo pulsaremos "I Agree" para iniciar la instalación de FileZilla Server:
Descarga e instalación de FileZilla Server en Microsoft Windows Server 2008
Seleccionaremos las opciones a instalar de FileZilla Server:
  • FileZilla Server (Service).
  • Administration interface.
  • Source Code.
  • Start Menu Shortcuts.
  • Desktop Icon.
Por defecto estarán todas marcadas salvo "Source Code" que es el código fuente de la aplicación y no es necesario para su funcionamiento. Pulsaremos "Next" para continuar:
Descarga e instalación de FileZilla Server en Microsoft Windows Server 2008
Seleccionaremos la unidad y carpeta de destino de los ficheros de instalación de FileZilla Server, por defecto para Microsoft Windows Server 2008:
C:/Program Files (x86)/FileZilla Server
Pulsaremos "Next" para continuar:
Descarga e instalación de FileZilla Server en Microsoft Windows Server 2008
Seleccionaremos el tipo de inicio de FileZilla Server, las posibilidades:
  • Install as service, started with Windows (default): se creará un servicio que se iniciará de forma automática cuando iniciemos el sistema operativo.
  • Install as service, started manually: se creará un servicio que no se iniciará de forma automática, deberemos iniciarlo manualmente cuando lo deseemos.
  • Do not install as service, start server automatically (not recommended): no se creará un servicio, se ejecutará FileZilla Server pero sin servicio, esta opción no es recomendable.
Descarga e instalación de FileZilla Server en Microsoft Windows Server 2008
Seleccionaremos la primera opción, la de defecto "Install as service, started with Windows (default)". En "Please choose the port, the admin interface of FileZilla Server should listen on (1-65535)" introduciremos el puerto para la interfaz de administración de FileZilla Server, por defecto "14147". Si queremos que el servicio se inicie tras finalizar la instalación marcaremos "Start Server after setup complete":
Descarga e instalación de FileZilla Server en Microsoft Windows Server 2008
A continuación seleccionaremos qué tipo de inicio queremos para la interfaz del servidor (aplicación que servirá para administrar FileZilla Server: crear grupos, crear usuarios, consultar usuarios conectados, establecer cuotas de disco, límite de velocidad, etc.), las posibilidades:
  • Start if user logs on, apply to all users (default): la interfaz del servidor se iniciará cuando cualquier usuario inicie sesión en el equipo.
  • Start if user logs on, apply only to current user: la interfaz del servidor se iniciará cuando el usuario actual inicie sesión en el equipo.
  • Start manually: la interfaz del servidor no se iniciará de forma automática, la podremos iniciar cada vez que queramos de forma manual.
Descarga e instalación de FileZilla Server en Microsoft Windows Server 2008
Como ejemplo seleccionaremos "Start if user logs on, apply to all users (default)", aunque lo recomendable es "Start manually" para iniciar la interfaz del servidor cuando la necesitemos y no siempre que iniciemos sesión. Pulsaremos "Install" para iniciar la instalación definitiva de FileZilla Server:
Descarga e instalación de FileZilla Server en Microsoft Windows Server 2008
El asistente de instalación de FileZilla Server nos mostrará una ventana con el progreso de la instalación, tras finalizar mostrará "Completed". Pulsaremos "Close":
Descarga e instalación de FileZilla Server en Microsoft Windows Server 2008
Puesto que hemos marcado la opción de que nos muestre la interfaz del servidor, el asistente nos mostrará la ventana de conexión con el servidor, introduciremos los siguientes datos:
  • Server Address: dirección IP o hostname del equipo con FileZilla Server, en nuestro caso, puesto que es el mismo equipo dejaremos 127.0.0.1.
  • Port: puerto establecido para la interfaz del servidor, por defecto 14147.
  • Administration password: introduciremos la contraseña para el usuario administrador de FileZilla Server.
Pulsaremos "OK" para abrir la interfaz del servidor:
Descarga e instalación de FileZilla Server en Microsoft Windows Server 2008
Nos abrirá la intefaz del servidor, desde donde podremos ver qué usuarios están conectados al nuevo servidor FTP, configurar las opciones de FileZilla Server, crear nuevos usuarios y grupos, desconectar usuarios, etc.:
Descarga e instalación de FileZilla Server en Microsoft Windows Server 2008
El asistente de instalación habrá creado el servicio "FileZilla Server FTP server" y lo habrá iniciado, en el Tipo de inicio tendrá marcado "Automático":
Descarga e instalación de FileZilla Server en Microsoft Windows Server 2008

Administración de FileZilla Server, crear usuarios

Para administrar el servidor de FileZilla Server abriremos la interfaz del servidor desde el botón "Inicio" - "Todos los programas" - "FileZilla Server" - "FileZilla Server Interface". Introduciremos los datos de conexión:
  • Server Address: dirección IP o hostname del equipo con FileZilla Server, en nuestro caso, puesto que es el mismo equipo dejaremos 127.0.0.1.
  • Port: puerto establecido para la interfaz del servidor, por defecto 14147.
  • Administration password: introduciremos la contraseña para el usuario administrador de FileZilla Server.
Pulsaremos "OK" para abrir la interfaz del servidor:
Administración de FileZilla Server, crear usuarios
Para crear un nuevo usuario que pueda acceder a nuestro servidor FTP, desde la interfaz del servidor (FileZilla Server Interface), pulsaremos en el menú "Edit" - "Users":
Administración de FileZilla Server, crear usuarios
En la parte izquierda, en "Page" seleccionaremos "General", en la parte derecha, en "Users", pulsaremos "Add":
Administración de FileZilla Server, crear usuarios
Introduciremos el nombre para el usuario, por ejemplo "ajpdsoft", si hemos creado grupos de usuarios podremos indicar en "User should be member of the following group" el grupo al que pertenercerá, pulsaremos "OK":
Administración de FileZilla Server, crear usuarios
En "Account settings" estableceremos la configuración para el nuevo usuario del servidor FTP, las opciones:
  • Enable account: cuanta activa, si desmarcamos esta opción el usuario no podrá iniciar sesión en nuestro servidor FTP.
  • Password: si marcamos esta opción e introducimos una contraseña el usuario deberá introducirla para poder acceder al servidor de FTP, si no marcamos esta opción el usuario podrá iniciar sesión sin contraseña.
  • Bypass userlimit of server: si marcamos esta opción podremos establecer un máximo de conexiones para el usuario o incluso para su IP.
  • Force SSL for user login: marcando esta opción el usuario deberá usar SSL para poder conectarse a nuestro servidor de FTP (SFTP).
En nuestro caso marcaremos "Enable account" y "Password" para activar el usuario y para que el usuario deba introducir la contraseña que hayamos establecido para iniciar sesión:
Administración de FileZilla Server, crear usuarios
Desde esta ventana podremos configurar todas las opciones de cada usuario creado, por ejemplo, para el usuario "ajpdsoft" creado anteriormente podremos establecer la carpeta raíz desde "Shared folders", pulsaremos "Add":
Administración de FileZilla Server, crear usuarios
Seleccionaremos la carpeta que será la raíz del usuario, cuando acceda con un cliente de FTP a nuestro servidor de FTP, por defecto podrá ver y subir o descargar ficheros de y en esta carpeta:
Administración de FileZilla Server, crear usuarios
Una vez seleccionada la carpeta raíz, en la parte derecha podremos indicar los permisos que tendrá este usuario para esta carpeta, sus ficheros y subcarpetas. Los permisos para los ficheros: Read (lectura), Write (Escritura), Delete (Eliminar), Append (Añadir), los permisos para las carpetas: Create (crear nuevas subcarpetas), Delete (eliminar subcarpetas), List (mostrar subcarpetas), +Subdirs (añadir subcarpetas). Desde aquí podremos añadir más carpetas a las que el usuario tendrá acceso:
Administración de FileZilla Server, crear usuarios
Desde esta ventana de creación y administración de usuarios podremos también limitar la velocidad de subida y bajada para el usuario en "Speed Limits" y filtrar IPs en "IP Filter" para permitir sólo acceso a los usuarios desde determinadas IPs.

Acceso a las opciones de configuración de FileZilla Server

Para configurar el servidor de FTP FileZilla Server accederemos al botón "Inicio" - "Todos los programas" - "FileZilla Server" - "FileZilla Server Interface". Introduciremos los datos de conexión:
  • Server Address: dirección IP o hostname del equipo con FileZilla Server, en nuestro caso, puesto que es el mismo equipo dejaremos 127.0.0.1.
  • Port: puerto establecido para la interfaz del servidor, por defecto 14147.
  • Administration password: introduciremos la contraseña para el usuario administrador de FileZilla Server.
Pulsaremos "OK" para abrir la interfaz del servidor:
Acceso a las opciones de configuración de FileZilla Server
Accederemos al menú "Edit" - "Settings":
Acceso a las opciones de configuración de FileZilla Server
Desde esta ventana podremos configurar todas las opciones del servidor de FTP FileZilla Server: puerto, número máximo de usuarios conectados concurrentemente, número de hilos, filtrar IPs, configurar modo pasivo, opciones de seguridad, puerto para la interfaz de configuración, límite de velocidad, compresión, SSL, etc.:
Acceso a las opciones de configuración de FileZilla Server
 

Prueba de acceso al servidor FTP con cliente FTP por comando de Windows Server 2008

Para verificar que el servidor de FTP está correctamente instalado y operativo, desde el propio servidor de FTP con Microsoft Windows Server 2008 abriremos una ventana de consola de MS-DOS (shell de comandos) pulsando en el botón "Inicio", escribiendo "cmd" y pulsando INTRO:
Prueba de acceso al servidor FTP con cliente FTP por comando de Windows Server 2008
Para usar el cliente FTP que incluye Microsoft Windows Server 2008 escribiremos el comando:
ftp
Y pulsaremos INTRO, tras abrir el cliente FTP de Windows escribiremos este otro comando para conectarnos al servidor de FTP con FileZilla Server:
open 127.0.0.1
(puesto que estamos accediendo desde el propio servidor de FTP no es necesario indicar la IP de la LAN ni el hostname, es suficiente con indicar 127.0.0.1)
Si el servidor de FTP está activo y correctamente iniciado nos devolverá el mensaje de bienvenida, por defecto para FileZilla Server: FileZilla Server version 0.9.39 beta written by Tim Kosse...
Nos solicitará usuario y contraseña, utlizaremos el creado anteriormente (como indicamos aquí).
A partir de ahora podremos, por ejemplo, subir un fichero al servidor FTP con el comando:
mput nombre_fichero
En nuestro ejemplo subimos el fichero "ntuser.ini" al servidor FTP, que quedará alojado en la carpeta raíz del usuario:
Prueba de acceso al servidor FTP con cliente FTP por comando de Windows Server 2008
Explorando en el servidor de FTP con FileZilla Server la carpeta raíz del usuario podremos ver el fichero subido mediante el cliente de FTP de Windows:
Prueba de acceso al servidor FTP con cliente FTP por comando de Windows Server 2008
Con lo cual hemos verificado que el servidor de FTP funciona correctamente.
Si en el servidor de FTP tenemos abierta la interfaz de administración de FileZilla Server podremos ver el log de todas las acciones que se van realizando en el servidor, así como los usuarios conectados actualmente:
Prueba de acceso al servidor FTP con cliente FTP por comando de Windows Server 2008

Configurar Windows Server 2008 y Servidor de FTP para permitir conexiones externas

Microsoft Windows Server 2008 incorpora un cortafuegos (firewall) que por defecto está activado. Dicho sistema de seguridad impedirá cualquier acceso externo al servidor, sea desde Internet o desde los equipos de la propia red local (LAN). Por lo tanto, si intentamos acceder al servidor FTP desde cualquier equipo de la LAN o desde Internet este Firewall nos lo impedirá.
Para permitir el acceso externo al servidor de FTP pulsaremos en el botón "Inicio" - "Panel de control":
Configurar Windows Server 2008 y Servidor de FTP para permitir conexiones externas
En el Panel de control pulsaremos en "Sistema y seguridad":
Configurar Windows Server 2008 y Servidor de FTP para permitir conexiones externas
En este punto tenemos varias posibilidades, o bien pulsar en "Firewall de Windows" y crear un nueva regla para abrir el puerto 21 (el de defecto para los servidores FTP) o bien permitir el tráfico al ejecutable de FileZilla Server, esta última será la opción que elijamos, para ello pulsaremos en "Permitir un programa a través de Firewall de Windows":
Configurar Windows Server 2008 y Servidor de FTP para permitir conexiones externas
En la parte inferior de la ventana de Programas permitidos del Firewall de Windows pulsaremos en "Permitir otro programa":
Configurar Windows Server 2008 y Servidor de FTP para permitir conexiones externas
En la ventana de Agregar un programa pulsaremos en "Examinar":
Configurar Windows Server 2008 y Servidor de FTP para permitir conexiones externas
Seleccionaremos el fichero "FileZilla server.exe" de la carpeta de instalación de FileZilla Server y pulsaremos "Abrir":
Configurar Windows Server 2008 y Servidor de FTP para permitir conexiones externas
Pulsaremos "Agregar" tras seleccionar "FileZilla Server.exe":
Configurar Windows Server 2008 y Servidor de FTP para permitir conexiones externas
En el programa añadido marcaremos "Doméstica/trabajo (privada)" y si queremos que nuestro servidor FTP sea accesible desde Internet marcaremos "Pública":
Configurar Windows Server 2008 y Servidor de FTP para permitir conexiones externas
De esta forma ya podremos acceder al servidor de FTP desde cualquier equipo de la LAN (red de área local).
Obviamente, si queremos que el servidor FTP sea público y accesible desde cualquier parter del mundo, si disponemos de algún Firewall físico o algún router deberemos mapear el puerto 21 a la IP local del servidor de FTP para que cualquier petición que se realice a la IP pública de la conexión a Internet de nuestra organización se dirija y la gestione el servidor de FTP con FileZilla Server. A continuación mostramos algunos artículos sobre cómo mapear puertos en routers:
Una vez mapeado (redireccionado) el puerto 21 a la IP local del servidor FTP, para que cualquier usuario pueda acceder desde Internet a nuestro servidor de FTP sólo necesitará saber la IP pública de nuestra conexión a Internet. Para conectarse y subir o descargar ficheros del FTP sólo necesitará cualquier cliente de FTP, como FileZilla Cliente (gratuito) o por comando como hemos explicado aquí.

Artículos relacionados


Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del Proyecto AjpdSoft.

2 comentarios:

Army_men dijo...

gracias muy util pude configurar mi servdidor ftp accesible desde internet sin necesidad del Mapeo y redirección de puertos en cortafuegos o router

rich_s_u dijo...

Muchas gracias por la expliacacion tan clara, he podido configurar sin problemas, algo que llevaba tiempo sin lograrlo con éxito.