Sie sind auf Seite 1von 13

Practica 11 Valeiny encarnacion 2008 4361 SERVIDOR FTP

FTP (File Transfer Protocol, Protocolo de Transferencia de Archivos) es un protocolo de red que permite transferir archivos de forma rpida y sencilla entre ordenadores. Se utiliza para compartir archivos y directorios, pudiendo establecer autentificacin de usuarios (con nombre y contrasea) y permisos sobre los elementos compartidos. Los servidores FTP se usan principalmente para tres cosas: 1. subir las pginas web al hosting. 2. como servidor de archivos de libre acceso (denominado FTP annimo). Los FTP annimos son servidores FTP a los que puede conectarse cualquiera empleando como usuario anonymous y como password cualquier direccin de correo (servir cualquier secuencia de caracteres que incluya "@"). 3. hacer backup (copia de seguridad). Este protocolo se implementa con arquitectura cliente-servidor, por lo que necesita:

un servidor FTP que se est ejecutando en la mquina remota, y que por defecto, estar escuchando en los puertos 20 y 21 TCP (el puerto 20 se utiliza para la transmisin de datos y el puerto 21 para los comandos de control). un cliente FTP para conectarnos al servidor.

Un problema del protocolo FTP es que no cifra los datos, por lo que es vulnerable a la captura de la informacin transmitida, especialmente las contraseas de acceso. Si necesitamos conexiones FTP seguras disponemos de servidores FTP encriptados, como SFTP (FTP sobre SSH) o FTPS (FTP sobre SSL). vsftpd es un servidor ftp para Linux sencillo de instalar y configurar. Es el recomendado por Debian y Ubuntu, tiene una configuracin muy sencilla en un solo fichero y es bastante ligero y seguro Para instalar ftp mediante la consola, entramos a la consola: propiedades-accesorios-terminal. Luego agregamos el siguiente comando: # sudo apt-get install vsftpd.

Nota: Tambin puedes instalar el servidor mediante el gestor de paquetes Synaptic. Al instalar vsftpd en el sistema se crean los siguientes archivos y directorios en el sistema: /etc/init.d/vsftpd: fichero que inicia el servidor ftp. /usr/bin/vsftpd: archivo ejectable. /etc/vsftpd.conf: es el fichero de configuracin del servidor. /etc/ftpusers: fichero que contiene una lista de usuarios que no se podrn conectar al servidor.

Configuracin
Luego que ya lo tenemos instalado vamos a proceder a configurar nuestro servidor, aplicando las reglas al archivo vsftpd.conf Las directivas ms importantes de este fichero son las siguientes: anonymous_enable

Si el valor de esta directiva es YES cualquier usuario se puede conectar al servidor dando el nombre de usuario anonymous. Yo normalmente utilizo la configuracin (anonymous_enable=NO), por razones de seguridad. local_enableok

Aqu indicaremos si se permite o no el acceso de usuarios locales a sus respectivas carpetas privadas. Si lo deseamos permitir (local_enable=YES), si no deseamos habilitar esta regla (local_enable=NO). Yo normalmente lo permito. chroot_local_user

Con esta directiva enjaulamos a los usuarios dentro de su propio directorio personal. Si en el fichero de configuracin aparece (chroot_local_user=NO), entonces el usuario tiene acceso a todo el sistema de archivos, en funcin de los permisos asignados. Cuando un usuario local se conecta y en el fichero de configuracin aparece (chroot_local_user=YES), entonces enjaulamos a los usuarios dentro de su propio directorio personal, sin posibilidad de acceder a las dems carpetas y archivos del sistema. Por medidas de seguridad yo utilizo la ltima regla. write_enable

Aqu permitimos o denegamos subir archivos al servidor. Si lo vamos a autorizar, entonces configuramos (write_enable=YES). Normalmente yo utilizo esta directiva, de este modo. local_umask

Indica que los archivos subidos al servidor quedarn con los permisos 644, es decir, lectura y escritura para el propietario del fichero, y slo lectura para el grupo y los dems. Bueno, aqu tu debes ver, cual es lo ms indicado para tu propsito. Yo utilizo (local_umask=YES). anon_upload_enable

Con ello, le indicamos al servidor si los usuarios annimos pueden cargar archivos en el servidor. (anon_upload_enable=YES) permite que los usuarios annimos puedan subir ficheros. Yo utilizo la configuracin NO, aunque tampoco autorizo usuarios annimos. anon_mkdir_write_enable

Con esta configuracin permitimos o no la creacin de directorios. Para mis propsitos yo utilizo (anon_mkdir_write_enable=YES). ftpd_banner

Con ello podemos mostrar un mensaje de bienvenida cuando un usuario se conecte al servidor FTP. (ftpd_banner=?Bienvenido a mi servidor FTP?). Bueno, aqu solo es cosa de gustos, ya que no es tan trascendente. anon_max_rate

Se utiliza para limitar la tasa de transferencia a usuarios annimos. En el siguiente ejemplo se limita la tasa de transferencia a los usuarios annimos a 10Kb/s: (anon_max_rate=1024). Bueno, insisto yo no autorizo usuarios annimos. local_max_rate

Aqu limitamos la tasa de transferencia en bytes por segundo a los usuarios locales del servidor. En el siguiente ejemplo se limita la tasa de transferencia a 10Kb/s: (local_max_rate=1024). Tampoco uso esta configuracin. max_clients

