FTP - alvaroprimoguijarro...protocolo FTP para conectarse a un servidor FTP y transferir archivos,...

20
2012 Álvaro Primo Guijarro Servicios de Red en Internet 29/01/2012 FTP

Transcript of FTP - alvaroprimoguijarro...protocolo FTP para conectarse a un servidor FTP y transferir archivos,...

2012

Álvaro Primo Guijarro

Servicios de Red en Internet

29/01/2012

FTP

FTP

2

File Transfer Protocol

FTP (siglas en inglés de File Transfer Protocol, 'Protocolo de Transferencia de Archivos') en informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor y/o apropiarse de los archivos transferidos.

Para solucionar este problema son de gran utilidad aplicaciones como scp y sftp, incluidas en el paquete SSH, que permiten transferir archivos pero cifrando todo el tráfico.

Primer buscador de información

Gopher significa 'lanzarse sobre' la información. Es un servicio cuyo objetivo es la localización de archivos a partir de su título. Consiste en un conjunto de menús de recursos ubicados en diferentes máquinas que están intercomunicadas. Cada máquina sirve una área de información, pero su organización interna permite que todas ellas funcionen como si se tratase de una sola máquina. El usuario navega a través de estos menús hasta localizar la información buscada, y desconoce exactamente de qué máquina está descargando dicha información. Con la llegada de Internet, los potentes motores de búsqueda (Google) dejaron el servicio Gopher, y la localización 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 página 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 día 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.

File Transfer Protocol (FTP)

Familia: Familia de protocolos de Internet

Función: protocolo de transferencia de archivos

Puertos: 20/TCP DATA Port 21/TCP Control Port

Ubicación en la pila de protocolos

Aplicación FTP

Transporte TCP

Red IP

FTP

3

El Modelo FTP

En el modelo, el intérprete de protocolo (IP) de usuario inicia la conexión de control en

el puerto 21. Las órdenes FTP

estándar las genera el PI de usuario y

se transmiten al proceso servidor a

través de la conexión de control. Las

respuestas estándar se envían desde

el PI del servidor al PI de usuario por

la conexión de control como

respuesta a las órdenes.

Estas órdenes FTP especifican parámetros para la conexión de datos (puerto de datos, modo de transferencia, tipo de representación y estructura) y la naturaleza de la operación sobre el sistema de archivos (almacenar, recuperar, añadir, borrar, etc.). El proceso de transferencia de datos (DTP) de usuario u otro proceso en su lugar, debe esperar a que el servidor inicie la conexión al puerto de datos especificado (puerto 20 en modo activo o estándar) y transferir los datos en función de los parámetros que se hayan especificado.

Vemos también en el diagrama que la comunicación entre cliente y servidor es independiente del sistema de archivos utilizado en cada computadora, de manera que no importa que sus sistemas operativos sean distintos, porque las entidades que se comunican entre sí son los PI y los DTP, que usan el mismo protocolo estandarizado: el FTP.

También hay que destacar que la conexión de datos es bidireccional, es decir, se puede usar simultáneamente para enviar y para recibir, y no tiene por qué existir todo el tiempo que dura la conexión FTP. Pero tenía en sus comienzos un problema, y era la localización de los servidores en la red. Es decir, el usuario que quería descargar algún archivo mediante FTP debía conocer en qué máquina estaba ubicado. La única herramienta de búsqueda de información que existía era Gopher, con todas sus limitaciones.

FTP

4

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 función es permitir el intercambio de datos entre diferentes servidores/ordenadores.

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 información con él.

Las aplicaciones más comunes de los servidores FTP suelen ser el alojamiento web, en el que sus clientes utilizan el servicio para subir sus páginas 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 comunicación 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 función FTP, o si se quiere cargar archivos en un ordenador 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 básicos en modo consola vienen integrados en los sistemas operativos, incluyendo Microsoft Windows, DOS, GNU/Linux y Unix. Sin embargo, hay disponibles clientes con opciones añadidas e interfaz gráfica. Aunque muchos navegadores tienen ya integrado FTP, es más confiable a la hora de conectarse con servidores FTP no anónimos utilizar un programa cliente.

FTP

5

Tipos de acceso

Acceso anónimo

Los servidores FTP anónimos 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 más cómoda fuera del servicio web de permitir que todo el mundo tenga acceso a cierta información 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 tendrás acceso a ese sistema. No se necesita ninguna contraseña preestablecida, aunque tendrás que introducir una sólo para ese momento, normalmente se suele utilizar la dirección de correo electrónico propia.

