Está en la página 1de 5

SERVICIO FTP FTP (File Transfer Protocol o Protocolo de Transferencia de Archivos) es un protocolo que permite la transferencia de archivos entre

dos computadores. Actualmente el servicio FTP est definido en el RFC959, pero tambin tiene relacin los siguientes: RFC-1123 Requerimientos para Host RFC-1579 Cortafuegos en FTP RFC-1635 Como usar FTP annimo RFC-2151 Herramientas TCP/IP RFC-2228 Extensiones de seguridad para FTP RFC-2389 Caractersticas en los mecanismos de negociacin en FTP RFC-2428 Extensiones para IPv6 y NAT RFC-2585 X.509 para FTP y HTTP RFC-2640 Internacionalizacin del FTP Como se basa en la arquitectura Cliente/Servidor, es neceasrio el uso de dos programas: Un cliente FTP que se encarga de la conexin, y de descargar o subir archivos al servidor. Algunos ejemplos de cliente son: Filezilla, CuteFTP, Ipsitch WS_FTP, SmartFTP, AceFTP, NICO FTP, el comando FTP de la consola... Un servidor ejecuta las peticiones de los clientes FTP. Algunos ejemplos de servidor son: Filezilla Server, Cerverus FTP Server, VSFTPD, PROFTPD, GFTP, FireFTP (Integrado con firefox) El cliente establece la conexin con el servidor a travs del puerto 21 para el canal de control, y el servidor crea el canal de datos en el puerto 20. El trfico entre el cliente y el servidor no est codificado, as que cualquier hacker utilizando un sniffer podr capturar el nombre de usuario y clave utilizada. Para evitarlo existen aplicaciones como scp y sftp. Cuando un cliente quiere conectarse a un servidor FTP necesita los siguientes datos: Nombre del servidor. Es la IP o nombre del servidor FTP Puerto. Nmero del puerto del servidor. Por defecto es 21. Cuenta de usuario. Nombre de la cuenta de usuario. Hay sitios que permiten la conexin annima utilizando el nombre de usuario anonymous. Clave de acceso. Contrasea. En la siguiente tabla se muestra un listado de los comandos FTP: Comando Funcin open servidor Inicia una conexin con el servidor FTP close o disconnect Finaliza una conexin FTP sin cerrar el programa cliente. bye o quit Finaliza una conexin FTP y sale del programa cliente cd directorio Cambia el directorio de trabajo en el servidor delete archivo Borra un archivo en el servidor dir Muestra el contenido del directorio del servidor get archivo Obtiene un archivo mget archivos Obtiene mltiples archivos hash Activa la impresin de caracteres # a medida que se transfieren archivos. De esta forma se sabe que existe transferencia de datos, y por lo tanto que no est colgada

kd directorio ls promps put archivo mput archivos pwd rename archivo rmdir directorio status bin o binary ascii ! ? o help mkdir user

la mquina. Cambia el directorio de trabajo local Muestra el contenido del directorio del servidor Activa/desactiva la confirmacin por parte del usuario de la ejecucin de comandos. Enva un archivo al directorio activo del servidor Enva mltiples archivos Muestra el directorio activo en el servidor Cambia el nombre de un archivo en el servidor Elimina un directorio en el servidor si ese directorio esta vacio Muestra el estado actual de la conexin Activa el modo de transferencia binario, necesario para datos en general. Activa el modo de transferencia en modo texto ascii Permite salir a lnea de comandos temporalmente sin cortar la conexin. Para volver, teclear exit en la lnea de comandos Muestra una lista de los comandos disponibles Crea el directorio indicado de forma remota Permite cambiar el nombre de usuario sin necesidad de salir de la sesin ftp.

El objetivo de esta prctica es poner en funcionamiento el servidor PROFTPD, del cual existe una gran documentacin, y disponible de la pgina web oficial en http://www.proftpd.org. 1. Para su instalacin se debe escribir en la consola apt-get install proftpd, y para poner en funcionamiento el servicio /etc/init.d/proftpd start. Para comprobar que funciona tan slo es necesario conectarse con un cliente como por ejemplo escribiendo en una terminal: ftp localhost, o con la aplicacin konqueror o cualquier otro, a la direccin ftp://localhost. Se recomienda no utilizar mozilla o cualquier otro navegador de internet. Qu directorio es el que se muestra por defecto? Como se ha podido observar hay que introducir el nombre de una cuenta vlida en el sistema con su password, y se puede navegar a travs del rbol de directorios de la misma forma que en una terminal. Razona si esto es un problema de seguridad. 2. Crea un usuario denominado usuario_ftp que no pueda iniciar sesin, y un directorio denominado publico dentro del directorio /home, estableciendo su propietario a usuario_ftp.

