Introducción al protocolo FTP

download Introducción al protocolo FTP

of 27

Transcript of Introducción al protocolo FTP

  • 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