Vous êtes sur la page 1sur 5

Mara Jess Garca Ontanaya- ASIR2 Maana

Pgina 1 de 5

Instalacin y Configuracin de un Servidor FTP en GNU/Linux


1) En tu Mquina virtual Linux, configura el adaptador de red en modo Puente. 2) Elimina la direccin IP de la configuracin TCP/IP de tu equipo anfitrin con WinXP. Esta direccin se utilizar en la mquina virtual. 3) Configura el adaptador de red con direccin IP fija. Utiliza la que tiene tu mquina real con WinXP.

Estos tres puntos ya los explicamos en prcticas anteriores


4) Asegrate de que el servicio DHCP est detenido.

Hay que teclear en un terminal el comando sudo service bind9 status. Si aparece como running, hay que escribir el mismo script, slo que cambiando por stop.
5) Se ha elegido el software VSFTPD. Descarga e instala el paquete en tu Ubuntu mediante APT. Para ello debes tener acceso a Internet (repositorios), y debes tener configurado un DNS preferido: el tuyo (bind) si lo tienes arrancado; en caso de no tenerlo, indica el del proxy o alguno de Internet (Google, Terra, etc.). Anota las acciones y comandos empleados.

Al tener que poner la direccin IP del proxy del aula con el fin de poder tener acceso a Internet y as poner descargar e instalar el paquete vsftpd, el bind9 debe estar parado. Podemos descargar desde el gestor de paquete synaptic o bien actualizando los repositorios y descargndolo desde la consola con los siguientes comandos: Sudo apt-get update (actualiza los repositorios) sudo apt-get install vsftpd Se instalarn los siguientes paquetes NUEVOS: Vsftpd Con esto: a. Instalaremos y configuraremos el servicio, b. se creara el directorio que utiliza el software para guardar los archivos y directorios a descargar (/srv/ftp) (en este caso ya exista, con lo cual no hara nada) c. crea el usuario no normal ftp y el grupo ftp (se puede ver en /etc/shadow y /etc/group) y aade el primero al segundo d. Arranca el servicio una vez se instala de forma automtica. Se puede ver porque la ltima lnea sale: vsftpd start/running, process 2231
6) Una vez instalado, comprueba que est iniciado. Simplemente abre sesin con el servidor FTP instalado en tu equipo. Cmo lo has hecho?

Escribimos en el terminal ps -ef | grep vsftpd Si aparece algo como esto, es que est iniciado. root 2231 1 0 12:39 ? 00:00:00 /usr/sbin/vsftpd usuario 2470 1787 0 12:47 pts/0 00:00:00 grep --color=auto vsftpd Si no es as, habra que iniciarlo con sudo service vsftpd start (Nota: cada vez que necesitemos modificar el estado del servidor, basta con escribir lo mismo, slo que al final escribir stop|restart|reload o status)

Mara Jess Garca Ontanaya- ASIR2 Maana

Pgina 2 de 5

Tambin hay que saber si est escuchando el puerto 21. Para eso tecleamos: netstat -ltun Conexiones activas de Internet (solo servidores) Proto Recib Enviad Direccin local Direccin remota Estado tcp 0 0 0.0.0.0:10000 0.0.0.0:* ESCUCHAR tcp 0 0 0.0.0.0:80 0.0.0.0:* ESCUCHAR tcp 0 0 10.10.0.13:53 0.0.0.0:* ESCUCHAR tcp 0 0 127.0.0.1:53 0.0.0.0:* ESCUCHAR tcp 0 0 0.0.0.0:21 0.0.0.0:* ESCUCHAR tcp 0 0 127.0.0.1:631 0.0.0.0:* ESCUCHAR tcp 0 0 127.0.0.1:953 0.0.0.0:* ESCUCHAR tcp6 0 0 :::53 :::* ESCUCHAR tcp6 0 0 ::1:631 :::* ESCUCHAR tcp6 0 0 ::1:953 :::* ESCUCHAR udp 0 0 0.0.0.0:39133 0.0.0.0:* udp 0 0 0.0.0.0:5353 0.0.0.0:* udp 0 0 0.0.0.0:10000 0.0.0.0:* udp 0 0 10.10.0.13:53 0.0.0.0:* udp 0 0 127.0.0.1:53 0.0.0.0:* udp6 0 0 :::5353 :::* udp6 0 0 :::53 :::* udp6 0 0 :::32855 :::*

7) Coloca algunos ficheros en el directorio accesible por cualquier usuario mediante FTP. Cul es ese directorio? Qu ficheros has colocado?

usuario@pc-ubuntu:~$ ftp ftp> open 10.10.0.13 o localhost Connected to 10.10.0.13. 220 Hola, este es mi servidor FTP. Name (10.10.0.13:usuario): anonymous 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> dir 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw-r--r-- 1 0 0 73 Jan 12 14:13 ejercicio1 -rw-r--r-- 1 0 0 381 Jan 12 14:13 ejercicio2 226 Directory send OK.

Directorio para guardar los archivos y directorios a descargar (/srv/ftp). Para listarlo, escribimos dir o ls

8) Abre sesin con el servidor FTP. Qu usuario y clave has empleado?

Hemos utilizado como usuario anonymous , sin contrasea (pulsar Intro)


9) Prueba a descargar un fichero de tu servidor FTP desde tu equipo Ubuntu y desde un equipo del compaero. Hazlo primero con comandos y luego con algn programa grfico. Anota los comandos y acciones que has realizado

