jueves, 17 de mayo de 2012

/Computación - Servidor FTP Básico Windows/


Hola que tal

En este tutorial vamos a crear un servidor ftp básico en windows, nos servirá para compartir archivos o para recibir archivos de nuestras redes locales o internet, etc. Es muy práctico ya que por aquí puedes intercambiar archivos muy grandes.

Muy bien entonces

Vamos a definir FTP:

FTP (File Transfer Protocol, 'Protocolo de Transferencia de Archivos') en informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.
El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. 
Modelo FTP:

Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor y/o apropiarse de los archivos transferidos.
Para solucionar este problema son de gran utilidad aplicaciones como scp y sftp, incluidas en el paquete SSH, que permiten transferir archivos pero cifrando todo el tráfico. Este problema lo resolveremos en la parte 2 del tutorial.

Las Herramientas que necesitaremos serán las siguientes

No-Ip

Vitalwerks LLC es la compañía matriz de No-IP, que es un DNS dinámico proveedor de servicios de pago y gratuitos. No-IP ofrece servicios de DNS, correo electrónico, monitorización de red y certificados SSL. Servicios de correo electrónico incluyen POP3 de correo electrónico, de salida SMTP de correo electrónico, servicios de copia de seguridad de correo electrónico y la reflexión y el filtrado.
Utilizaremos No-Ip Free

El servicio que utilizaremos será el Dynamic DNS Updating  para asociar un dominio o subdominio a la IP de nuestro servidor FTP y que se puede acceder a el desde otra red que no sea LAN.
Aquí realizaremos varios pasos

Darnos de alta como usuarios, como comente anteriormente utilizaremos No-Ip Free.

Seleccionaremos el recuadro encerrado en rojo

Aquí oprimiremos la opción de “Sing Up Now!”, para mas información la página nos muestra brevemente todo lo que nos ofrece la versión gratuita por ejemplo acceso remoto a nuestra pc, re direccionamiento al puerto 80 y subdominios gratuitos.

Tenemos que rellenar un simple formulario, y posteriormente No-Ip nos mandara un enlace a nuestro correo para activar la cuenta.

Descargaremos el Cliente de Actualización Dinámica DNS, el cual es el encargado de asociar nuestra IP, ya sea dinámica o estática, al subdominio o a los subdominios, que registremos.


Iremos a la pestaña “Host/Redirects” y en la opción “Download Client”, después nos pedirá el tipo de sistema operativo, escogeremos Windows ya que nuestro servidor FTP  será Windows.

Una vez descargado e instalado procederemos a crear un subdominio, No-Ip te deja solamente crear 3 host por cuenta y se pueden asociar a la misma IP o a diferentes IP esto lo configuramos con el Cliente DNS, volviendo a la imagen anterior, seleccionamos la opción “Add Host”
Para este ejemplo solo necesitamos, los siguientes campos:

  • Hostname – Le damos un nombre a nuestro subdominio y seleccionamos un dominio que nos proporciona No-Ip,
Por ejemplo de acuerdo a lo que llene, el hostname de mi servidor FTP es vcoregames.myftp.org
  • Host Type – Seleccionaremos DNS Host(A), el cual nos asocia la dirección IP de nuestro servidor a nuestro host.
Los Tipos son los siguientes:
DNS Host (A): Esta es la opción más común. Se asigna el nombre de host a una dirección IP.
DNS Host (Round Robin): Esta vinculación asigna el nombre de host a IPs múltiples. Sólo se utiliza para el balanceo de carga basado en DNS (no es común).
DNS Alias (CNAME): Este asigna el nombre de un host a otro host. Es útil para señalar muchas máquinas al mismo lugar y actualizarlas fácilmente.
Port 80 Redirect: El re direccionamiento del puerto 80  se utiliza para moverse por los ISPs que bloquean el puerto 80 de entrada. Al utilizar el presente y tener en funcionamiento el servidor web nos ayuda a que los usuarios pueden acceder al sitio web sin tener que introducir el número de puerto en la URL.
Web Redirect: Esta vinculación asigna el nombre de host a una dirección URL. Sólo funcionan para HTTP y no se puede utilizar para acceder remotamente a su ordenador.
El uso de cada uno depende de la aplicación.
  • IP Address – Aquí en automático ponen tu IP actual, si llegara a cambiar el cliente DNS se encarga de actualizar esta información.
Con esto es suficiente, seleccionamos “Create Host” y listo.

Ahora vamos con el cliente DNS su interface es la siguiente:

Configuración
  • Edit – Pondremos nuestro correo con el que nos registramos y la contraseña
  • Select Hosts – Aparecerán los hosts que hayamos creado en los pasos anteriores. En mi caso solo aparece lo siguiente:

  
  • Refresh Now – Actualiza el registro que tiene de la anterior IP con la IP actual.
En el menú File -> Preferences

Podemos configurar el cliente para que se ejecute como un servicio de Windows o como un programa de inicio, entre otras cosas, ideal en el caso de que queramos tener activada esta aplicación todo el tiempo.

FileZilla FTP - Client y Server

FileZilla es libre, de código abierto, multiplataforma FTP software, que consiste en FileZilla Cliente y FileZilla Server. Los binarios están disponibles para los de Windows, Linux y Mac OS X. Soporta FTP, SFTP y FTPS (FTP sobre SSL / TLS).
FileZilla Client tiene soporte para SFTP (SSH File Transfer Protocol) no está implementado en el servidor Filezilla.
FileZilla Server es un producto de la hermana del FileZilla client. Se trata de un servidor FTP con el apoyo del mismo proyecto. Soporta FTP y FTPS (FTP sobre SSL / TLS).

Descargaremos las 2 versiones Client y Server
Nota: FileZilla Server solo funciona en Windows

Este programa nos servirá para administrar de manera grafica nuestro servidor, como los usuarios y contraseñas, carpetas que se puedan acceder vía FTP, seguridad, control en las velocidades de transferencia, ofrece monitoreo en tiempo real sobre las transferencias realizadas.

En la instalación te pregunta sobre como el servidor debe de iniciar

Aquí dependerá de lo que se requiera, si la finalidad de la maquina es que funcione como servidor de tiempo completo, la primer opción es la adecuada, si no es así la ultima opción sirve ya que controlas cuando iniciar el servicio.


De igual manera podemos encender o para el servicio en el administrador de servicios de Windows.
Después de su instalación al correr por primera vez el programa, nos aparecerá lo siguiente:

(A)
Damos Ok


Bien nuestro servidor funciona, ahora solo queda, dar una contraseña al administrador, crear un usuario y crear la carpeta a la cual accederá mediante FTP.
  • La Contraseña del Administrador – En edit->Settings

Nos vamos a la opción de “Admin Interface settings” y le asignamos una nueva contraseña. Damos Ok y cerramos la aplicación para verificar que funciona al iniciar el programa no llenamos el campo de “Administration password”, al igual que la imagen (A), nos debe de aparecer lo siguiente:

 Bien volvemos a iniciar el programa pero ahora con la contraseña.
  • Usuario – En edit->users, agregamos un usuario y le asignamos una contraseña.

Aquí también podemos editar el límite de conexiones que puede tener un usuario y también forzarlo a utilizar SSL. Es recomendable utilizar contraseñas fuertes.
  • Carpeta FTP – Después en “Shared Folders”

Agregamos la ruta de la carpeta que queremos utilizar para el FTP, de preferencia una que no contenga nada importante (Archivos de Programa, Mis Documentos, etc). Después asignamos los privilegios que el usuario seleccionado puede realizar, como leer (acceder) archivos, modificar archivos, borrar archivos, agregar archivos (opción write debe estar activada), crear directorios, borrar directorios. El usuario no puede salir de la carpeta que asignamos. Por ejemplo si asigno la carpeta FTP “C:/Otro/FTP”, el usuario no puede acceder a la carpeta Otro o a al disco duro C, solo puede navegar en la carpeta FTP y sus internas.

Para verificar que funciona en nuestro navegador pondremos ftp://localhost/, nos pediría usuario y contraseña y veremos lo que tiene dentro la carpeta que asignamos.


Bien nuestro servidor funciona. Si quisiéramos acceder a el desde otra pc, por ejemplo en el navegador pondríamos (en mi caso)
Si fuera el acceso mediante la consola de comandos seria
>ftp vcoregames.myftp.org

Filezilla Client
Este programa nos sirve para acceder a nuestro servidor ftp de manera gráfica


Aquí los campos que nos interesan son:
  • Servidor – localhost o el registrado en No-Ip
  • Usuario
  • Contraseña
  • Puerto – Por default es el 21
Como podemos ver el programa se divide en dos, el sitio local (nuestra maquina) y el sitio remoto (el servidor).
Aquí las cosas son sencillas de manejar, ya que puedes hacer lo mismo que en Windows al manipular tus archivos (arrastrar y soltar, copiar, pegar, editar, etc) de un lado como en el otro, pero en el sitio remoto dependerá de los permisos del usuario FTP.

Eso es todo en el siguiente post aprenderemos a implementar una conexión segura mediante SSH, ya que de la forma actual nuestros datos están expuestos en la red.

No hay comentarios:

Publicar un comentario