miércoles, diciembre 28, 2005

Traza de una conexión FTP

En el segundo ejercicio de la Seguridad Social, apartado tres, aparece el volcado del tráfico de un segmento de red. El volcado tiene tres partes. Las líneas 1 a 59 se corresponden con una conexión FTP, las 40 a 55 se corresponden con un control de flujo, y las últimas dos líneas, 56 y 57 son una conexión ICMP.
En esta primera anotación nos vamos a fijar en la conexión FTP. FTP o Protocolo de transferencia de ficheros es un protocolo de aplicación (nivel 7 OSI, nivel 4 en TCP/IP) utilizado frecuentemente para transmitir ficheros entre dos ordenadores. Funciona exclusivamente sobre TCP, y utiliza los puertos 20 y 21. En FTP intervienen dos conexiones. La primera, o de control, se establece cuando el servidor recibe una conexión entrante por el puerto 21. La segunda, de datos, puede establecerse en el puerto 20 si el modo de transferencia es activo, en cuyo caso es el cliente el que escucha.
En el ejemplo concreto, la conexión de control aparece con la indicación FTP (líneas 1-21, 25 y 31-39) y la de datos con la indicación FTP-DATA(22-24 y 26-30). Como podemos ver el procolo comienza con la identificación del usuario (línea 6 usuario, línea 10 contraseña), continúa con el cambio de directorio (línea 13). A continuación se establece el modo de transferencia (dependiendo de si el fichero es sólo texto, modo ASCII, o fichero general, modo binario, en nuestro caso ASCII línea 16), el puerto de datos (línea 19), y se pide el fichero que se va a transferir(línea 21). La transmisión se lleva a cabo en el puerto de datos, y por último, se termina la conexión (línea 34).
En el ejercicio, se nos hacen dos preguntas dentro del primer apartado. La primera pregunta es sobre FTP-DATA y su diferencia con FTP. Si quisiéramos más detalles sobre esa diferencia, la entrada en Wikipedia es una buena referencia.
En la segunda pregunta se nos interroga sobre la seguridad de la transmisión del fichero. En principio hay que responder que no. Como vemos, el usuario y la contraseña se transmiten en claro, con lo que cualquier ordenador situado en el mismo segmento lógico de red, podría tener acceso a dichos datos. Además, el usuario de nombre root es un usuario con muchos privilegios en las máquinas UNIX, por lo que el problema es mayor que el de utilizar un usuario específico para la transmisión.
Respecto a la forma de securizar el intercambio, depende de otras muchas consideraciones, pero en principio las alternativas podrían ser scp (copy sobre SSH, o utilizar una subida de fichero ("File Upload") a un servidor web que tenga SSL por medio del protocolo https.
Una última consideración a realizar es que la seguridad absoluta no existe. Si gis70 y gis34 estuvieran aislados del resto de la red, es seguro utilizar este sistema aunque la transmisión sea en claro.

No hay comentarios: