SERVICIOS DE RED E INTERNET
Transcripción
SERVICIOS DE RED E INTERNET
SERVICIOS DE RED E INTERNET FTP Escrito por: Nicolás Madrid Gallego Nicolás Madrid Gallego IES GREGORIO PRIETO FTP SERVICIOS DE RED E INTERNET FTP 2 SERVICIOS DE RED E INTERNET FTP Contenido 1.-Funcionalidad del servicio de transferencia de archivos. ....................................................... 4 1.1.- Características. Componentes y funcionamiento. ...................................................... 4 1.2.- Protocolo FTP. ........................................................................................................... 5 Introducción al protocolo FTP ....................................................................................... 5 1.3.- Tipos de usuarios y accesos al servicio: Acceso anónimo y acceso autorizado. ........... 7 Cliente FTP ..................................................................................................................... 7 Acceso anónimo ............................................................................................................. 7 Acceso de usuario .......................................................................................................... 8 Cliente FTP basado en Web ......................................................................................... 8 Acceso de invitado ......................................................................................................... 9 1.4- Configuración del servicio de transferencia de archivos. Permisos y cuotas. ............... 9 1.5- Conexiones y modos: Conexión de control y conexión de datos. Modos activo y pasivo. .............................................................................................................................. 9 Modos de conexión del cliente FTP .............................................................................. 9 Modo activo ..................................................................................................................... 9 Modo pasivo .................................................................................................................. 10 1.6- Tipos de transferencia de archivos: ASCII y Binario. .................................................. 10 Tipos de transferencia de archivos en FTP ............................................................... 10 1.7- Clientes FTP : en línea de comandos, entornos “gráficos” y navegadores / exploradores. .................................................................................................................. 11 1.8- Monitorización y registro del servicio de transferencia de archivos. ......................... 12 1.9- Seguridad en FTP. ................................................................................................ 12 1.10- FTPS (FTP/SSL): FTPS Implícito. FTPS Explícito (FTPES) ............................................. 16 1.11.-Protocolo FXP (File eXchange Protocol). ......................................................... 16 2.-Servicio TFTP (Trivial File Transfer Protocol). ....................................................................... 17 3.-Servicios SFTP/SCP. ............................................................................................................. 18 4.-Transferencia o distribución de archivos entre iguales (peer-to-peer). ................................ 20 4.1- Características. Protocolos. Software. Configuración. ...................................... 20 Redes y protocolos ....................................................................................................... 20 Características .............................................................................................................. 23 Aplicaciones de las redes P2P .................................................................................... 24 3 SERVICIOS DE RED E INTERNET FTP 1.-Funcionalidad del servicio de transferencia de archivos. 1.1.- Características. Componentes y funcionamiento. Características de los servidores FTP Con respecto al diseño del servicio: La conexión de un usuario remoto al servidor FTP puede hacerse como inicio de una sesión de un usuario que existe en el sistema o también como un usuario genérico que se llama anónimo El acceso al sistema de archivos del servidor FTP está limitado, dependiendo del tipo de usuario que se conecta. Una vez se ha establecido la conexión con el servidor FTP, el disponible usuario el conjunto de órdenes FTP permiten tiene realizar que las operaciones básicas de descarga(get) o subida(put) de archivos, junto con otras órdenes. Con respecto a tipos de usuarios: Usuarios FTP - Son aquellos que disponen de una cuenta en la máquina que ofrece el servicio FTP. Se conectan vía FTP mediante su nombre de usuario y contraseña, y tienen acceso a aquellas partes del sistema de archivos para las que tienen permisos. Usuarios anónimos – Son usuarios cualesquiera que, al conectarse al servidor FTP, sólo deben introducir una contraseña simbólica que suele ser una dirección de correo electrónico, y sólo tienen acceso a una parte limitada del sistema de archivos Respecto a los modos de conexión del servicio FTP: 4 SERVICIOS DE RED E INTERNET Modo activo Modo pasivo FTP ¿Qué diferencia existe entre un cliente y un servidor FTP? Un servidor FTP es una aplicación que proporciona un mecanismo estándar de transferencia de archivos entre sistemas a través de redes TCP/IP y uncliente FTP es una aplicación que permite al usuario, desde su máquina local, conectarse a un servidor FTP remoto para solicitar o transferirle archivos. 1.2.- Protocolo FTP. Introducción al protocolo FTP El protocolo FTP (Protocolo de transferencia de archivos) es, como su nombre lo indica, un protocolopara transferir archivos. La implementación del FTP se remonta a 1971 cuando se desarrolló un sistema de transferencia de archivos (descrito en RFC141) entre equipos del Instituto Tecnológico de Massachusetts (MIT, Massachusetts Institute of Technology). Desde entonces, diversos documentos de RFC (petición de comentarios) han mejorado el protocolo básico, pero las innovaciones más importantes se llevaron a cabo en julio de 1973. Actualmente, el protocolo FTP está definido por RFC 959 (Protocolo de transferencia de archivos (FTP) - Especificaciones). La función del protocolo FTP El protocolo FTP define la manera en que los datos deben ser transferidos a través de una red TCP/IP. El objetivo del protocolo FTP es: 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 El modelo FTP El protocolo FTP está incluido dentro del modelo cliente-servidor, es decir, un equipo envía órdenes (el cliente) y el otro espera solicitudes para llevar a cabo acciones (el servidor). Durante una conexión FTP, se encuentran abiertos dos canales de transmisión: Un canal de comandos (canal de control) 5 SERVICIOS DE RED E INTERNET FTP Un canal de datos Por lo tanto, el cliente y el servidor cuentan con dos procesos que permiten la administración de estos dos tipos de información: DTP (Proceso de transferencia de datos) es el proceso encargado de establecer la conexión 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 (Intérprete de protocolo) interpreta el protocolo y permite que el DTP pueda ser controlado mediante los comandos recibidos a través del canal de control. Esto es diferente en el cliente y el servidor: El SERVIDOR PI es responsable de escuchar los comandos que provienen de un USUARIO PI a través del canal de control en un puerto de datos, de establecer la conexión para el canal de control, de recibir los comandos FTP del USUARIO PI a través de éste, de responderles y de ejecutar el SERVIDOR DE DTP. El USUARIO PI es responsable de establecer la conexión con el servidor FTP, de enviar los comandos 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 conexión con el servidor de acuerdo con el protocolo Telnet. El cliente envía comandos FTP al servidor, el servidor los interpreta, ejecuta su DTP y después envía una respuesta estándar. Una vez que se establece la conexión, el servidor PI proporciona el puerto por el cual se enviarán 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 información entre dos procesos del servidor conectados en el puerto correcto. En esta configuración, el protocolo indica que los canales de control deben permanecer abiertos durante la transferencia de datos. De este modo, un servidor puede detener una transmisión si el canal de control es interrumpido durante la transmisión. 6 SERVICIOS DE RED E INTERNET FTP 1.3.- Tipos de usuarios y accesos al servicio: Acceso anónimo y acceso autorizado. 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. 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. 7 SERVICIOS DE RED E INTERNET FTP 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. 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. 8 SERVICIOS DE RED E INTERNET FTP 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. 1.4- Configuración del servicio de transferencia de archivos. Permisos y cuotas. 1.5- Conexiones y modos: Conexión de control y conexión de datos. Modos activo y pasivo. 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. 9 SERVICIOS DE RED E INTERNET FTP 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. 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). 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. 1.6- Tipos de transferencia de archivos: ASCII y Binario. 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 10 SERVICIOS DE RED E INTERNET FTP Este tipo es usado cuando se trata de archivos comprimidos, ejecutables para PC, imágenes, archivos de audio... 1.7- Clientes FTP : en línea de comandos, entornos “gráficos” y navegadores / exploradores. FileZilla es un cliente FTP multiplataforma de código abierto y software libre, licenciado bajo la Licencia Pública General de GNU. Soporta los protocolos FTP, SFTP y FTP sobre SSL/TLS (FTPS). Inicialmente fue diseñado para funcionar en Microsoft Windows, pero desde la versión 3.0.0, gracias al uso de wxWidgets, es multiplataforma, estando disponible además para otros sistemas operativos, entre ellos GNU/Linux, FreeBSD y Mac OS X. El código fuente de FileZilla y las descargas estaban2 hospedadas en SourceForge, el cual presentó a FileZilla como el Proyecto del Mes ennoviembre de 2003.3 Actualmente hospeda el código fuente en su propio sitio web y las descargas en Ohloh. FireFTP FireFTP es una práctica extensión para el navegador Mozilla Firefox que te permite tener integrado un cliente de FTP en el propio navegador (en una de las pestañas que tengas abiertas). Se trata de un cliente básico, sin grandes florituras, pero que cumple a la perfección con sus funciones: podrás conectarte a tu servidor FTP, reanudar descargas interrumpidas, usar modos activo o pasivo, y conectar incluso a través de servidores Proxy. GoFTP GoFTP es un cliente FTP que usa tecnología especial de “sobrellenado de memoria intermedia” y comprensión sobre la marcha para conseguir velocidades 3 veces superiores a la de otros programas de FTP multitarea. Admite encriptación incluyendo SFTP y FTPS. 11 SERVICIOS DE RED E INTERNET FTP 1.8- Monitorización y registro del servicio de transferencia de archivos. • Ficheros de logs Existen tres tipos de ficheros de logs que puede crear el demonio proftpd. Transferlog aquí es el más común y almacena un registro de la transferencia de los ficheros. Systemlog que almacena respuestas del demonio. Y extendedlog que es usada para crear ficheros configurales de los usando logformat. No dar permisos de escritura donde esten los ficheros de logs para que estos solo puedan ser modificados por el root. „ LogFormat nombre “formato” „ Logformat default “%h %i %u %t” „ TransferLog /ruta/fich „ TransferLog /Var/log/profptd/transfer „ ExtendedLog /ruta (AUTH|WRITE|READ|ALL) nombre. „ ExtenderLog /var/log/proftpd.all.log ALL default. 1.9- Seguridad en FTP. Seguridad FTP. ProFTPd. FTP son las iniciales de File Transfer Protocol (Protocolo de Transferencia de Ficheros o archivos) y aluden a uno de los protocolos más utilizados en Internet. Su función es permitirnos bajar (o subir) información desde (o hacia) los servidores que se encuentran en Internet. Los objetivos del FTP son: 1) promocionar el uso compartido de ficheros (programas y/o datos), 2) animar al uso indirecto o implícito (a través de programas) de servidores remotos, 3) hacer transparente al usuario las variaciones entre la forma de almacenar ficheros en diferentes ordenadores, 12 SERVICIOS DE RED E INTERNET FTP 4) transferir datos fiable y eficientemente. El FTP, aunque puede ser utilizado directamente por un usuario en un terminal, está diseñado principalmente para ser usado por programas. El ProFTPd ProFTPd es una de las alternativas para Linux en el campo de los servidores FTP. Presenta cualidades muy apreciadas en este terreno, como son escalabilidad, rendimiento, seguridad y facilidad de configuración. Permite definir dominios virtuales, FTP anónimo y control de permisos. Proftpd es un software potente y seguro. Su fichero de configuración utiliza una sintaxis similar a la de Apache, lo que permite homogeneizar su configuración. Ha sido elegido como servidor ftp oficial por la distribución Debian/GNU Linux. Su elección se debe a sus numerosas funcionalidades y por la gran cantidad de programadores que trabajan en él corrigiendo errores. El uso de módulos permite fácilmente extender sus funcionalidades. Existen módulos para: • Gestión de quotas (de usuario) • Otros sistemas de authenticación como LDAP, Mysql, Postgresql, ... • Gestión de ratios (por ejemplo, el usuario no puede descarga mas de 1 MB diario) • Gestión de ancho de banda ProFTPD ofrece las siguientes características: • Un único fichero de configuración, con directivas y directivas de grupo intuitivas para cualquier administrador que haya usado el servidor web Apache. • Configuración de acceso por directorio: ".ftpaccess", similar al ".htaccess" de Apache. • Fácil de configurar múltiples servidores FTP virtuales y servicios de FTP anónimos. 13 SERVICIOS DE RED E INTERNET FTP • Diseñado para correr tanto como servidor “stand-alone”, como desde el inetd o xinetd, dependiendo de la carga del sistema. • Los directorios del servicio de FTP anónimo no requiere de ninguna estructura de directorios específica, sistemas de ficheros binarios u otro tipo de sistema de ficheros. ProFTPD no ejecuta ningún programa externo en ningún momento. En entornos modernos de Internet, tales programas pueden ser una pesadilla en cuanto a seguridad se refiere. El código fuente está disponible (y siempre lo estará) para así poder comprobarlo. • Directorios y ficheros ocultos, basados en el estilo de permisos de Unix o propiedad por usuario/grupo. • Corre como un usuario no privilegiado configurable en modo “stand-alone”, para disminuir la probabilidad de ataques que proporciona su actitud como “root”. Nota: Esta característica depende de la capacidad del sistema Unix. • Soporta autenticación de usuarios y utmp/wtmp. La autenticación es compatible con el estándar wu-ftpd, con posibilidad de ampliar esta característica. • Soporta contraseñas ocultas (shadow password), incluyendo soporte para cuentas que han caducado. Control de acceso remoto únicamente Entendemos por acceso remoto el acceso desde otro equipo distinto a aquel en el que se encuentra el servidor. Inhabilitamos el acceso al servidor desde dicha máquina : # Para que solo se pueda acceder remotamente <LIMIT LOGIN> Deny 192.168.10.1 </LIMIT LOGIN> 14 SERVICIOS DE RED E INTERNET FTP Donde 192.168.10.1 es la dirección IP del citado equipo. El bloque LIMIT es de aplicación global. • Limitado el acceso a 3 usuarios simultáneamente. Con la directiva MaxClients especificamos el número máximo de usuarios que se pueden conectar. Al encontrarse dentro del bloque Anonymous solo se aplica a aquellos conectados en tal modo. Evita ataques de denegación de servicio. # Limit the maximum number of anonymous logins MaxClients 3 Limitada la conexión sin actividad en 5 minutos. TimeoutIdle no puede incluirse directamente dentro del bloque Anonymous, así que lo incluimos en el bloque principal, siendo válido para todos los bloques que aparecen posteriormente. El tiempo viene dado en segundos. # Tiempo tras el cual el servidor desactiva la conexión si no hay actividad TimeOutIdle 300 Se puede limitar el uso intensivo de cpu/memoria de sesiones ftp mediante el uso de directivas. RLimitCPU session 10 RLimitMemory session 4096 RLimitMemory daemon 8192 max Allowoverride off indica a proftpd deshabilita el chequeo de los directorios en busca del fichero .ftpaccess lo que reduce accesos de lectura escritura en disco. 15 SERVICIOS DE RED E INTERNET FTP 1.10- FTPS (FTP/SSL): FTPS Implícito. FTPS Explícito (FTPES) 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. 1.11.-Protocolo FXP (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. 16 SERVICIOS DE RED E INTERNET FTP Riesgos Sin embargo, algunos de los servidores que soportan el FXP son vulnerables a un exploit conocido como el ataque FTP Bounce, por el cual un usuario malicioso puede superar algunos cortafuegos.1 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. 2.-Servicio TFTP (Trivial File Transfer Protocol). TFTP son las siglas de Trivial transferencia de archivos trivial). file transfer Protocol (Protocolo de 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 entreordenadores 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. Detalles de una sesión TFTP Ya que TFTP utiliza UDP, no hay una definición formal de sesión, cliente y servidor, aunque se considera servidor a aquel que abre el puerto 69 en modo UDP, y cliente a quien se conecta. 17 SERVICIOS DE RED E INTERNET FTP Sin embargo, cada archivo transferido vía TFTP constituye un intercambio independiente de paquetes, y existe una relación cliente-servidor informal entre la máquina que inicia la comunicación y la que responde. La máquina A, que inicia la comunicación, envía un paquete RRQ (read request/petición de lectura) o WRQ (write request/petición de escritura) a la máquina B, conteniendo el nombre del archivo y el modo de transferencia. B responde con un paquete ACK (acknowledgement/confirmación), que también sirve para informar a A del puerto de la máquina B al que tendrá que enviar los paquetes restantes. La máquina origen envía paquetes de datos numerados a la máquina destino, todos excepto el último conteniendo 512 bytes de datos. La máquina destino responde con paquetes ACK numerados para todos los paquetes de datos. El paquete de datos final debe contener menos de 512 bytes de datos para indicar que es el último. Si el tamaño del archivo transferido es un múltiplo exacto de 512 bytes, el origen envía un paquete final que contiene 0 bytes de datos. 3.-Servicios SFTP/SCP. SSH File Transfer Protocol (también conocido como SFTP o Secure File Transfer Protocol) es un protocolo del nivel de aplicación que proporciona la funcionalidad necesaria para la transferencia y manipulación de archivos sobre un flujo de datos fiable. Se utiliza comúnmente con SSH para proporcionar la seguridad a los datos, aunque permite ser usado con otros protocolos de seguridad. Por lo tanto, la seguridad no la provee directamente el protocolo SFTP, sino SSH o el protocolo que sea utilizado en su caso para este cometido. En comparación de capacidades con el anterior protocolo SCP, que únicamente permite la transferencia de archivos (copia), el protocolo SFTP permite una serie de operaciones sobre archivos remotos. SFTP intenta ser más independiente de la plataforma que SCP, por ejemplo, con el SCP encontramos la expansión de comodines especificados por el cliente hasta el servidor, mientras que el diseño SFTP evita este problema. 18 SERVICIOS DE RED E INTERNET FTP Aunque SCP se aplica con más frecuencia en plataformas Unix, existen servidores SFTP en la mayoría de las plataformas. El Secure Internet Live Conferencing (SILC) define el protocolo SFTP como su protocolo de transferencia de archivos por omisión. En el SILC, los datos del protocolo SFTP no están protegidos con SSH pero el protocolo de paquetes seguros de SILC se utiliza para encapsular los datos SFTP dentro de los paquetes de SILC para que se la llevara de igual a igual (peer to peer, P2P). Esto es posible ya que SFTP está diseñado para ser un protocolo independiente. SFTP utiliza el puerto 22 de TCP. SCP Secure Copy o SCP es un medio de transferencia segura de archivos informáticos entre un host local y otro remoto o entre dos hosts remotos, usando el protocolo Secure Shell (SSH). El término SCP puede referir a dos conceptos relacionados, el protocolo SCP o el programa SCP. Protocolo SCP El protocolo SCP es básicamente idéntico al protocolo rcp de BSD. A diferencia de rcp, los datos son cifrados durante su transferencia, para evitar que potenciales packet sniffers extraigan información útil de los paquetes de datos. Sin embargo, el protocolo mismo no provee autenticación y seguridad; sino que espera que el protocolo subyacente, SSH, lo asegure. El modo SCP o simple communication protocol, es un protocolo simple que deja al servidor y al cliente tener múltiples conversaciones sobre una TCP normal. Este protocolo esta diseñado para ser simple de implementar. El servicio principal de este protocolo es el control del dialogo entre el servidor y el cliente, administrando sus conversaciones y agilizadas en un alto porcentaje, este protocolo le permite a cualquiera de los dos establecer una sesión virtual sobre la normal. La descripción de un formato de comunicación en las cabeceras enviadas por la red es la siguiente: 19 SERVICIOS DE RED E INTERNET FTP SCP puede solicitar de manera iterativa cualquier contraseña para establecer una conexión con un host remoto. El protocolo SCP implemente la transferencia de archivos únicamente. Para ello se conecta al host usando SSH y allí ejecuta un servidor SCP. Generalmente el programa SCP del servidor es el mismo que el del cliente. Para realizar la subida, el cliente le proporciona al servidor los archivos que desea subir y opcionalmente puede incluir otros atributos (permisos, fechas, etc.) Esto es una ventaja sobre el protocoloFTP. Para descargar, el cliente envía una solicitud por los archivos que desea descargar. El proceso de descarga está dirigido por el servidor y es el que se encarga de la seguridad del mismo. Frecuentemente, para los usos aquí detallados se utiliza el protocolo SFTP, también basado en SSH. 4.-Transferencia o distribución de archivos entre iguales (peer-topeer). 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 computadorasen 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 4.1- Características. Protocolos. Software. Configuración. Redes y protocolos Red Protocolo o Uso Programas 20 SERVICIOS DE RED E INTERNET FTP ANts P2P Intercambio de ficheros/Distribución de ANts P2P software/Distribución de multimedia Ares Intercambio ficheros BitTorrent Intercambio de ficheros/Distribución Ver Anexo:Clientes BitTorrent para una de lista detallada. software/Distribución de multimedia de Ares Galaxy, Warez P2P, KCeasy, jAres P2P Intercambio ficheros, chat DC++, NeoModus Direct Connect, SababaDC, BCDC++, RevConn de ect, fulDC, LDC++, CzDC, McDC++, DCD M++, DDC++, iDC++,IceDC++, Zion++, R 2++, rmDC++, LinuxDC++, LanDC++, Ap exDC++, StrongDC++ Intercambio ficheros aMule, eDonkey2000 (extinguido), eMule, eMule de Plus, FlashGet, iMesh, Jubster, lMule, ML Donkey, Morpheus, Pruna, Shareaza,xMu le FastTrack Intercambio ficheros giFT, Grokster, iMesh (y sus variantes como iMesh Light), Kazaa (y sus de variantes como Kazaa Lite), KCeasy, Mammoth,MLDonkey, Pois oned Freenet Almacenamiento distribuido GNUnet Intercambio ficheros, chat Direct Connect eDonkey Freenet, Entropy (red Freenet) de separada de GNUnet, (GNUnet-gtk) 21 SERVICIOS DE RED E INTERNET FTP BearShare, Cabos, FilesWire, FrostWire, Gnucleus, Grokster, gtkgnutella, iMesh, Kiwi de Alpha, LimeWire (extinguido), MLDonkey, Morpheus, MP3 Rocket, Poisoned, Shareaza, Swapper, X oloX, KCeasy Gnutella Intercambio ficheros Gnutella2 Intercambio ficheros JXTA Aplicaciones distribuidas Kad Intercambio ficheros de Napster Intercambio ficheros de OpenNap Intercambio ficheros de Osiris sps creación de portales Osiris (Serverless Portal System) web anónimos de Adagio, Gnucleus, Kiwi Alpha, MLDonkey, Morpheus, Shareaza, TrustyFiles Collanos Workplace (Software colaborativo), Sixearch aMule, eMule, MLDonkey Napigator, Napster WinMX, Utatane, XNap, Napster TVUPlayer, Joost, CoolStreaming, Cybers kyTV, TVants, PPLive, LiveStation,Sopcast P2PTV Streaming de video PDTP Streaming e intercam PDTP bio de ficheros Peercasting Streaming PeerCast, IceShare, FreeCast, Rawflow 22 SERVICIOS DE RED E INTERNET FTP Pichat Chat e intercambio Pichat, Pidgin, Moonchat, C4 de información RetroShare Intercambio de ficheros, charla, Instant Messenger, Grupos de noticias, darknet Usenet Grupos de noticias WPNP Intercambio ficheros Desarrollo WindowsPeer aplicaciones -to-Peer distribuidas, colaboración12 de de WinMX Incluido en el Advanced Networking Pack para Windows XP,13 Windows XP SP2, Windows Vista. Características Seis características deseables de las redes P2P: Escalabilidad. Las redes P2P tienen un alcance mundial con cientos de millones de usuarios potenciales. En general, lo deseable es que cuantos más nodos estén conectados a una red P2P, mejor será su funcionamiento. Así, cuando los nodos llegan y comparten sus propios recursos, los recursos totales del sistema aumentan. Esto es diferente en una arquitectura del modo servidor-cliente con un sistema fijo de servidores, en los cuales la adición de clientes podría significar una transferencia de datos más lenta para todos los usuarios. Algunos autores advierten que, si proliferan mucho este tipo de redes, cliente-servidor, podrían llegar a su fin, ya que a cada una de estas redes se conectarán muy pocos usuarios. 23 SERVICIOS DE RED E INTERNET FTP Robustez. La naturaleza distribuida de las redes peer-to-peer también incrementa la robustez en caso de haber fallos en la réplica excesiva de los datos hacia múltiples destinos, y —-en sistemasP2P puros—- permitiendo a los peers encontrar la información sin hacer peticiones a ningún servidor centralizado de indexado. En el último caso, no hay ningún punto singular de falla en el sistema. Descentralización. Estas redes por definición son descentralizadas y todos los nodos son iguales. No existen nodos con funciones especiales, y por tanto ningún nodo es imprescindible para el funcionamiento de la red. En realidad, algunas redes comúnmente llamadas P2P no cumplen esta característica, como Napster, eDonkey o BitTorrent. Distribución de costes entre los usuarios. Se comparten o donan recursos a cambio de recursos. Según la aplicación de la red, los recursos pueden ser archivos, ancho de banda, ciclos de proceso o almacenamiento de disco. Anonimato. Es deseable que en estas redes quede anónimo el autor de un contenido, el editor, el lector, el servidor que lo alberga y la petición para encontrarlo, siempre que así lo necesiten los usuarios. Muchas veces el derecho al anonimato y los derechos de autor son incompatibles entre sí, y la industria propone mecanismos como el DRM para limitar ambos. Seguridad. Es una de las características deseables de las redes P2P menos implementada. Los objetivos de un P2P seguro serían identificar y evitar los nodos maliciosos, evitar el contenido infectado, evitar el espionaje de las comunicaciones entre nodos, creación de grupos seguros de nodos dentro de la red, protección de los recursos de la red... La mayor parte de los nodos aún están bajo investigación, pero los mecanismos más prometedores son: cifrado multiclave, cajas de arena, gestión de derechos de autor (la industria define qué puede hacer el usuario; por ejemplo, la segunda vez que se oye la canción se apaga), reputación (permitir acceso sólo a los conocidos), comunicaciones seguras, comentarios sobre los ficheros, etc. Aplicaciones de las redes P2P En la actual Internet, el ancho de banda o las capacidades de almacenamiento y cómputo son recursos caros. En aquellas aplicaciones y servicios que requieran una enorme cantidad de recursos pueden usarse las redes P2P. Algunos ejemplos de aplicación de las redes P2P: Intercambio y búsqueda de ficheros. Quizás sea la aplicación más extendida de este tipo de redes. Algunos ejemplos son BitTorrent o la red eDonkey2000. Sistemas de ficheros distribuidos, como CFS o Freenet. Sistemas de telefonía por Internet, como Skype A partir del año 2006 cada vez más compañías europeas y americanas, como Warner Bros o la BBC, empezaron a ver el P2P como una alternativa 24 SERVICIOS DE RED E INTERNET FTP a la distribución convencional de películas y programas de televisión, ofreciendo parte de sus contenidos a través de tecnologías como la de BitTorrent. Cálculos científicos que procesen enormes bases de datos, como los bioinformáticos. Gráfico de un enjambre mostrando la distribución de los peers con sus respectivas trasmisiones y recepciones de datos dentro de un torrent en Azureus Las redes P2P pueden ser también usadas para hacer funcionar grandes sistemas software diseñados para realizar pruebas que identifiquen la presencia de posibles drogas. El primer sistema diseñado con tal propósito fue desarrollado en 2001, en el Centro Computacional para el Descubrimiento de Drogas (Centre for Computational Drug Discovery) en la prestigiosa Universidad de Oxford con la cooperación de la Fundación Nacional para la Investigación del Cáncer (National Foundation for Cancer Research) de Estados Unidos. Actualmente, existen varios sistemas software similares que se desarrollan bajo el auspicio de proyectos como el proyecto de Dispositivos Unidos en la Investigación del cáncer (United DevicesCancer Research Project). En una escala más pequeña, existen sistemas de administración autónoma para los biólogos computacionales, como el Chinook, que se unen para ejecutar y hacer comparaciones de datos bioinformáticos con los más de 25 diferentes servicios de análisis que ofrece. Uno de sus propósitos consiste en facilitar el intercambio de técnicas de análisis dentro de una comunidad local. Las instituciones académicas también han comenzado la experimentación con compartición de archivos, como es el caso de LionShare. 25