Solamente con eso se consigue acceso a los archivos del FTP, aunque con menos privilegios que un usuario normal. Normalmente solo podrás leer y copiar los archivos que sean públicos, así indicados por el administrador del servidor al que nos queramos conectar.

Normalmente, se utiliza un servidor FTP anónimo para depositar grandes archivos que no tienen utilidad si no son transferidos a la máquina del usuario, como por ejemplo programas, y se reservan los servidores de páginas web (HTTP) para almacenar información textual destinada a la lectura en línea.

Acceso de usuario

Si se desea tener privilegios de acceso a cualquier parte del sistema de archivos del servidor FTP, de modificación 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 información de las distintas cuentas de usuario que pueden acceder a él, de manera que para iniciar una sesión FTP debemos introducir una autentificación (en inglés: login) y una contraseña (en inglés: password) que nos identifica unívocamente.

FTP

6

Cliente FTP basado en Web

Un «cliente FTP basado en Web» no es más que un cliente FTP al cual podemos acceder a través de nuestro navegador web sin necesidad de tener otra aplicación 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 actúa de intermediario haciendo pasar la información 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 portátil encima y necesitamos realizar alguna tarea urgente desde un ordenador de acceso público, de un amigo, del trabajo, la universidad, etc. Lo más común es que no estén instaladas las aplicaciones que necesitamos y en muchos casos hasta carecemos de los permisos necesarios para realizar su instalación. Otras veces estamos detrás 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 estuviéramos realizando cualquier otro tipo de navegación web. A través de un cliente FTP basado en Web podrás, crear, copiar, renombrar y eliminar archivos y directorios. Cambiar permisos, editar, ver, subir y descargar archivos, así como cualquier otra función del protocolo FTP que el servidor FTP remoto 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 máquina 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 anónimos, pero con más privilegios.

FTP

7

Modos de conexión del cliente FTP

FTP admite dos modos de conexión del cliente. Estos modos se denominan activo (o Estándar, o PORT, debido a que el cliente envía comandos tipo PORT al servidor por el canal de control al establecer la conexión) y pasivo (o PASV, porque en este caso envía comandos tipo PASV). Tanto en el modo Activo como en el modo Pasivo, el cliente establece una conexión con el servidor mediante el puerto 21, que establece el canal de control.

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 indicándole ese número de puerto, de manera que el servidor pueda abrirle una conexión de datos por donde se transferirán los archivos y los listados, en el puerto especificado.

Lo anterior tiene un grave problema de seguridad, y es que la máquina cliente debe estar dispuesta a aceptar cualquier conexión 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 rechazarán esas conexiones aleatorias. Para solucionar esto se desarrolló el modo pasivo.

FTP

8

Modo pasivo

Cuando el cliente envía 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. Ej:2040) al que debe conectarse el cliente. El cliente inicia una conexión desde el puerto siguiente al puerto de control (ej: 1036) hacia el puerto del servidor especificado anteriormente (ej: 2040).1

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, según el modo en el que haya conectado), y el servidor recibirá esa conexión 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.

Tipos de transferencia de archivos en FTP

Es importante conocer cómo debemos transportar un archivo a lo largo de la red. Si no utilizamos las opciones adecuadas podemos destruir la información del archivo. Por eso, al ejecutar la aplicación FTP, debemos acordarnos de utilizar uno de estos comandos (o poner la correspondiente opción en un programa con interfaz gráfica):

tipo ascii

Adecuado para transferir archivos que sólo contengan caracteres imprimibles (archivos ASCII, no archivos resultantes de un procesador de texto), por ejemplo páginas HTML, pero no las imágenes que puedan contener.

tipo binario

Este tipo es usado cuando se trata de archivos comprimidos, ejecutables para PC, imágenes, archivos de audio...

FTP

9

Ejemplos de cómo transferir algunos tipos de archivo dependiendo de su extensión:

En la red existen diversas soluciones de software que desarrolla este tipo de tecnología, los más conocidos, son Filezilla (software libre) y CuteFTP (shareware).

Permisos FTP

El protocolo FTP se desarrolló en entornos de tipo UNIX similares a los populares GNU/Linux. Por eso tenemos los permisos de ejecución, lectura y escritura, estableciéndose tres tipos de usuarios: Propietario, Grupo y Otros.