# mkdir /home/publico # useradd usuario_ftp p su_password d /home/publico s /bin/false # passwd usuario_ftp 3. Dentro de la carpeta creada en el paso anterior crea los directorios denominados DownLoad con permiso de slo lectura, y UpLoad con permiso de escritura, posteriormente graba un archivo cualquiera en la carpeta DownLoad para que los usuarios se conecten va ftp puedan bajrselo. Explica que permisos y a quien (propietario, grupo, todos) se estn concediendo, para ello puedes utilizar el comando ls la. mkdir /home/publico/DownLoad mkdir /home/publico/UpLoad chmod 755 /home/publico chmod 555 /home/publico/DownLoad chmod 333 /home/publico/UpLoad 4. Edita el archivo de configuracin que se muestra en /etc/proftpd/proftpd.conf para incluir la lnea siguiente. DefaultRoot /home/publico 5. Introduce en el fichero de configuracin las lneas: <Limit LOGIN> AllowUser usuario_ftp DenyALL </Limit> Reinicia el servicio tras cada cambio que hagas. Accede de nuevo a la direccin ftp://localhost. Puedes acceder con el usuario que habas entrado anteriormente? Puede acceder el usuario usuario_ftp? razona tu respuesta. Qu directorio es e l que se muestra por defecto? Puedes navegar a travs del sistema de ficheros de la misma forma que has hecho en el primer paso. 6. En la paso 3 se establecieron los permisos a tres carpetas. Puede usuario_ftp escribir en la carpeta UpLoad? Prueba grabar un documento cualquiera en dicha carpeta. Comenta lo que sucede. Puede usuario_ftp escribir en la carpeta DownLoad? Prueba a grabar un documento cualquiera en dicha carpeta. Comenta lo que sucede. 7. Modifica los permisos de las carpetas UpLoad y DownLoad a 777. En las siguientes lneas se establecen los permisos que van a manejar el servidor Proftpd para la carpeta publico, DownLoad y UpLoad. Escribe estas lneas en el archivo de configuracin. <Directory /home/publico> Umask 022 022

AllowOverwrite off <Limit MKD STOR DELE XMKD RNRF RNTO RMD XFMD> DenyAll </Limit> </Directory> . . . <Directory /home/publico/Download/*> Umask 022 022 AllowOverwrite off <Limit MKD STOR DELE XMKD RNEF RNTO RMD XRMD> DenyAll </Limit> </Directory> . . . Intenta grabar un archivo en cada una de las carpetas anteriores. Se puede? Intenta borrar los archivos de cada una de las carpetas. Se puede?. En el bloque de lneas de configuracin anterior, se puede observar la directiva AllowOverwrite off. Qu crees que significa? . . . <Directory /home/publico/UpLoad> Umask 022 022 AllowOverwrite on <Limit READ RMD DELE> Deny All </Limit> <Limit STOR CWD MKD> AllowAll </Limit> </Directory> En las directivas anteriores se observa dos etiquetas <Limit>. Intuitivamente intenta explicar qu significa cada una. 8. En los apartados anteriores era necesario disponer de una cuenta en el sistema para acceder al sitio ftp, sin embargo, es comn encontrar en Internet direcciones donde no es necesario autenticarse. En este apartado vamos a crear un acceso annimo. Para ello copia las lneas que se muestran a continuacin, en el archivo de configuracin, y prueba que funcione utilizando como login anonymous. <Anonymous /home/public> User ftp Group nogroup

UserAlias RequireValidShell <LIMIT LOGIN> AllowAll </LIMIT> MaxClients DisplayLogin DisplayFirstChdir

anonymous ftp off

10 welcome.msg .message

<Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous> 9. Accede a los sitios ftp creados por otros compaeros. Deja archivos en sus carpetas Download y coge documentos de sus carpetas UpLoad. Intenta descubrir algn agujero de seguridad en su sitio FTP. 10. Instala la aplicacin gproftpd, la cual proporciona una interfaz grfica para la administracin del servicio FTP e realiza todas las prcticas hechas anteriormente de forma grfica.