Buscar este blog

lunes, 27 de octubre de 2014

Monta un servidor FTP doméstico gracias a VSFTPD

VSFTPD
Cada día usamos más Internet, tanto que ya casi se ha convertido para muchos en un «bien de primera necesidad». De entre las múltiples posibilidades que nos brinda, en este artículo nos vamos a centrar en la de compartir ficheros multimedia
¿Quién no ha enviado un foto por e-mail o ha colgado un vídeo en YouTube? Sin embargo, la transferencia de esta información se hace difícil cuando su tamaño es grande, como un PDF de muchos «megas», un álbum de fotos o un vídeo de alta definición, archivos que no podremos compartir fácilmente.
Con este práctico, os enseñamos a montar un servidor FTP mediante la aplicación para Linux VSFTPD, con la que podréis usar vuestro ordenador tanto para compartir vuestros archivos como para que vuestros más allegados suban y guarden su información en él a través deInternet.
Hemos usado como referencia Ubuntu 10.04 como distribución Linux y un router ADSL doméstico conectado a Internet. No obstante, en el DVD también encontraréis el servidor por si contáis con otra distribución.

Nivel: Intermedio

Paso 1. Prepara la Red

El primer paso es preparar nuestro PC para ser utilizado como servidor. Un requisito casi imprescindible es contar con una IP estática en nuestra red local. Para hacerlo en Ubuntu, pulsaremos con el botón derecho sobre el icono con forma de dos flechas, situado en la barra superior, y elegiremos la opción Editar las conexiones.
A continuación, seleccionaremos la pestaña Cableadas, que hace referencia a la configuración de las tarjetas de red de nuestro equipo. Tras lo cual, pincharemos sobre la tarjeta de red, generalmente eth0, y pulsaremos sobre Editar. Se abrirá una nueva ventana con varias pestañas y elegiremos Ajustes de IPv4.
VSFTPD
Aquí es donde podremos definir la configuración de la tarjeta de red de nuestro equipo. En primer lugar, escogeremos la opción Manual en la lista denominada Método. Para escribir los datos correctos, deberemos saber en qué rango de IP se encuentra nuestra red.
Con mucha frecuencia, el rango es 192.168.1.x, pero lo podemos comprobar abriendo una consola y escribiendo el comando ifconfig. Una vez determinado el rango, cumplimentaremos los datos de Dirección (la dirección IP de nuestro servidor en la red local), Máscara de subred y Puerta de enlace.
También escribiremos la dirección de los servidores DNS. Esta dirección depende completamente de nuestro proveedor de servicios, aunque siempre podremos usar servidores DNS abiertos, como los de Google, cuyas direcciones son 8.8.8.8 y 8.8.4.4.

Paso 2. La instalación

Llegado a este punto, ya podremos instalar VSFTPD. El proceso es muy sencillo. Para hacerlo, pulsaremos sobre Aplicaciones y, a continuación, sobre Centro de software de Ubuntu. Se abrirá una ventana a través de la cual podremos instalar nuevos programas.

Usaremos el cuadro de texto de búsqueda situado en la parte superior y escribiremos vsftpd, tras lo cual aparecerá nuestro programa en una lista. Lo seleccionaremos y pulsaremos sobre el botón Instalar. Tras unos instantes, ya lo tendremos descargado e instalado.

Paso 3. Aspectos generales

Una vez concluida la instalación, tendremos nuestro PC listo para compartir archivos. La gestión de un servidor FTP se lleva a cabo a través de cuentas de usuario. Una persona que quiera acceder a nuestro servidor escribirá la dirección del mismo en el navegador (cambiando http por ftp en la barra de direcciones) o utilizará un cliente FTP.
En el momento de conectarse, tendrá que saber el nombre de usuario y contraseña para entrar. Cada uno de estos usuarios tiene acceso a un espacio concreto dentro de nuestro disco, de tal forma que la información a la que pueden acceder es distinta en función de la cuenta.
VSFTPD
En este sentido, a pesar de que es posible contar con distintas cuentas, tantas como usuarios deseemos crear, os recomendamos restringir al máximo su número, para llevar una mejor gestión del servidor. VSFTPD crea por defecto una cuenta de usuario llamadaftp. Esta cuenta es ideal para compartir los archivos que queramos ofrecer públicamente. La ruta por defecto asociada a ella es /svr/ftp.