El Propietario es normalmente la persona que ha creado o que ha subido el archivo al servidor FTP.

El Grupo se refiere a un grupo de usuarios al que probablemente pertenece el propietario.

Otros son todos los demás usuarios anónimos o que no pertenecen al grupo indicado.

Para establecer los permisos de escritura existe un algoritmo, el cual asigna valores al tipo de acceso que se quiere otorgar a cada tipo de usuario.

4 = lectura 2 = escritura 1 = ejecución

Extensión de archivo Tipo de transferencia

txt (texto) ascii

html (página WEB)

ascii

doc (documento) binario

ps (poscript) ascii

hqx (comprimido) ascii

Z (comprimido) binario

ZIP (comprimido) binario

ZOO (comprimido)

binario

Sit (comprimido) binario

pit (comprimido) binario

shar (comprimido)

binario

uu (comprimido) binario

ARC (comprimido)

binario

tar (empaquetado)

binario

FTP

10

Los permisos se asignan acorde con la suma de los tipos ya descritos.

Por ejemplo:

6 (4+2) = lectura y escritura 5 (4+1) = lectura y ejecución 3 (2+1) = escritura y ejecución 7 (4+2+1)= lectura, escritura y ejecución

Las combinaciones se dan en el siguiente orden: Propietario, Grupo y Usuarios.

Por ejemplo: 755, otorga lectura, escritura y ejecución al propietario, y al grupo y otros le otorga los permisos de ejecución y lectura.

Para cambiar los permisos, en Windows XP, basta con enviar el comando literal chmod 755 /, lo que permite que la carpeta raíz tenga los permisos ya descritos.

Más información sobre asignar permisos: http://www.ignside.net/man/ftp/chmod.php

Para establecer permisos con el FileZilla, se hace lo siguiente:

1. Clic con el botón derecho del mouse sobre la(s) carpeta(s) y/o archivo(s) que desees establecer permisos, recuerda que para seleccionar más de un archivo o carpeta, selecciónalos manteniendo pulsada la tecla Ctrl o Alt; haces clic en Atributos del Archivo o File Attributes, depende el idioma en que lo tengas.

2.

FTP

11

3. Nos aparecerá una ventana, seleccionaremos los valores que deseemos cambiar, o bien, escribir en el cuadro de abajo los dígitos.

4. Presionamos en el botón OK, y si nuestras modificaciones fueron procesadas exitosamente, en la parte de arriba aparecerá un mensaje diciendo Directory listing successful.

Cuotas FTP

Speed Limits: • Download Speed Limit: (Límite de Velocidad de Descarga de Archivos) Básicamente podemos establecer el Ancho de Banda permitido para Descargas de Archivos alojados en el Servidor, El Ancho de banda Usado siempre Será El nuestro, y es lo que nos permite poder Descargar o Subir Archivos desde Internet a determinadas Velocidades, teniendo una Conexión de 1 Mega Se podrá descargar como Máximo a 125 Kbps y Subir como máximo a 60Kbps. Tenemos tres posibilidades aquí, Establecer un Ancho de Banda Ilimitado (Pero siempre correspondiéndose a Nuestras capacidades), Establecer un Limite de Descarga Constante ( Ejemplo: Descarga a 10Kbps Siempre fijo) también Establecer un Rango de Velocidades de Descarga (Ejemplo: Descargas entre 20 Kbps y 40 Kbps). Establecemos No Limit (Sin Limites de descarga). • Upload Speed Limit: (Límite de Velocidad de Subida de Archivos) Esta sección es Igual a la anterior, pero la única diferencia es que en vez de configurar el Límite de Ancho de Banda para La Descarga, configuramos el Límite de Ancho de Banda para la Subida de Archivos al Servidor desde otra Red Ajena. Aquí también Marcamos el Campo que dice “No Limit”, esto lo hacemos por que no queremos que hayan Límites de Velocidades y las Trasnferencias sean Mas Fluidas. Aunque si nosotros tenemos ocupado mucho ancho de banda es Conveniente establecer Límites razonables.

FTP

12

IP Bindings: • Esta sección sirve para obligar al servidor a las direcciones IP que escribiéramos en el cuadro de texto abajo, podemos ingresar varias direcciones IP para que el Servidor solamente deje ingresar a ellas. Por ejemplo, escribimos dos direcciones IP en el cuadro de texto, Nuestro Servidor solo funcionará para dichas direcciones IP.

IP Filter: • Aquí podremos de un modo muy interesante bloquear determinadas direcciones IP para que no puedan ingresar de ningún modo a nuestro Servidor FTP. Lo único que debemos hacer es escribir las direcciones IP que no queremos que ingresen al Server en el cuadro de texto que aparece en la pantalla. O también podemos bloquear un rango de Direcciones IP, por ejemplo, en el primer cuadro de texto escribimos 201.255.35.44 - 201.255.56.32, de ésta forma bloqueamos las direcciones IP desde 201.255.35.44 hasta 201.255.56.32. Y si queremos que entre ese rango determinadas IP si puedan acceder al servidor solo tenemos que escribir la IP en el cuadro de debajo de todo (Excepciones de Bloque de IP). En nuestro caso NO queremos bloquear ninguna dirección por lo que dejamos ambos campos en blanco.

FTP

13

Transferencias:

En la siguiente página podremos establecer las opciones de transferencias de datos.

• Número de transferencias Simultáneas: Aquí es donde podemos establecer cual será la

máxima cantidad de archivos que se estarán trasnfieriendo a la vez, se pueden transferir hasta

10 archivos al mismo tiempo con un

mínimo de 1 Archivo, Nosotros

seleccionamos que se puedan

transferir 10 Archivos a la vez.

• Limite de Descargas Simultaneas:

Aquí estableceremos cuantas

descargas son permitidas desde el

Servidor, Si ingresamos el Número 0 no

existirán límites (Número de descarga

Ilimitadas), podemos ingresar

cualquier otro número pero dejaremos

el valor predeterminado, que es 0.

• Límite para Subidas Simultaneas:

Aquí básicamente se puede hacer lo mismo que en la anterior opción, salvo que en vez de

configurar el Número Máximo de Descargas configuramos el de Subida, aquí tambien

ingresamos el valor 0. Así no existirán límites a la hora de subir archivos.

• Tiempo de Espera: Podemos también establecer en cuanto tiempo FileZilla intente

reconectar si es que no se pueden enviar o recibir datos, por ejemplo: Si nosotros ingresamos

el Valor 5 en el EDIT FileZilla esperará 5 segundos para reintentar conectar al Servidor si es que

no se pudieron enviar ni recibir datos. Pero nosotros ingresaremos el valor Máximo, el 9999.

• Límites de Velocidad: Aquí tenemos la posibilidad de establecer el límite de subida y el límite

de descarga, dejamos ambos valores en 0, así no existen ningún tipo de límites.

FTP

14

Guía de comandos FTP

Comando y argumentos

Acción que realiza

open servidor Inicia una conexión con un servidor FTP.

close o disconnect

Finaliza una conexión FTP sin cerrar el programa cliente.

bye o quit Finaliza una conexión FTP y la sesión de trabajo con el programa cliente.

cd directorio Cambia el directorio de trabajo en el servidor.

delete archivo Borra un archivo en el servidor

mdelete patrón Borra múltiples archivos basado en un patrón que se aplica al nombre.

dir Muestra el contenido del directorio en el que estamos en el servidor.

get archivo Obtiene un archivo

noop No Operation

Se le comunica al servidor que el cliente está en modo de no operación, el servidor usualmente responde con un «ZZZ» y refresca el contador de tiempo inactivo del usuario.

mget archivos Obtiene múltiples archivos

hash Activa la impresión de caracteres # a medida que se transfieren archivos, a modo de barra de progreso.

lcd directorio Cambia el directorio de trabajo local.

ls Muestra el contenido del directorio en el servidor.

prompt Activa/desactiva la confirmación por parte del usuario de la ejecución de comandos. Por ejemplo al borrar múltiples archivos.

put archivo Envía un archivo al directorio activo del servidor.

mput archivos Envía múltiples archivos.

pwd Muestra el directorio activo en el servidor.

rename archivo Cambia el nombre a un archivo en el servidor.

rmdir directorio Elimina un directorio en el servidor si ese directorio está vacío.

status Muestra el estado actual de la conexión.

bin o binary Activa el modo de transferencia binario.

ascii Activa el modo de transferencia en modo texto ASCII.

! Permite salir a línea de comandos temporalmente sin cortar la conexión. Para volver, teclear exit en la línea de comandos.

