Documente Academic
Documente Profesional
Documente Cultură
INDICE
INTRODUCCIN ARQUITECTURA DEL FTP COMANDOS FTP RESPUESTAS FTP SERVIDORES Y CLIENTES FTP FTP SEGURO: FTP SSH Y FTP SSL
Introduccin
Una de las primeras aplicaciones bsicas desarrolladas en el entorno de lo que luego sera la red Internet fue la transferencia de ficheros entre diferentes sistemas. Al principio de los aos setenta ya se elaboraron las primeras especificaciones del protocolo ms utilizado para esta finalidad, el FTP. La especificacin oficial del protocolo se public en 1985 en el documento RFC 959. http://www.ietf.org/rfc/rfc959.txt
Introduccin. Objetivos
El protocolo FTP define la manera en que los datos deben ser transferidos a travs de una red TCP/IP. Los objetivos del protocolo FTP son:
permitir la interoperabilidad entre sistemas muy diferentes, escondiendo los detalles de la estructura interna de los sistemas de archivos locales permitir que equipos remotos puedan compartir archivos permitir la independencia entre los sistemas de archivo del equipo del cliente y del equipo del servidor permitir una transferencia de datos eficaz (rpida y fiable)
Introduccin
Este protocolo proporciona tambin una serie de deficiencias en cuanto a seguridad ya que:
Utiliza un mecanismo normal de autenticacin de usuarios (usuario/contrasea) con lo que el servidor no puede garantizar que el usuario es quien dice ser. Transfiere las contraseas en texto plano (sin cifrar) No cifra la propia sesin en s misma, por lo que las transferencias de archivos tambin son en texto plano.
Introduccin
El protocolo proporciona tambin operaciones para que el cliente pueda manipular el sistema de archivos del servidor:
borrar archivos cambiarles el nombre, crear y borrar directorios listarse los contenidos, etc ..
Tipos de transferencia
El modo en que se transfieren los ficheros entre el cliente y el servidor puede ser de tipos diferentes, los dos ms importantes son: Tipo ASCII. El fichero se transmite carcter a carcter. Adecuado para transferir archivos que slo contengan caracteres imprimibles (archivos ASCII, no archivos resultantes de un procesador de texto), por ejemplo pginas HTML, pero no las imgenes que puedan contener. Tipo Binario. En este modo el fichero se envia bit a bit sin ninguna interpretacion de ningun tipo. Este tipo es usado cuando se trata de archivos comprimidos, ejecutables para PC, imgenes, archivos de audio...
Arquitectura FTP
El protocolo FTP se basa en la arquitectura cliente-servidor, es decir, un equipo enva rdenes (el cliente) y el otro espera solicitudes para llevar a cabo acciones (el servidor). Utiliza el protocolo de transporte TCP. Durante una conexin FTP, se encuentran abiertos dos canales de transmisin: * Un canal de comandos (canal de control) * Un canal de datos
Arquitectura FTP
El servidor FTP proporciona el servicio (capa de aplicacin del modelo de capas de red TCP/IP) al usuario, a travs de dos puertos bien conocidos:
el puerto 20 es el utilizado para el flujo de datos entre el cliente y el servidor y el puerto 21 para el flujo de control, es decir, para enviar las rdenes del cliente al servidor.
El cliente se conecta al servidor haciendo uso de un puerto local mayor que 1024
Arquitectura FTP
Hay dos entidades que intervienen en la transferencia de ficheros: El proceso de transferencia de datos (DTP). Est bajo el control del intrprete de protocolo, se encarga de intercambiar los datos que deben transferirse El intrprete de protocolo (PI). Se encarga del intercambio de los pedidos del protocolo.
Arquitectura FTP
El cliente y el servidor cuentan con dos procesos que permiten la administracin de estos dos tipos de informacin:
DTP (Proceso de transferencia de datos) es el proceso encargado de establecer la conexin y de administrar 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. 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.
Funcionamiento FTP
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.
Arquitectura FTP
Modo Activo
Se establece una conexin utilizada para transmitir rdenes FTP desde cualquier puerto superior a 1024 en el cliente hacia el puerto 21 del servidor. En esa conexin establecida se comunica al servidor qu puerto utiliza el cliente para la recepcion de datos. Para ello, el cliente manda un comando PORT al servidor por el canal de control indicndole ese nmero de puerto. El servidor abre su puerto 20 para realizar la transferencia solicitada por el cliente y abre tambien el puerto indicado en el cliente para la transmision de datos.
Hay dos conexiones distintas: una peticin de transferencia por parte del cliente y una atencin a dicha peticin, iniciada por el servidor.
Modo Pasivo
En este modo es siempre el programa cliente el que inicia la conexin con el servidor. Al abrir una conexin ftp se abre primero una conexin de control (desde un puerto superior a 1024 de la maquina local al puerto 21 del servidor). Al pasar a modo pasivo (comando PASV), el cliente solicita un puerto abierto al servidor (superior al 1024 del servidor) y recibida la contestacin, ser el cliente el que establezca la conexin de datos al servidor a travs de ese puerto. En modo pasivo las conexiones son siempre abiertas por el cliente, mientras que en modo activo se abren por el que enva los datos (el server si se trata de bajar archivos, y el cliente si se trata de subir archivos al server).
Comandos FTP
Los comandos FTP son los mensajes que enva el intrprete cliente, y los que enva el intrprete servidor son respuestas a estos comandos. Un comando FTP se representa por medio de un cdigo de comando de hasta cuatro letras (que pueden ser indistintamente maysculas o minsculas), seguido de una lista de cero o ms argumentos, separados por espacios, acabada con un final de lnea. Los comandos FTP son cadenas de caracteres Telnet que finalizan con el cdigo de final de lnea Telnet (es decir, la secuencia <CR>+<LF>, Retorno de carro seguido del carcter Avance de lnea indicado como <CRLF>). Si el comando FTP tiene un parmetro, ste se separa del comando con un espacio (<SP>).
Comandos FTP
Los comandos FTP hacen posible especificar: El puerto utilizado El mtodo de transferencia de datos La estructura de datos La naturaleza de la accin que se va a realizar (Recuperar, Enumerar, Almacenar, etc.)
Comandos FTP
La especificacin RFC 959 define treinta y comandos agrupadas en tres categoras diferentes: tres
PASS
ACCT
CWD
CDUP
QUIT
STOR
Este comando (store [almacenar]) le pide al servidor de DTP que acepte los datos enviados por el canal de datos y que los almacene en un archivo que lleve el nombre que se da en los parmetros. Si el archivo no existe, el servidor lo crea; de lo contrario, lo sobrescribe. Este comando es idntico al anterior, slo le pide al servidor que cree un archivo cuyo nombre sea nico. El nombre del archivo se enva en la respuesta. Este comando permite que se vuelva a enviar la lista de archivos y directorios presentes en el directorio actual. Esto se enva a travs del DTP pasivo. Es posible indicar un nombre de directorio en el parmetro de este comando. El servidor de DTP enviar la lista de archivos del directorio ubicado en el parmetro. Este comando (print working directory [mostrar el directorio actual]) hace posible volver a enviar la ruta del directorio actual completa.
STOU LIST
PWD
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 y sistemticamente 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).
220 Sistema preparado. Introduzca nombre de usuario y contrasea.
Respuestas FTP
Los cdigos de respuesta estn compuestos por 3 nmeros, cuyos significados son los siguientes: El primer nmero indica el estatuto de la respuesta (exitosa
o fallida)
El segundo nmero indica a qu se refiere la respuesta. El tercer nmero brinda un significado ms especfico
(relacionado con cada segundo dgito).
Servidores FTP
Los servidores FTP se pueden ejecutar en dos modos: Modo aislado (standalone). Se ejecuta como proceso del sistema de forma independiente durante el arranque y permanece activo a la espera de peticiones Modo superservidor. Se ejecuta como proceso del sistema hijo de inetd. En este caso, se debe de configurar el archivo /etc/inetd.conf anadiendo la linea correspondiente al servicio FTP. Este modo es especifico de GNU/Linux y requiere arrancar el proceso cada vez que se establece una nueva conexion. Ambos modos son excluyentes y se activan de formas concretas en funcion del servicio FTP utilizado. En modo aislado, es el servidor quien abre el puerto de escucha, mientras que en modo superservidor lo hace el inetd (proceso del sistema encargado de redirigir las peticiones TCP o UDP a sus respectivos servicios).
Servidores FTP
Hay muchas implementaciones de servidores FTP:
vsftpd: https://security.appspot.com/vsftpd.html proftpd: http://www.proftpd.org/ FileZilla: http://filezilla-project.org/ FTP integrado en el servidor web IIS de Microsoft.
Clientes FTP
Hay muchas implementaciones de clientes FTP:
Clientes FTP
Comando open cd, pwd, dir ascii, binary get put control+C delete, mkdir, rmdir rename quit
FTP seguro
Los datos de cualquier sesin FTP no van cifrados (es un servicio no seguro). Hay dos opciones:
Crear un tnel SSH para la conexin FTP. SSH proporciona la capacidad de efectuar sesiones remotas seguras
La capa de transporte segura proporciona al FTP el grado de seguridad que proporciona a HTTPS. La faena de encriptacion y autenticacin la realiza SSL o TLS. La utilizacion conjunta de FTP y SSL o TLS tiene dos modos:
Explicito o FTPES. El cliente se conecta al puerto habitual (21) y cambia al modo seguro para transferir la informacin . Implcito o FTPS. El cliente asume el modo seguro con TLS o SSL
desde el inicio de la conexin, antes de transferir la informacin
clonar equipos en una red, una instalacin por red obtener los archivos del sistema operativo de un servidor en estaciones sin disco duro Guardar y bajar configuraciones de red, routers, ...
Tipos de usuario
El servicio ofrecido por un servidor FTP depender del tipo de usuario conectado. Usuario annimo (anonymous). Usuario que se conecta al sistema sin disponer de una cuenta personalizada. Posee una cuenta pero es de carcter genrico.Los usuarios anonymous solo tienen
acceso al directorio que establece el administrador.
Usuario registrado. Usuario dado de alta en el servidor con un login personalizado (un nombre de usuario y una contrasea). Tendr privilegios superiores a los de un usuario annimo.