Aqu configuramos el mximo de clientes que podrn conectarse simultneamente al servidor. Por ejemplo, para limitar a solo cinco clientes hacemos lo siguiente: (max_clients=5). Bueno ello depende de cada uno. El servidor ahora mismo est en marcha y podemos interactuar con l yendo al directorio /etc/init.d (mediante la consola obviamente) y escribiendo: /etc/init.d$ sudo ./vsftpd stop para parar el servidor

/etc/init.d$ sudo ./vsftpd start para poner en marcha el servidor /etc/init.d$ sudo ./vsftpd restart para reiniciar el servidor

El fichero /etc/vsftpd.chroot_list El fichero vsftpd.chroot_list va a contener el nombre del usuario que vamos a crear a continuacin, para que cualquiera pueda conectarse a ese servidor, pero slo teniendo acceso a el directorio de ftp. Creamos el usuario mediante el siguiente comando: # useradd amigo Y ahora vamos a aadir este nombre al fichero; lo podemos hacer habriendo el fichero mediante cualquier editor o mediante el siguiente comando: # Echo amigo >> /etc/vsftpd.chroot_list

Y ahora ya podramos decir que nuestro servidor ftp est totalmente configurado.

Conectando al servidor FTP


Si ahora abrimos una conexin, ya sea desde otro pc de la red o bien desde el mismo equipo, podremos ver que ya funciona conectando como usuario annimo (anonymous) y veramos el contenido del directorio /home/ftp slo con acceso de lectura.

Parametrizando el servidor y creando usuarios


Para poder establecer usuarios y permisos vamos a modificar el fichero de configuracin de vsftp. Para ello desde el terminal escribimos: $ sudo gedit /etc/vsftpd.conf Esto nos abrir el editor de texto de gnome gedit y vamos a proceder a cambiar unas cuantas lneas.

Cambiamos la lnea anonymous_enable=YES por anonymous_enable=NO para as evitar que puedan entrar usuarios annimos. Tambin quitaremos el comentario (suprimir la almohadilla) de las lneas:

#write_enable=YES #local_enable=YES #local_umask=022

write_enable=YES nos permite poder acceder en modo escritura, si al usuario que se conecta le damos los permisos correspondientes, claro. local_enable=YES activa la opcin de permitir que se conecten a nuestro servidor de ftp mediante usuarios propios del sistema. local_umask=022 establece los permisos del archivo que el usuario suba a nuestro servidor a 755 (permiso total al propietario y lectura/ejecucin a los dems usuarios).

Configuramos el fichero de configuracin de ftp Sudo gedit /etc/vsftpd.conf Aqu no cambiamos muchas cosas del sistema de configuracin para montar mi servidor cambie estos parmetros: Write_enable=yes Local_enable=yes Anonymous_enable=no Ftpd_banner (Aqui pondremos el mensaje de bienvenida)

Crearemos un grupo nuevo a quien la carpeta ftp le pertenecer. (Creare un grupo llamado usuario-ftp)

Cliente
Para conectarnos a nuestro ftp mediante una consola, nicamente devemos introducir el siguiente comando: $ ftp <dir_ip_servidor_ftp> Posteriormente te pedir usuario y password; y ya tendrs acceso al servidor que anteriormente hemos configurado. Para subir archivos que tengamos almacenados en nuestro disco duro local hacia el directorio donde nos encontremos en el servidor ftp ejecutaremos la orden put /ruta/del/archivo.txt --Para descargarnos archivos desde el servidor hacia el cliente get /ruta/del/archivo.txt --Tambin podemos usar los comandos tpicos de Linux para entrar a directorios, listar, permisos, etc Servidor ftp (en este caso el proFTPd). 1) Creamos el usuario Cdigo: ~$ su Ponemos la contrasea del root # useradd nombre_de_usuario_que_elijamos # passwd nombre_de_usuario_que_elegimos 2) Creamos el directorio donde pondremos los archivos que luego sern vistos desde el navegador o desde cualquier otro programa

Cdigo: # mkdir /home/un_directorio

3) Le damos los permisos correspondientes (en este caso de lectura, escritura y ejecucion) Cdigo: # chmod 777 /home/un_directorio

4) Instalamos el daemon # apt-get install proftpd

5) Configurando proFTPd Bueno para esto tenemos que editar el archivo proftpd.conf que se encuentra en el directorio /etc/proftpd.conf

6) Reiniciamos el servicios # /etc/init.d/proftpd restart 7) Y por ltimo probamos si funciona, asi que abrimos nuestro navegador y tecleamos

ftp://usuario_que_creamos:contrasea@direccion_ip:21 PD: En caso de tener un router tenemos que abrir los puertos 21 y 22. Y tambin permitir el acceso en caso de tener algn firewall.

Y luego de poner el usuario y la pass nos permitir entrar a los archivos:

CREAR UN SCRIPT QUE ME PERMITA ENVIAR SUBIR UN BACKUP AL SERVIDOR FTP. #! /bin/bash echo " Que fichero desea hacerle el backup indique la ruta" read A echo "Perfecto" echo "ahora indique el servidor del ftp osea la ip"

Das könnte Ihnen auch gefallen