? nombre de comando

Muestra la información relativa al comando.

? o help Muestra una lista de los comandos disponibles.

append nombre del archivo

Continua una descarga que se ha cortado previamente.

bell Activa/desactiva la reproducción de un sonido cuando ha terminado cualquier proceso de transferencia de archivos.

glob Activa/desactiva la visualización de nombres largos de nuestro PC.

FTP

15

literal Con esta orden se pueden ejecutar comandos del servidor de forma remota. Para saber los disponibles se utiliza: literal help.

mkdir Crea el directorio indicado de forma remota.

quote Hace la misma función que literal.

send nombre del archivo

Envía el archivo indicado al directorio activo del servidor.

user Para cambiar nuestro nombre de usuario y contraseña sin necesidad de salir de la sesión ftp.

Problemas de Seguridad en servidores de FTP

Los servidores de FTP anónimo están sometidos a abusos de entre los que destacan principalmente dos:

Distribución de software o material con copyright a través del servidor.

Fallo de seguridad en el servidor debida a una mala configuración del servidor de FTP.

Los archivos anónimos se pueden conseguir de muchas formas. La mayoria de las veces es a través de servidores FTP anónimos pero no hay que olvidar otros medios como FSP o NFS. Algunos servidores permiten la existencia de zonas con permisos de escritura (directorios incoming) para que los usuarios puedan dejar archivos. Pero si los usuarios anónimos tienen permiso para leer de ese directorio la probabilidad de abuso por parte de dichos usuarios aumenta.

Ciertos usuarios consiguen y distribuyen listas (listas warez) que enumeran sitios con vulnerabilidad y la información que contienen. Éstas listas suelen incluir los nombres de directorios con permisos de escritura y la localización de software pirata, así como archivos de password u otra importante información.

Estos usuarios se aprovechan de la poca importancia que dan los administradores a que este tipo de abuso exista, o bien de la confianza que tienen dichos administradores en la configuración de su servidor.

A parte del problema del pirateo informático, existe el riesgo de que un mal configurado servidor puede proporcionar a alguién la capacidad de ejecutar procesos con UID (identificador de usuario) del demonio de FTP.

FTP

16

File eXchange Protocol

File eXchange Protocol (FXP) es un método de transferencia de datos, a través del cual

los datos se envían de un servidor FTP a otro sin pasar por un cliente intermedio. La

comunicación convencional FTP consiste en un solo servidor y un solo cliente. Toda la

transferencia de datos se realiza entre los dos. Durante una sesión FXP, un cliente

mantiene conexiones estándares con dos servidores, dirigiendo cualquiera de los dos

servidores que se conecte al otro para iniciar una transferencia de datos. Este método

permite a un cliente con poco ancho de banda intercambiar datos entre dos servidores

con mas ancho de banda sin el retraso asociado con la comunicación convencional FTP.

A lo largo de este proceso, sólo el cliente es capaz de acceder a los recursos de los dos

servidores.

FXP a través de SSL

Algunos servidores FTP como glFTPD, RaidenFTPd y wzdftpd soportan la negociación

de un canal de dato seguro entre dos servidores mediante cualquiera de las dos órdenes

de extensión del protocolo FTP: CPSV o SSCN. Normalmente, un cliente realiza esto

enviando CPSV en lugar de la orden PASV (modo pasivo), o enviando SSCN antes de

iniciar las transferencias pasivas. No obstante, ambos métodos aún son susceptibles a

los ataques Man-in-the-middle, pues los dos servidores FTP no comprueban sus

respectivos certificados SSL.

FTPS

FTPS (comúnmente referido como FTP/SSL) es un nombre usado para abarcar un número de formas en las cuales el software FTP puede realizar transferencias de ficheros seguras. Cada forma conlleva el uso de una capa SSL/TLS debajo del protocolo estándar FTP para cifrar los canales de control y/o datos. No debería confundirse con el protocolo de transferencia de ficheros SFTP, el cual suele ser usado con SSH.

El uso más común de FTP y SSL es:

AUTH TLS o FTPS Explicito, nombrado por el comando emitido para indicar que la seguridad TLS es obligatoria. Este es el método preferido de acuerdo al RFC que define FTP sobre TLS. El cliente se conecta al puerto 21 del servidor y comienza una sesión FTP sin cifrar de manera tradicional, pero pide que la seguridad TLS sea usada y realiza la negociación apropiada antes de enviar cualquier dato sensible.

