View
228
Download
0
Category
Preview:
Citation preview
8/6/2019 Introduccin al protocolo FTP
1/27
Introduccin al
Protocolo FTP
Asignatura : Redes y Comunicaciones II.
Integrantes : Victor Alegra.
Nunger Fernndez.
Carrera : Ingeniera en Informtica.
Semestre : Quinto.
8/6/2019 Introduccin al protocolo FTP
2/27
Introduccin al protocolo FTP
El protocolo FTP (sigla en ingls de File TransferProtocol - Protocolo de Transferencia de Archivos)
en informtica, 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 Aplicacin del modelo de capas de red TCP/IP al usuario,
utilizando normalmente el puerto de red 20 y el 21. Un problema bsico de FTP es que est pensado
para ofrecer la mxima velocidad en la conexin, pero no la mxima seguridad, ya que todo el
intercambio de informacin, desde el login y password del usuario en el servidor hasta la transferencia
de cualquier archivo, se realiza en texto plano sin ningn tipo de cifrado, con lo que un posible atacante
puede capturar este trfico, acceder al servidor, 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 trfico.
Historia
En 1968, naci ARPANET como una pequea red de pocos ordenadores que transmitan informacin
de unos a otros mediante paquetes conmutados (lo que sera en el futuro Internet), y tres aos ms tardeun grupo de investigadores del MIT present la propuesta del primer "Protocolo para la transmisin de
archivos en Internet" (RFC 114). Era un protocolo muy sencillo basado en el sistema de correo
electrnico pero sent las bases para el futuro protocolo de transmisin de archivos (FTP).
En 1985, quince aos despus de la primera propuesta, se termina el desarrollo del an vigente
protocolo para la transmisin de archivos en Internet (FTP), basado en la filosofa de cliente-servidor.
El gran boom de Internet se produce en 1995. Este ao puede ser considerado como el nacimiento de la
Internet comercial. Desde ese momento su crecimiento ha superado todas las expectativas. En este ao
la World Wide Web supera a FTP transformndose en el servicio preferido de la red, despus de que el
ao anterior superase en popularidad a Telnet.
Con la llegada del World Wide Web, y de los navegadores, ya no es necesario conocer los complejos
comandos de FTP, este protocolo se puede utilizar escribiendo la URL del servidor al que queramos
8/6/2019 Introduccin al protocolo FTP
3/27
conectar en el navegador web, indicando con ftp:// que vamos a contactar con un servidor ftp y no con
un servidor web (que sera http:// ).
La versin original del File Transfer Protocol fue publicado como RFC 114 el 16 de abril de 1971, y
ms adelante reemplazado por el RFC 765 (junio de 1980) y el RFC 959 (octubre de 1985), la versin
que se usa actualmente. Muchos han propuesto alternativas a la versin de 1985, como por ejemploel RFC 2228 (junio de 1997) que propone extensiones de seguridad y la RFC 2428(septiembre de
1998) que aade soporte para IPv6 y define un nuevo tipo de modo pasivo.
La funcin del protocolo FTP
El protocolo FTP define la manera en que los datos deben ser transferidos a travs de una red TCP/IP.El objetivo del protocolo FTP es:
y permitir que equipos remotos puedan compartir archivosy permitir la independencia entre los sistemas de archivo del equipo del cliente y del equipo del
servidor
y permitir una transferencia de datos eficaz
El modelo FTP
El protocolo FTP est incluido dentro del modelo cliente-servidor, es decir, un equipo enva rdenes (el
cliente) y el otro espera solicitudes para llevar a cabo acciones (el servidor).
Durante una conexin FTP, se encuentran abiertos dos canales de transmisin:
y Un canal de comandos (canal de control)y Un canal de datos
8/6/2019 Introduccin al protocolo FTP
4/27
Por lo tanto, el cliente y el servidor cuentan con dos procesos que permiten la administracin de estos
dos tipos de informacin:
y DTP (Proceso de transferencia de datos) es el proceso encargado de establecer la conexin y deadministrar el canal de datos. El DTP del lado del servidor se denomina SERVIDOR DE DTP y el
DTP del lado del cliente se denomina USUARIO DE DTP.y PI (Intrprete de protocolo) interpreta el protocolo y permite que el DTP pueda ser controlado
mediante los comandos recibidos a travs del canal de control. Esto es diferente en el cliente y el
servidor:
y El SERVIDOR PI es responsable de escuchar los comandos que provienen de un USUARIO PIa travs del canal de control en un puerto de datos, de establecer la conexin para el canal de
control, de recibir los comandos FTP del USUARIO PI a travs de ste, de responderles y de
ejecutar el SERVIDOR DE DTP.
y El USUARIO PI es responsable de establecer la conexin con el servidor FTP, de enviar loscomandos FTP, de recibir respuestas del SERVIDOR PI y de controlar al USUARIO DE DTP,
si fuera necesario.
Cuando un cliente FTP se conecta con un servidor FTP, el USUARIO PI inicia la conexin con el
servidor de acuerdo con el protocolo Telnet. El cliente enva comandos FTP al servidor, el servidor los
interpreta, ejecuta su DTP y despus enva una respuesta estndar. Una vez que se establece la
conexin, el servidor PI proporciona el puerto por el cual se enviarn los datos al Cliente DTP. El
cliente DTP escucha el puerto especificado para los datos provenientes del servidor.
Es importante tener en cuenta que, debido a que los puertos de control y de datos son canales
separados, es posible enviar comandos desde un equipo y recibir datos en otro. Entonces, por ejemplo,
es posible transferir datos entre dos servidores FTP mediante el paso indirecto por un cliente para
enviar instrucciones de control y la transferencia de informacin entre dos procesos del servidor
conectados en el puerto correcto.
8/6/2019 Introduccin al protocolo FTP
5/27
En esta configuracin, el protocolo indica que los canales de control deben permanecer abiertos durante
la transferencia de datos. De este modo, un servidor puede detener una transmisin si el canal de
control es interrumpido durante la transmisin.
Primer buscador de informacin
Gopher significa 'lanzarse sobre' la informacin. Es un servicio cuyo objetivo es la localizacin de
archivos a partir de su ttulo. Consiste en un conjunto de mens de recursos ubicados en diferentes
mquinas que estn intercomunicadas. Cada mquina sirve un rea de informacin, pero su
organizacin interna permite que todas ellas funcionen como si se tratase de una sola mquina. El
usuario navega a travs de estos mens hasta localizar la informacin buscada, y desconoce
exactamente de qu mquina est descargando dicha informacin. Con la llegada de Internet, los
potentes motores de bsqueda (google) dejaron el servicio Gopher, y la localizacin de los servidores
FTP dej de ser un problema. En la actualidad, cuando el usuario se descarga un archivo a partir de un
enlace de una pgina web no llega ni a saber que lo est haciendo desde un servidor FTP. El servicio
FTP ha evolucionado a lo largo del tiempo y hoy da es muy utilizado en Internet, en redes
corporativas, Intranets, etc. Soportado por cualquier sistema operativo, existe gran cantidad de software
basado en el protocolo FTP.
8/6/2019 Introduccin al protocolo FTP
6/27
Servidor FTP
Un servidor FTP es un programa especial que se ejecuta en un equipo servidor normalmente conectado
a Internet (aunque puede estar conectado a otros tipos de redes, LAN, MAN, etc.). Su funcin es
permitir el intercambio de datos entre diferentes servidores/computadores.
Por lo general, los programas servidores FTP no suelen encontrarse en los ordenadores personales, por
lo que un usuario normalmente utilizar el FTP para conectarse remotamente a uno y as intercambiar
informacin con l.
Las aplicaciones ms comunes de los servidores FTP suelen ser el alojamiento web, en el que sus
clientes utilizan el servicio para subir sus pginas web y sus archivos correspondientes; o como
servidor de backup (copia de seguridad) de los archivos importantes que pueda tener una empresa. Para
ello, existen protocolos de comunicacin FTP para que los datos se transmitan cifrados, como
el SFTP (Secure File Transfer Protocol).
Cliente FTP
Cuando un navegador no est equipado con la funcin FTP, o si se quiere cargar archivos en un
computador remoto, se necesitar utilizar un programa cliente FTP. Un cliente FTP es un programa que
se instala en el ordenador del usuario, y que emplea el protocolo FTP para conectarse a un servidor
FTP y transferir archivos, ya sea para descargarlos o para subirlos.
Para utilizar un cliente FTP, se necesita conocer el nombre del archivo, el ordenador en que reside
(servidor, en el caso de descarga de archivos), el ordenador al que se quiere transferir el archivo (en
caso de querer subirlo nosotros al servidor), y la carpeta en la que se encuentra.
Algunos clientes de FTP bsicos en modo consola vienen integrados en los sistemas operativos,
incluyendo Microsoft Windows, DOS, GNU/Linux y Unix. Sin embargo, hay disponibles clientes con
opciones aadidas e interfaz grfica. Aunque muchos navegadores tienen ya integrado FTP, es ms
confiable a la hora de conectarse con servidores FTP no annimos utilizar un programa cliente.
8/6/2019 Introduccin al protocolo FTP
7/27
Acceso annimo
Los servidores FTP annimos ofrecen sus servicios libremente a todos los usuarios, permiten acceder a
sus archivos sin necesidad de tener un 'USER ID' o una cuenta de usuario. Es la manera ms cmoda
fuera del servicio web de permitir que todo el mundo tenga acceso a cierta informacin sin que para
ello el administrador de un sistema tenga que crear una cuenta para cada usuario.
Si un servidor posee servicio 'FTP anonymous' solamente con teclear la palabra "anonymous", cuando
pregunte por tu usuario tendrs acceso a ese sistema. No se necesita ninguna contrasea preestablecida,
aunque tendrs que introducir una slo para ese momento, normalmente se suele utilizar la direccin de
correo electrnico propia.
Solamente con eso se consigue acceso a los archivos del FTP, aunque con menos privilegios que un
usuario normal. Normalmente solo podrs leer y copiar los archivos que sean pblicos, as indicados
por el administrador del servidor al que nos queramos conectar.
Normalmente, se utiliza un servidor FTP annimo para depositar grandes archivos que no tienen
utilidad si no son transferidos a la mquina del usuario, como por ejemplo programas, y se reservan los
servidores de pginas web (HTTP) para almacenar informacin textual destinada a la lectura en lnea.
Acceso de usuario
Si se desea tener privilegios de acceso a cualquier parte del sistema de archivos del servidor FTP, demodificacin de archivos existentes, y de posibilidad de subir nuestros propios archivos, generalmente
se suele realizar mediante una cuenta de usuario. En el servidor se guarda la informacin de las
distintas cuentas de usuario que pueden acceder a l, de manera que para iniciar una sesin FTP
debemos introducir una autentificacin (en ingls: login) y una contrasea (en ingls: password) que
nos identifica unvocamente.
Cliente FTP basado en WebUn "cliente FTP basado en WEB" no es ms que un Cliente FTP al cual podemos acceder a travs de
nuestro Navegador Web sin necesidad de tener otra aplicacin para ello. El usuario accede a un
servidor web (http) que lista los contenidos de un servidor ftp. El usuario se conecta mediante http a un
servidor web, y el servidor web se conecta mediante ftp al servidor ftp. El servidor web acta de
8/6/2019 Introduccin al protocolo FTP
8/27
intermediario haciendo pasar la informacin desde el servidor ftp en los puertos 20 y 21 hacia el puerto
80 http que ve el usuario.
Siempre hay momentos en que nos encontramos fuera de casa, no llevamos el ordenador porttil
encima y necesitamos realizar alguna tarea urgente desde un ordenador de acceso pblico, de un amigo,
del trabajo, la universidad, etc. Lo ms comn es que no estn instaladas las aplicaciones quenecesitamos y en muchos casos hasta carecemos de los permisos necesarios para realizar su instalacin.
Otras veces estamos detrs de un Proxy o Cortafuegos que no nos permite acceder a servidores FTP
externos.
Al disponer de un Cliente FTP basado en Web podemos acceder al servidor FTP remoto como si
estuviramos realizando cualquier otro tipo de navegacin WEB. A travs de un Cliente FTP basado en
Web podrs, crear, copiar, renombrar y eliminar archivos y directorios. Cambiar permisos, editar, ver,
subir y descargar archivos, as como cualquier otra funcin del protocolo FTP que el servidor FTPremoto permita.
Acceso de invitado
El acceso sin restricciones al servidor que proporcionan las cuentas de usuario implica problemas de
seguridad, lo que ha dado lugar a un tercer tipo de acceso FTP denominado invitado (guest), que se
puede contemplar como una mezcla de los dos anteriores.
La idea de este mecanismo es la siguiente: se trata de permitir que cada usuario conecte a la mquina
mediante su login y su password, pero evitando que tenga acceso a partes del sistema de archivos que
no necesita para realizar su trabajo, de esta forma acceder a un entorno restringido, algo muy similar a
lo que sucede en los accesos annimos, pero con ms privilegios.
Modos de conexin del cliente FTP
FTP admite dos modos de conexin del cliente. Estos modos se denominan Activo (o Estndar, oPORT, debido a que el cliente enva comandos tipo PORT al servidor por el canal de control al
establecer la conexin) y Pasivo (o PASV, porque en este caso enva comandos tipo PASV). Tanto en
el modo Activo como en el modo Pasivo, el cliente establece una conexin con el servidor mediante el
puerto 21, que establece el canal de control.
8/6/2019 Introduccin al protocolo FTP
9/27
Modo Activo
Modo Activo
En modo Activo, el servidor siempre crea el canal de datos en su puerto 20, mientras que en el lado del
cliente el canal de datos se asocia a un puerto aleatorio mayor que el 1024. Para ello, el cliente manda
un comando PORT al servidor por el canal de control indicndole ese nmero de puerto, de manera que
el servidor pueda abrirle una conexin de datos por donde se transferirn los archivos y los listados, en
el puerto especificado.
Lo anterior tiene un grave problema de seguridad, y es que la mquina cliente debe estar dispuesta a
aceptar cualquier conexin de entrada en un puerto superior al 1024, con los problemas que ello
implica si tenemos el equipo conectado a una red insegura como Internet. De hecho,
los cortafuegos que se instalen en el equipo para evitar ataques seguramente rechazarn esas
conexiones aleatorias. Para solucionar esto se desarroll el modo Pasivo.
8/6/2019 Introduccin al protocolo FTP
10/27
Modo Pasivo
Modo pasivo.
Cuando el cliente enva un comando PASV sobre el canal de control, el servidor FTP le indica por el
canal de control, el puerto (mayor a 1023 del servidor. Ejemplo: 2040) al que debe conectarse el
cliente. El cliente inicia una conexin desde el puerto siguiente al puerto de control (Ejemplo: 1036)
hacia el puerto del servidor especificado anteriormente (Ejemplo: 2040).
Antes de cada nueva transferencia, tanto en el modo Activo como en el Pasivo, el cliente debe enviar
otra vez un comando de control (PORT o PASV, segn el modo en el que haya conectado), y el
servidor recibir esa conexin de datos en un nuevo puerto aleatorio (si est en modo pasivo) o por el
puerto 20 (si est en modo activo). En el protocolo FTP existen 5 tipos de transferencia en ASCII y en
binarios.
Los comandos FTP
Toda comunicacin que se realice en el canal de control sigue las recomendaciones del protocolo
Telnet. Por lo tanto, los comandos FTP son cadenas de caracteres Telnet (en cdigo NVT-ASCII) que
finalizan con el cdigo de final de lnea Telnet (es decir, la secuencia +, Retorno de
carro seguido del carcterAvance de lnea indicado como ).
Si el comando FTP tiene un parmetro, ste se separa del comando con un espacio ().
Los comandos FTP hacen posible especificar:
y El puerto utilizado
8/6/2019 Introduccin al protocolo FTP
11/27
y El mtodo de transferencia de datosy La estructura de datosy La naturaleza de la accin que se va a realizar (Recuperar, Enumerar, Almacenar, etc.)Existen tres tipos de comandos FTP diferentes:
y Comandos de control de accesoy Comandos de parmetros de transferenciay Comandos de servicio FTPComandos de control de acceso
Comando Descripcin
USERCadena de caracteres que permite identificar al usuario. Laidentificacin del usuario es necesaria para establecer la comunicacina travs del canal de datos.
PASS
Cadena de caracteres que especifica la contrasea del usuario. Estecomando debe ser inmediatamente precedida por el comando USER. Elcliente debe decidir si esconder la visualizacin de este comando porrazones de seguridad.
ACCT
Cadena de caracteres que especifica la cuenta del usuario. El comandogeneralmente no es necesario. Durante la respuesta que acepta lacontrasea, si la respuesta es 230, esta etapa no es necesaria; Si larespuesta es 332, s lo es.
CWDChange Working Directory (Cambiar el directorio de trabajo): estecomando permite cambiar el directorio actual. Este comando requiere laruta de acceso al directorio para que se complete como un argumento.
CDUP
Change to Parent Directory (Cambiar al directorio principal): estecomando permite regresar al directorio principal. Se introdujo pararesolver los problemas de denominacin del directorio principal segnel sistema (generalmente "..").
SMNT Structure Mount (Montar estructura):
REIN Reinitialize (Reinicializar):
QUITComando que permite abandonar la sesin actual. Si es necesario, elservidor espera a que finalice la transferencia en progreso y despusproporciona una respuesta antes de cerrar la conexin.
Comandos de parmetros de transferencia
Comando Descripcin
PORT Cadena de caracteres que permite especificar el nmero de puerto
8/6/2019 Introduccin al protocolo FTP
12/27
utilizado.
PASV
Comando que permite indicar al servidor de DTP que permanezca a laespera de una conexin en un puerto especfico elegido aleatoriamenteentre los puertos disponibles. La respuesta a este comando es ladireccin IP del equipo y el puerto.
TYPE Este comando permite especificar el tipo de formato en el cual seenviarn los datos.
STRUCarcter Telnet que especifica la estructura de archivos (F de File[Archivo], R de Record [Registro], P de Page [Pgina]).
MODECarcter Telnet que especifica el mtodo de transferencia de datos (SdeStream [Flujo], B de Block [Bloque], C de Compressed[Comprimido]).
Comandos de servicioFTP
Comando Descripcin
RETREste comando (RETRIEVE [RECUPERAR]) le pide al servidor deDTP una copia del archivo cuya ruta de acceso se da en los parmetros.
STOR
Este comando (store [almacenar]) le pide al servidor de DTP que aceptelos datos enviados por el canal de datos y que los almacene en unarchivo que lleve el nombre que se da en los parmetros. Si el archivono existe, el servidor lo crea; de lo contrario, lo sobrescribe.
STOUEste comando es idntico al anterior, slo le pide al servidor que creeun archivo cuyo nombre sea nico. El nombre del archivo se enva en larespuesta.
APPEGracias a este comando (append [adjuntar]) los datos enviados seconcatenan en el archivo que lleva el nombre dado en el parmetro si yaexiste; si no es as, se crea.
ALLOEste comando (allocate [reservar]) le pide al servidor que reserve unespacio de almacenamiento lo suficientemente grande como para recibirel archivo cuyo nombre se da en el argumento.
REST
Este comando (restart [reiniciar]) permite que se reinicie unatransferencia desde donde se detuvo. Para hacer esto, el comando envaen el parmetro el marcador que representa la posicin en el archivo
donde la transferencia se haba interrumpido. Despus de este comandose debe enviar inmediatamente un comando de transferencia.
RNFR
Este comando (rename from [renombrar desde]) permite volver anombrar un archivo. En los parmetros indica el nombre del archivoque se va a renombrar y debe estar inmediatamente seguido por elcomando RNTO.
RNTOEste comando (rename from [renombrar a]) permite volver a nombrarun archivo. En los parmetros indica el nombre del archivo que se va a
8/6/2019 Introduccin al protocolo FTP
13/27
renombrar y debe estar inmediatamente seguido por el comando RNFR.
ABOR
Este comando (abort [cancelar]) le indica al servidor de DTP queabandone todas las transferencias asociadas con el comando previo. Sino hay conexin de datos abierta, el servidor de DTP no realiza ningunaaccin; de lo contrario, cierra la conexin. Sin embargo, el canal decontrol permanece abierto.
DELEEste comando (delete [borrar]) permite que se borre un archivo, cuyonombre se da en los parmetros. Este comando es irreversible y laconfirmacin slo puede darse a nivel cliente.
RMDEste comando (remove directory [eliminar directorio]) permite borrarun directorio. El nombre del directorio que se va a borrar se indica enlos parmetros.
MKDEste comando (make directory [crear directorio]) permite crear undirectorio. El nombre del directorio que se va a crear se indica en losparmetros.
PWDEste comando (print working directory [mostrar el directorio actual])hace posible volver a enviar la ruta del directorio actual completa.
LIST
Este comando permite que se vuelva a enviar la lista de archivos ydirectorios presentes en el directorio actual. Esto se enva a travs delDTP pasivo. Es posible indicar un nombre de directorio en el parmetrode este comando. El servidor de DTP enviar la lista de archivos deldirectorio ubicado en el parmetro.
NLSTEste comando (name list [lista de nombres]) permite enviar la lista dearchivos y directorios presentes en el directorio actual.
SITEEste comando (site parameters [parmetros del sistema]) hace que elservidor proporcione servicios especficos no definidos en el protocoloFTP.
SYSTEste comando (system [sistema]) permite el envo de informacinacerca del servidor remoto.
STAT
Este comando (Estado: [estado]) permite transmitir el estado delservidor; por ejemplo, permite conocer el progreso de una transferenciaactual. Este comando acepta una ruta de acceso en el argumento ydespus devuelve la misma informacin que LISTA pero a travs del
canal de control.
HELPEste comando permite conocer todos los comandos que el servidorcomprende. La informacin se devuelve por el canal de control.
NOOPEste comando (no operations [no operacin]) slo se utiliza para recibirun comando OK del servidor. Slo se puede utilizar para nodesconectarse despus de un perodo de inactividad prolongado.
8/6/2019 Introduccin al protocolo FTP
14/27
Las respuestas FTP
Las respuestas FTP garantizan la sincronizacin entre el cliente y el servidor FTP. Por lo tanto, por
cada comando enviado por el cliente, el servidor eventualmente llevar a cabo una accin ysistemticamente enviar una respuesta.
Las respuestas estn compuestas por un cdigo de 3 dgitos que indica la manera en la que el comando
enviado por el cliente ha sido procesado. Sin embargo, debido a que el cdigo de 3 dgitos resulta
difcil de leer para las personas, est acompaado de texto (cadena de caracteres Telnet separada del
cdigo numrico por un espacio).
Los cdigos de respuesta estn compuestos por 3 nmeros, cuyos significados son los siguientes:
y El primer nmero indica el estatuto de la respuesta (exitosa o fallida)y El segundo nmero indica a qu se refiere la respuesta.y El tercer nmero brinda un significado ms especfico (relacionado con cada segundo dgito).
Primernmero
Dgito Significado Descripcin
1yzRespuesta positivapreliminar
La accin solicitada est en progreso. Se debe obteneruna segunda respuesta antes de enviar un segundocomando.
2yzRespuesta definalizacinpositiva
La accin solicitada se ha completado y puede enviarseun nuevo comando.
3yzRespuestaintermediapositiva
La accin solicita est temporalmente suspendida. Seespera informacin adicional del cliente.
4yzRespuesta definalizacinnegativa
La accin solicitada no se ha realizado debido a que elcomando no se ha aceptado temporalmente. Se lesolicita al cliente que intente ms tarde.
5yzRespuestanegativapermanente
La accin solicitada no se ha realizado debido a que elcomando no ha sido aceptado. Se le solicita al clienteque formule una solicitud diferente.
Segundonmero
8/6/2019 Introduccin al protocolo FTP
15/27
Dgito Significado Descripcin
x0z SintaxisLa accin tiene un error de sintaxis o si no, es uncomando que el servidor no comprende.
x1z Informacinsta es una respuesta que enva informacin (porejemplo, una respuesta a un comando STAT).
x2z Conexiones La respuesta se refiere al canal de datos.
x3zAutenticacin ycuentas
La respuesta se refiere al inicio de sesin(USUARIO/CONTRASEA) o a la solicitud paracambiar la cuenta (CPT).
x4zNo utilizado por elprotocolo FTP.
x5zSistema dearchivos
La respuesta se relaciona con el sistema de archivosremoto.
8/6/2019 Introduccin al protocolo FTP
16/27
Servidores FTP en Windows y Linux
Introduccin
Como ya habamos nombrado anteriormente, la misin de un servidor FTP es la de permitir compartir
archivos con todo aquel usuario que, mediante un cliente FTP, tenga permiso para conectarse.
Ya hemos visto como se configuran los clientes de FTP tanto en Linux como en Windows, ahora
repasaremos el funcionamiento de un servidor FTP y como configurarlo para que en nuestro propio
equipo (por ejemplo) podamos tener instalado un servidor y poder as compartir nuestros archivos (de
una forma segura, por supuesto) con el resto de Internet.
Servidores en Linux
Programas en este sistema. Instalacin.
Es muy comn encontrar, para todos los sistemas operativos, una gran oferta de programas (gratuitos o
no) que nos permitan instalar en el PC que nos interese, un servidor FTP. Podramos nombrar en Linux
varios de ellos muy conocidos como por ejemplo Pure FTP server, Wu-ftpd, ProFTPd, VSFTP,
Los ms normal en este sistema, es encontrarnos con programas de cdigo abierto y con licencias de
uso gratuito como la GPL, que nos da permiso para instalarlos y usarlos en nuestro equipo libremente.
Centrmonos en una de ellas, por ejemplo VSFTP. Podemos descargar este programa de forma gratuita
desde Internet, por ejemplo en http://www.rpmfind.net y poniendo el nombre en el buscador, aunque
como decimos, es muy normal que dentro de nuestra distribucin Linux, ya exista un servidor FTP
preinstalado (consulta la documentacin de tu distribucin). Hemos de sealar igualmente, que la
mayora de programas servidores se manejan y configuran desde una consola de modo texto (no
grficamente), aunque todo sea dicho, es bastante sencillo.
Si no tenamos ningn programa instalado y contamos con una distribucin como RedHat o Mandrake,
podramos instalar el programa realizando lo siguiente:
[root@linux]# rpm -Uvh vsftpd-1.1.3-8.i386.rpm
Preparing ########################################### [100%]
1:vsftpd ########################################### [100%]
8/6/2019 Introduccin al protocolo FTP
17/27
[root@linux]#
donde vsftpd-1.1.3-8.i386.rpm es el nombre del archivo que descargamos de Internet. Vemos que
durante la instalacin pone Preparing (preparando el sistema para instalar) y 1:vsftpd (progreso hasta
el 100% de la instalacin del programa.
Bien, ya lo tenemos instalado. Ahora solo queda configurarlo para que funcione, aunque para ello
tendremos que iniciar el programa. Esto puede hacerse de dos maneras:
1. Inicio de forma manual. Para ello, podemos ejecutar estos comandos:
[root@linux]# /sbin/service vfstpd start
[root@linux]# /sbin/service vsftpd stop
[root@linux]# /sbin/service vsftpd restart
El primero es para iniciarlo (start), el segundo para pararlo (stop) y el tercero para reiniciarlo (restart).
2. Inicio automtico. Si vamos a usar el programa siempre, lo que nos interesa es que arranque en cada
inicio del sistema, para no tener que hacerlo manualmente. Debemos teclear:
[root@linux]# /sbin/chkconfig level 35 vsftpd on
Para comprobar que se inicie el programa, reiniciamos el sistema. Ahora podemos teclear lo siguiente:
[root@linux]# netstat -a | grep ftp
tcp 0 0 *:ftp *:* LISTEN
[root@linux]#
Si obtenemos ese resultado, el programa est instalado y funcionando.
Configuracin
La configuracin de nuestro programa VSFTP se realiza mediante el archivo vsftpd.conf, que lo
podemos encontrar en /etc/vsftpd.conf o bien /etc/vsftpd/vsftpd.conf. Editamos el archivo con nuestro
8/6/2019 Introduccin al protocolo FTP
18/27
editor favorito (podemos hacerlo desde nuestro entorno grfico KDE, GNOME) y modificamos las
lneas:
# Allow anonymous FTP?
anonymous_enable=YES
Podemos indicar si queremos acceso FTP annimo o no. En principio, si no queremos dar autorizacin
a usuarios annimos, pondremos un # al comienzo de la lnea anonymous_enable=YES o bien
escribir NO sin poner #.
# Uncomment this to allow local users to log in.
local_enable=YES
Esta opcin nos conviene activarla si queremos dar permiso de entrada y/o acceso a los usuarios locales
de nuestra red.
ftpd_banner=Bienvenido al servidor FTP de MundoPC.NET.
Esta lnea nos permite introducir un mensaje de bienvenida, para que cuando los clientes se conecten a
nuestro servidor, puedan verlo.
Esto sera lo ms importante. Veremos que existen muchas ms entradas en ese archivo, cada una de
ellas comentadas convenientemente, para que nos hagamos una idea de cual es su funcin y podamos
activarlas o desactivarlas si lo creemos necesario.
Acceso
Existe tambin un archivo importante, denominado /etc/vsftpd.user_list, el cual contiene los datos
relativos a los usuarios que NO tienen acceso al sistema.
En realidad no tendranos nada ms que hacer, ya que cualquiera que tenga un nombre de usuario y
contrasea en el sistema Linux podr tener acceso al servidor FTP, inicialmente a su
directorio/home/(usuario), aunque nada le impedir navegar por el resto de directorios si quiere, lo cual
puede ser un problema bastante grave de seguridad.
8/6/2019 Introduccin al protocolo FTP
19/27
Para evitar precisamente esto y que todos los usuarios accedan nicamente a su carpeta personal,
debemos aadir estas lneas al archivo de configuracin:
chroot_local_user=YES
chroot_list_file=/etc/vsftpd.chroot_list
Ahora solo nos queda probar el acceso desde un equipo de nuestra red y uno externo, poniendo siempre
como direccin de conexin la IP de nuestro PC que tiene el servidor FTP instalado y como nombre de
usuario y contrasea, las que tengamos asignados en el sistema Linux y que el administrador nos ha
tenido que facilitar.
Existen otros programas servidores en Linux (como dijimos al comienzo) que son muy similares en
configuracin y conexin al que hemos analizado. Arriesgndonos a generalizar en exceso, todos los
servidores siempre crean unos archivos de configuracin como el que hemos visto en el directorio
/etc/(archivo).conf, donde archivo es el nombre del programa que estamos intentando configurar. Para
poner en marcha el programa, los comandos son muy similares a los que vimos en la pgina anterior,
con la nica salvedad de que el programa se llamar de distinta manera.
8/6/2019 Introduccin al protocolo FTP
20/27
Servidores en Windows
Programas disponibles. FileZilla SEerver.
En Windows, existen tambin numerosos programas Servidores FTP que podemos instalar de forma
gratuita. Podemos ver algunos de ellos en nuestra pgina de Freeware, aunque nos centraremos en el
ms sencillo que hemos encontrado de los mismos desarrolladores que FileZilla Client (repasado en
pginas anteriores, ver ndice): FileZilla Server.
Podemos descargar el programa de la pgina oficial, cuya versin en el momento de escribir estas
lneas es la 0.8.7. La diferencia ms notable y que salta a la vista es que para Windows los servidores
son por lo general en modo grfico, por lo que la configuracin puede realizarse por completo con unos
golpes de ratn.
Instalacin de FileZilla Server
Pasos iniciales
Una vez descargado el programa, deberemos ejecutar el archivo de instalacin tan solo haciendo doble
click sobre l. Lo primero que debemos aceptar es la licencia GNU/GPL de la que hablamos tambin
en una pgina anterior. Pulsamos en I Agree. Podemos definir algunas opciones de la instalacin
aunque no ser necesario para que concluya correctamente, pulsamos por tanto Next. Seleccionamos
ahora el directorio donde se guardar el programa pulsando el botn Browse o bien Next si no
queremos cambiar la seleccin hecha por defecto.
La siguiente ventana requiere algo ms de atencin. Echmosle un vistazo:
8/6/2019 Introduccin al protocolo FTP
21/27
Digamos que el programa consta de dos mdulos; el primero es el que arranca el servidor en si, es decirque permite que Windows siempre tenga a este programa iniciado por si existieran conexiones de los
usuarios.
El otro mdulo define cuando veremos el interfaz o la ventana del programa, con el fin de ver y seguir
a tiempo real las conexiones de dichos usuarios.
Por tanto, y haciendo referencia al primer mdulo, nos pregunta como queremos que FileZilla Server se
inicie en nuestro PC en el primer desplegable. Por defecto, se arrancar slo de forma automtica como
un servicio de Windows (started with Windows), aunque tambin podremos seleccionar una opcin para iniciarlo de forma manual. Si no tenemos la necesidad de tener el programa funcionando
constantemente, seleccionaremos esta segunda opcin.
Despus nos encontramos con un campo donde se seala el puerto a travs del cual funcionar el
interface de administracin del programa, que no es necesario tocar (por lo general).
El siguiente desplegable, hace referencia al segundo mdulo y explica el mtodo que tomar el
programa para permitir ver y monitorizar la ventana de log o diario de las conexiones de losusuarios. Las dos primeras opciones son tambin para que arranque de forma automtica y la tercera
para que inicie de forma manual.
Por ltimo, pulsamos INSTALL.
8/6/2019 Introduccin al protocolo FTP
22/27
Al finalizar la instalacin, tenemos la opcin de arrancar el servidor para comprobar su
funcionamiento. Nos aparecer una ventana como esta:
Como ves, podemos realizar la monitorizacin de un servidor FTP remoto, con solo indicar su
direccin IP. En caso de que el servidor resida en nuestra mquina local (como es habitual), dejaremos
la direccin que hay por defecto y pulsamos el botn OK. El servidor debera iniciar sin ningn
problema.
Si vemos que existe algn problema y nos aparece un mensaje en pantalla indicando la existencia de
algn error, posiblemente es que no hemos iniciado el servidor (tan solo la interfaz) y debemos
arrancarlo. Busca en el men de Inicio de Windows, dentro de Programas, el grupo correspondiente a
Filezilla Server e inicia el servidor, haciendo click en Start FileZilla Server.
Arrancamos ahora si, la interfaz grfica pulsando en FileZilla server Interface y veremos de nuevo la
ventana anterior, donde pulsaremos OK nuevamente. Cuando veamos esto:
FileZilla Server version 0.8.7 beta
Copyright 2001 by Tim Kosse (Tim.Kosse)
Connecting to server
Connected, waiting for authentication
Logged on
Todo ha ido correctamente y ya podemos pasar a realizar la configuracin.
8/6/2019 Introduccin al protocolo FTP
23/27
Configuracin de FileZilla Server
Aadir usuarios y predefinir directorios
La configuracin del programa es muy sencilla y como veremos a continuacin puede realizarse en
unos pocos pasos. Aqu es donde difiere ms el proceso de configuracin con respecto al sistema Linux
(visto en pginas anteriores) y podramos decir que incluso es algo ms complicado.
FileZilla Server se resume en estos botones:
Como vemos, muy sencillo. Nos centraremos nicamente en los iconos grficos ya que son accesos
directos a todo lo que podemos encontrar en los mens de texto (File, Server, Edit, ?).
1. El smbolo del rayo. Podemos conectar y desconectar el servidor. Evidemtemente si est
desconectado, nadie podr acceder.
2. El smbolo del candado. Es para bloquear temporalmente los accesos, pero sin desconectar nuestra
interfaz grfica del servidor correspondiente. Si lo pulsamos FileZilla nos lo advertir.
3. El botn de configuracin. En el que se definen todos los parmetros del Servidor. Los diversos
mens que encontramos son los siguientes:
General Settings, que a su vez incluye Wellcome Message. Definimos los
puertos de entrada al servidor y tiempos de acceso; ya vimos anteriormente
que el puerto FTP por defecto es el 21, y a no ser que tengamos necesidad de
permitir acceso por otro puerto, se aconseja dejar ese que es as a nivelmundial. Encontramos tambin una opcin para indicar si queremos que
nicamente tengan acceso un nmero especfico de usuarios. Si lo dejamos en
cero (como est por defecto) el nmero ser ilimitado. Otros importantes
8/6/2019 Introduccin al protocolo FTP
24/27
parmetros dentro de esta ventana son los Timeouts que nos permiten definir los tiempos en los que
los usuarios que han accedido al sistema sern desconectados por inactividad, con el fin de que no
consuman recursos del sistema si no estn trabajando.
Wellcome Message nos permite escribir nuestro mensaje de bienvenida, igual que vimos en una pgina
anterior de la configuracin del servidor en Linux.
Security Settings. Estas opciones estn bien as por lo general. Si necesitamos cambiarlas, hay ms
informacin en esa ventana que nos ayudarn a decidir.
Miscellaneous. Algunas opciones sobre las passwords y mtodos de conexin. Adems, podemos
decidir si arrancar la interfaz del servidor minimizada.
Admin Interface settings. Nos permite definir el puerto de conexin que vimos antes, adems deguardar determinadas direcciones IP referentes a servidores externos para enlazarlos con el nuestro y/o
con nuestra interfaz. Por lo general tampoco ser preciso manipular los datos de esta ventana.
Logging. FileZilla es muy completo y nos permitir guardar en un fichero todas las sesiones de
conexin de todos los usuarios, para que posteriormente al analizarlo, podamos ver posibles errores o
infracciones durante las conexiones.
GSS Settings. Desde aqu podemos habilitar el protocolo de autenticacin de red Kerberos; si lotenemos instalado, seguro que sabemos entonces si tenemos que activar esta opcin y como
configurarlo. Por supuesto, no es una ventana imprescidible.
Speed Limits. Importante ventana donde configurar las velocidades tanto de upload(subida) como
download (descarga) de datos en el servidor. Si no ponemos un lmite y tenemos a muchos usuarios
conectados, nuestro ancho de banda puede saturase o por contra, no se repartirn bien los recursos de
nuestro servidor. Si tenemos previsto que accedan muchos usuarios (cientos o miles) entonces quiz
nos sea ms beneficioso aplicar reglas a estas velocidades, tal y como podemos hacerlo desde ah
mismo. En general, podemos definir las velocidades de conexin teniendo en cuantas horas y das.
4. Botn User Accounts. Este botn representado por el grfico de una cara, nos permite definir las
cuentas de los usuarios que tendrn acceso a nuestro servidor. Deberemos aadir un nuevo usuario
8/6/2019 Introduccin al protocolo FTP
25/27
facilitando un nombre y una contrasea, as como definir tambin el directorio al que tendrn acceso
por defecto.
Si nos fijamos en la imagen, existen varios botones a la derecha como ADD y REMOVE. El
primero (Add) nos sirve para aadir cuentas de usuario y el segundo (Remove) para borrarlas. Una vez
damos el nombre del usuario que tendr acceso, se mostrar tambin el botn ADD que est ms o
menos al centro de la imagen. Desde ah podemos definir a qu directorio tendr acceso dicho usuario;
en este caso vemos que el directorio HOME (marcado por una H) es el C:\temp, es decir, el directorio
raz donde el usuario tendr acceso de forma predeterminada.
Bajo el cuadro Access Rights, vemos que est el campo PASSWORD, donde asignaremos la
contrasea al usuario que acabamos de crear.
De esta manera podemos aadir todos los usuarios que queramos, siempre de forma manual.
Bajo el campo PASSWORD anterior, vemos que tambin hay un desplegable que marca GROUPMEMBERSHIP; esta opcin nos permite englobar usuarios dentro de un mismo grupo, de manera que
todas las preferencias del grupo se asignen a todos los usuarios que pertenezcan a l. Ahora vemos que
no hay ningn grupo (); sigamos leyendo
5. Botn User Groups: Asignacin de grupos. Desde aqu es donde definimos los grupos y es tan
sencillo como lo visto en la ventana anterior, es decir, pulsamos ADD para aadir un nuevo grupo y
8/6/2019 Introduccin al protocolo FTP
26/27
despus asignamos un directorio raz. Una vez aadido el grupo y establecido sus preferencias (como
por ejemplo definiciones de velocidades mximas en el dilogo Speed Limits que encontramos a la
izquierda) ya podemos hacer uso del desplegable GROUP MEMBERSHIP que vimos en el punto
anterior, nmero 4 y escoger el recin creado.
Como dijimos antes, todos los usuarios que pertenezcan a un grupo, comparten las mismas
preferencias. Como es lgico, esto puede ahorrarnos mucho tiempo, ya que en vez de definir las
propiedades de cada usuario, podemos englobarlos en un grupo que tenga esas propiedades.
Uso del servidor
Ejemplos de conexin
Por ltimo, solo nos queda verificar que los clientes de FTP pueden conectar a nuestro servidor; para
ello podemos usar un cliente de texto o un cliente grfico como ya vimos con anterioridad al comienzo
de este curso.
Podemos por supuesto, hacer la prueba de todo en nuestro propio equipo, teniendo instalado
simultaneamente el cliente y el servidor. Hagamos la prueba.
Si tienes instalado el servidor y has agregado un usuario (por ejemplo) como vimos en la pgina
anterior, entonces ahora arranca el cliente de FTP, ya sea en modo grfico o bien, abre una ventana de
DOS o Interfaz de comandos (si trabajas en Windows) con el fin de realizar dicha conexin.
En la siguiente imagen podemos ver un ejemplo de conexin, donde hemos usado el Servidor FileZilla
en Windows y realizamos una conexin desde un sistema Linux (click para ampliar).
8/6/2019 Introduccin al protocolo FTP
27/27
Recommended