El comando es get <archivo_a_descargar>

Mara Jess Garca Ontanaya- ASIR2 Maana

Pgina 3 de 5

12)

Escribe el comando que utilizaras para enviar la seal SIGTERM al proceso anterior. Si no responde cmo lo pararas definitivamente?.

Escribiramos Kill PID o bien con el script ya mencionado.


13) Detn el servicio FTP por el procedimiento normal. Escribe el comando utilizado. 14) Configuracin del servidor FTP. Cul es el fichero de configuracin de vsftpd?

Es el fichero /etc/vsftpd.conf
15) Haz una copia del fichero de configuracin original antes de modificarlo. Cmo lo has hecho?

Hay que hacer una copia con sudo cp /etc/vsftpd.conf vsftpd.conf-ori


16) Prueba a subir un fichero al servidor. Has podido? Indica cmo lo has probado.

No se puede, puesto que no se han creado usuarios. Como anonymous NO SE DEBERA PODER SUBIR NINGN FICHERO NI CREAR CARPETAS
17) Configura el servidor para que cualquiera pueda subir ficheros al directorio subidas/. Primero debes crear dicho directorio y establecer los permisos correspondientes. Qu acciones has realizado?

Pasamos al modo root con sudo su. cd /srv/ftp mkdir subidas y despus asignaremos los permisos mediante estos comandos: chmod 755 subidas/ chown root:root subidas/
18) Prueba a subir un fichero al servidor dentro del directorio subidas/. Has podido? Indica cmo lo has subido.

Tendramos que haber escrito put <nombre_de_archivo>, pero ha sido errneo (no tiene permisos)
19) Intenta crear un directorio con tu nombre dentro de subidas/. Has podido?

Escribiramos mkdir <de carpeta>, pero ha sido errneo (no tiene permisos)
20) En caso de no haber podido crear el directorio, configura el servidor para que cualquiera pueda crear directorios dentro de subidas/ y subir ficheros dentro.

Editamos la configuracin que haremos del archivo vsftpd.conf. Cada parmetro est comentado, y los que estn en rojo son los que se han modificado. Configuracin para usuarios Annimos
# Anonymus FTP user Settings # # Permitir conexiones annimas. anonymous_enable=no # Directorio raz para los usuarios annimos. Carpeta creada # en /srv/ftp/ como se coment anteriormente. #anon_root=subidas # Solo permite descargar a los usuarios annimos aquellos archivos # que tengan permisos de lectura. anon_world_readable_only=YES # Con la siguiente directiva , los # usuarios annimos no tienen permisos para subir archivos # al servidor. anon_upload_enable=NO # Esta directiva impide a los usuarios annimos crear carpetas # en ciertos casos. anon_mkdir_write_enable=NO

Mara Jess Garca Ontanaya- ASIR2 Maana

Pgina 4 de 5

Configuraciones Generales
#!/bin/bash # Ejemplo del archivo de configuracin /etc/vsftpd.conf # General Settings # # Permite el modo escritura. write_enable=YES # Activa mensajes de directorio. dirmessage_enable=YES # Mensaje de bienvenida ftpd_banner=Bienvenido al servidor ftp de MJ

Configuracin para usuarios Locales


# Local FTP user Settings # # Permite que usuarios locales puedan conectarse. local_enable=YES # Enjaula a los usuarios locales dentro de su propio directorio # personal, esta opcin mejora la seguridad. chroot_local_user=YES # Permite especificar una lista con los usuarios locales a los cuales # no se les enjaular cuando la opcin chroot_local_user = YES. chroot_list_enable=YES # Especifica la ruta en donde se encuentra la lista, en mi caso he # creado una carpeta en el directorio /etc llamada vsftpd, en la # cual coloqu el archivo de texto (vsftpd.chroot_list) que # contiene la lista. chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

Configuracin de logs
# Log Settings # # Activa la generacin de registros logs por cada # uploads/downloads. xferlog_enable=YES # Define cual ser el archivo log. vsftpd_log_file=/var/log/vsftpd.log # Si esta directiva no se encuentra comentada activa el registro # (log) de todas las peticiones/respuestas del servidor. log_ftp_protocol=YES

Configuraciones relacionadas a Transferencias


# Transfer Settings # # (ftp-data). connect_from_port_20=YES # Tiempo de espera para mantener establecidas conexiones # inactivas. idle_session_timeout=600 # Tiempo de espera para mantener establecidas conexiones # de datos inactivas. data_connection_timeout=120 # Comando que permite activar/desactivar conexiones # pasivas. pasv_enable=YES # PAM setting. Suele estar configurado por defecto. pam_service_name=vsftpd # Configura listen=YES para que vsftpd corra en modo # standalone. listen=YES

Mara Jess Garca Ontanaya- ASIR2 Maana

Pgina 5 de 5

# Mximos clientes simultneos conectados. Ejemplo: max_clients=3 # Mximas conexiones simultneas por IP. Ejemplo: max_per_ip=1

Con esto responderamos a los requisitos deseados para nuestro servidor FTP. Si los usuarios son enjaulados, significa que su radio de accin se restringe a su directorio home, que qued determinado cuando se creo cada uno de ellos. Slo admite una nica conexin por IP (O sea, que no se pueden abrir dos sesiones en una misma mquina), el mximo de usuarios puede ser 3 (al resto los desconecta).