Paso 4. Configuración

La configuración de VSFTPD se lleva a cabo en su mayor parte a través del archivo de configuración /etc/vsftpd.conf, que podremos abrir con Gedit y los correspondientes permisos de administrador.
VSFTPD
Este archivo contiene todas las opciones disponibles, así como la explicación de cada una de ellas, y responden a la fórmula opción = [YES | NO | Valor]. Algunas de ellas están comentadas. Las opciones más importantes de este fichero que podremos modificar son las siguientes:
  • anonymous_enable=NO. Permite el acceso al servidor sin autenticación. Por defecto, esta acción está deshabilitada. Tenerla activada no es aconsejable, a no ser que la información que vayas a poner sea para todo el mundo.
  • local_enable=YES. Esta opción permite que los usuarios locales de nuestro equipo puedan autenticarse, dando, en definitiva, la posibilidad de crear nuevas cuentas de usuario. Están excluidos los usuarios de la lista /etc/ftpusers.
  • write_enable=YES. Permite que los usuarios puedan enviar documentos a su espacio.Desactívala si no quieres que ningún usuario suba archivos a tu servidor.
  • chroot_local_user=YES. Evita que los usuarios puedan navegar por otras partes del sistema que no sean su espacio personal. Es muy recomendable, aunque se puede elegir un grupo específico de usuarios sobre los que aplicar esta restricción activando las opcioneschroot_list_enable=YES y chroot_list_file=/etc/vsftpd.chroot_list. Tendremos que crear el archivo /etc/vsftpd.chroot_list por nuestra cuenta e incluir en él una lista de los usuarios a los que queramos restringir. Cada vez que hagamos un cambio en el archivo de configuración de VSFTPD, deberemos reiniciar el servidor mediante el comando restart vsftpd.

Paso 5. Crea la cuenta donde dejar ficheros

Llegado a este punto, lo más probable es que deseemos poner en marcha el servidor. Para ello, es muy aconsejable que creemos una cuenta exclusiva en la cual colocar los archivos que deseemos.
VSFTPD
Para hacerlo, es necesario crear un nuevo usuario en nuestro equipo. En Ubuntu se hace accediendo a Sistema/Administración/Usuarios y Grupos. De este modo, se abrirá una ventana en la que podremos crear dicho usuario. Una vez hecho, con la opción local_enable activada, copiaremos todos los archivos y carpetas que queramos al directorio raíz del usuario, por lo general, /home/nombredeusuario.

Paso 6. Puertos abiertos del router

Hasta aquí, nuestro servidor funciona a nivel local, es decir, todavía no podríamos tener acceso remoto al mismo desde el exterior. Para que nuestro ordenador pueda ofrecer tus archivos a Internet, es necesario tener en cuenta que entre el PC y la Red se encuentra un router, que habrá que configurar correctamente para hacer posible la comunicación.
Hay dos aspectos a tener en cuenta: en primer lugar, deberemos tener abierto el puerto 21 de nuestro router, ya que muchas veces, éste actúa como cortafuegos; y, en segundo lugar, es necesario indicarle al router que todas las solicitudes sobre el puerto 21 o FTP se dirijan hacia nuestro servidor.
Esta asociación entre puerto e IP la podemos definir en la tabla NAT de nuestro dispositivo. Aunque cada modelo es diferente, son cuatro los datos básicos que deberemos completar.
VSFTPD
El puerto o rango de puertos por los que el cliente hace la solicitud, en este caso el 21. El puerto o rango de puertos desde los que responde el servidor a la solicitud por defecto el 21. La dirección IP local de nuestro servidor, que será la que hayamos definido en el Paso 2y, por último, el protocolo que para una conexión FTP es TCP.
Si tienes problemas, te aconsejamos consultar la página http://canyouseeme.org, desde la que podrás comprobar si tienes algún bloqueo que te impide usar el puerto 21. No podrás probar tu acceso al servidor con IP pública desde tu propia red local.