AUTH como está definido en RFC 2228.

FTPS Implícito es un estilo antiguo, pero todavía ampliamente implementado en el cual el cliente se conecta a un puerto distinto (como por ejemplo 990), y se realiza una negociación SSL antes de que se envíe cualquier comando FTP.

FTP

17

TFTP

TFTP son las siglas de Trivial file transfer Protocol (Protocolo de transferencia de archivos trivial).

Es un protocolo de transferencia muy simple semejante a una versión básica de FTP. TFTP a menudo se utiliza para transferir pequeños archivos entre ordenadores en una red, como cuando un terminal X Window o cualquier otro cliente ligero arranca desde un servidor de red.

Algunos detalles del TFTP:

Utiliza UDP (en el puerto 69) como protocolo de transporte (a diferencia de FTP que utiliza el puerto 21 TCP).

No puede listar el contenido de los directorios.

No existen mecanismos de autenticación o cifrado.

Se utiliza para leer o escribir archivos de un servidor remoto.

Soporta tres modos diferentes de transferencia, "netascii", "octet" y "mail", de los que los dos primeros corresponden a los modos "ascii" e "imagen" (binario) del protocolo FTP.

SFTP

SFTP (SSH File Transfer Protocol) es un protocolo que provee funcionalidad de transferencia y manipulación de ficheros a través de un flujo confiable de datos. Comúnmente se utiliza con SSH para proveer a éste de transferencia segura de ficheros.

SCP

SCP (Secure Copy, o Copia Segura) es una protcolo seguro para transferir ficheros entre un anfitrión local y otro remoto, a través de SSH. Básicamente, es idéntico a RCP (Remote Copy, o Copia Remota), con la diferencia de que los datos son cifrados durante la transferencia para evitar la extracción potencial de información a través de programas de captura de las tramas de red (packet sniffers). SCP solo implementa la transferencia de ficheros, pues la autenticación requerida es realizada a través de SSH.

Trivial File Transfer Protocol

(TFTP)

Familia: Protocolo de red LAN

Función: transferencia de archivos

Puertos: 69/UDP

Ubicación en la pila de protocolos

Aplicación TFTP

Transporte UDP

Red IP

FTP

18

Clientes FTP

A modo comando podemos acceder desde un terminal:

Mediante un cliente ftp, con una interfaz grafica:

FTP

19

Mediante el navegador web:

Transferencia o distribución de archivos entre iguales (peer-to-peer).

Peer-to-peer Una red peer-to-peer, red de pares, red entre iguales, red

entre pares o red punto a punto (P2P, por sus siglas en inglés)

es una red de computadoras en la que todos o algunos

aspectos funcionan sin clientes ni servidores fijos, sino una

serie de nodos que se comportan como iguales entre sí. Es

decir, actúan simultáneamente como clientes y servidores

respecto a los demás nodos de la red. Las redes P2P permiten

el intercambio directo de información, en cualquier formato,

entre los ordenadores interconectados.

Normalmente este tipo de redes se implementan como redes superpuestas construidas en la

capa de aplicación de redes públicas como Internet.

El hecho de que sirvan para compartir e intercambiar información de forma directa entre dos o

más usuarios ha propiciado que parte de los usuarios lo utilicen para intercambiar archivos

cuyo contenido está sujeto a las leyes de copyright, lo que ha generado una gran polémica

entre defensores y detractores de estos sistemas.

Las redes peer-to-peer aprovechan, administran y optimizan el uso del ancho de banda de los

demás usuarios de la red por medio de la conectividad entre los mismos, y obtienen así más

FTP

20

rendimiento en las conexiones y transferencias que con algunos métodos centralizados

convencionales, donde una cantidad relativamente pequeña de servidores provee el total del

ancho de banda y recursos compartidos para un servicio o aplicación.

Dichas redes son útiles para diversos propósitos. A menudo se usan para compartir ficheros de

cualquier tipo (por ejemplo, audio, vídeo o software). Este tipo de red también suele usarse en

telefonía VoIP para hacer más eficiente la transmisión de datos en tiempo real.

La eficacia de los nodos en el enlace y transmisión de datos puede variar según su

configuración local (cortafuegos, NAT, ruteadores, etc.), velocidad de proceso, disponibilidad

de ancho de banda de su conexión a la red y capacidad de almacenamiento en disco.