Paso 7. Algunos Consejos sobre seguridad

Hay algunas observaciones que conviene hacer antes de usar un servidor. En primer lugar, el hecho de abrir un acceso a nuestro ordenador desde el exterior hace, si cabe, más necesario el uso de un sistema de protección frente a intrusiones.
Por tanto, es muy aconsejable instalar y configurar un firewall en nuestro equipo que restrinja los accesos al mismo. Por otra parte, si ofrecemos la posibilidad de subir archivos, deberemos evitar que nuestro equipo pueda llegar al colapso. Una buena práctica es la de asignar a /home su propia partición, de tal forma que el espacio ocupado en esta partición no afectaría al sistema.
Por otro lado, es muy conveniente limitar el espacio cuenta por cuenta, de esta forma nos aseguraremos de tener mejor control de nuestro servidor. Otro consejo tiene que ver con el propio servidor, el acceso anónimo no es recomendable.
Dejar que cualquier pueda acceder al servidor no es una buena práctica. Por último, cualquier usuario con privilegios en el sistema debería estar en la lista /etc/ftpusers para tener el acceso FTP bloqueado.
VSFTPD
Finalmente, y a modo de conclusión, queremos añadir que, aunque contar con unservicio FTP es prometedor, una de las limitaciones que tiene la puesta en marcha de un servidor de archivos en nuestro hogar es la escasa velocidad de subida que nos ofrecen los proveedores de servicios en Internet.
Por ejemplo, si contáramos con una conexión de 20 Mbps/1 Mbps, una persona que se quisiera descargar un CD de fotos desde nuestro ordenador, tardaría cerca de dos horas en completar la descarga, en condiciones óptimas.

Tres alternativas preliminares

Para poder instalar VSFTPD, es necesario contar con un ordenador en el que tengamos ya instalado una distribución de Linux. En este sentido, os sugerimos tres ideas. Instalar VSFTP en vuestro ordenador de escritorio, con lo cual tendréis acceso directo a él de forma remota.
Usar un segundo ordenador y configurarlo como un servidor, de tal forma que aprovecharéis las ventajas de tener un servicio dedicado y mucha más seguro, a la par que podríais dar una segunda vida a vuestro ordenador viejo.
crear una máquina virtual con Linux y VSFTPD, de tal forma que podréis hacer pruebas, tendréis acceso a los archivos desde vuestro equipo doméstico a la par que mantenéis un buen equilibrio entre seguridad y mantenimiento del servicio.

El uso de un cliente FTP

VSFTPD
Para aquellas ocasiones en las que necesites subir varios archivos o bajarlos de un servidor FTP, es aconsejable usar un cliente FTP. Un buen ejemplo es FileZilla, un proyecto Open Source con el que podrás conectarte de forma cómoda a tu servidor y gestionar de manera sencilla la transferencia de archivos.

Cómo sortear la asignación de una IP dinámica con DynDNS

La mayor parte de los hogares cuenta con una conexión a Internet con IP pública dinámica, lo que quiere decir que cada vez que el proveedor de servicios lo estima oportuno nos cambia la IP, haciendo difícil el uso servidores en nuestro hogar.
En este aspecto, caben dos posibles soluciones. La primera es contratar una IP fija, de esta forma nuestra IP no cambiará, aunque tiene un coste bastante alto, normalmente 12 euros/mes.
La segunda opción es contratar un servicio de direccionamiento gratuito como DynDNS, para lo cual necesitaremos que nuestro router sea compatible.
VSFTPD
DynDNS nos ofrece dos ventajas. Por una parte, estará pendiente de cualquier cambio que ocurra en el router, de tal forma que ante un cambio de IP, DynDNS estará informado.
Por otra parte, nos ofrecerá un subdominio; así, podremos acceder a nuestro servidor usando una dirección del estilomiservidor.dyndns.org en vez de una dirección IP.

No hay comentarios:

Publicar un comentario