1. FTP. PRÁCTICA 2. Instalación y configuración de un
servidor FTP en Ubuntu mediante vsftpd.
Sergio Santos
Sergio Morón
2. Índice
• Práctica 2.1: Instalación de vsftpd y prueba de funcionamiento.
• Práctica 2.2: Configurar parámetros generales del servidor
• Práctica 2.3: Configurar parámetros para los usuarios locales
• Práctica 2.4: Acceso al servicio a usuarios anónimos
• Práctica 2.5: Acceso seguro al servicio mediante SSL y cliente FileZilla
3. Práctica 2.1: Instalación de vsftpd y
prueba de funcionamiento
• En este manual vamos a mostrar la instalación y al configuración del
protocolo FTP en Ubuntu, gracias al demonio vsftpd, para tener sitios
FTP en nuestro servidor
• Para instalar el demonio vsftpd usamos el comando apt-get install vsftpd
4. Práctica 2.1: Instalación de vsftpd y
prueba de funcionamiento
• Comprobamos que se ha instalado correctamente el servicio FTP
introduciendo en un navegador ftp://localhost o desde la terminal con
el comando ftp seguido de la dirección IP del sitio FTP.
5. Práctica 2.1: Instalación de vsftpd y
prueba de funcionamiento
• Para la configuración del demonio • El comando man vsftpd nos
vsftpd hay que configurar el archivo muestra un manual de ayuda del
vsftpd.conf que se encuentra en el fichero de configuración vsftpd.conf
directorio /etc
6. Práctica 2.1: Instalación de vsftpd y
prueba de funcionamiento
• ¿Se permite la escritura en el sitio FTP?
Por defecto viene comentado (#) el apartado de escritura write_enable, por lo que
no se permite.
• ¿Se permite el acceso a usuarios anónimos?
¿Y a los usuarios locales del sistema?
A los usuarios anónimos (anonymous_enable)
no se le permite el acceso, mientras que a los usuarios locales si (local_enable).
¿Pueden los usuarios locales acceder a directorios distintos de su directorio propio del sistema?
El apartado chroot_list_enable por
defecto si se les autoriza, pero al estar
comentado no pueden acceder.
7. Práctica 2.1: Instalación de vsftpd y
prueba de funcionamiento
• ¿Se puede ejecutar el demonio vsftpd de forma autónoma, o depende del demonio inetd?
Se puede ejecutar de forma
autónoma ya que el apartado
listen_ipv6 está comentado.
• ¿Puede un usuario anónimo subir archivos?
¿Y crear directorios en el servidor?
No puede debido a que la
configuración de los usuarios
anónimos está comentada.
8. Práctica 2.1: Instalación de vsftpd y
prueba de funcionamiento
• ¿Qué puerto se ha habilitado para la transferencia
de información?
El puerto por defecto es el 20 que
permite la transferencia de datos.
• ¿Dónde se encuentra el registro de actividad del
servidor ftp (log)?
El registro vsftpd.log del servidor FTP
se encuentra en el directorio /var/log
• ¿Cuál es el mensaje de bienvenida del servidor?
El mensaje se especifica en ftpd_banner
9. Práctica 2.1: Instalación de vsftpd y
prueba de funcionamiento
• ¿Cuál es el tiempo máximo que puede estar un usuario
inactivo conectado al servidor?
El tiempo máximo se especifica en
idle_session_timeout y se expresa en segundos.
• ¿Qué tiempo máximo puede durar una conexión de datos?
El tiempo máximo que puede
durar una conexión de datos
se especifica en data_connection_timeout.
10. Práctica 2.2: Configurar parámetros
generales del servidor
• Procedemos a la edición del fichero de configuración vsftpd.conf del
servidor FTP.
• Cada vez que hagamos un cambio, tenemos que realizar el comando
service vsftpd restart para guardar la configuración.
• Podemos introducir un mensaje de bienvenida, en el apartado
ftpd_banner, para que les aparezca a los usuarios cuando accedan a
nuestro sitio FTP.
11. Práctica 2.2: Configurar parámetros
generales del servidor
• En el apartado local_enable podemos especificar si queremos que los
usuarios accedan al sitio FTP, y en el apartado anonymous_enable si
acceden los usuarios anónimos.
• Para que puedan acceder al sitio FTP introduciremos YES, en cambio si
denegamos el acceso introducimos NO. En nuestro caso, los anónimos
no podrán acceder al sitio FTP.
12. Práctica 2.2: Configurar parámetros
generales del servidor
• En el aparatado idle_session_timeout • En el apartado
especificamos en segundos la limitación data_connection_timeout se específica
del tiempo en el sitio FTP de los usuarios el tiempo máximo de transferencia y se
que estén en inactividad ese periodo de expresa en segundos. Si deseamos
tiempo. cambiarlo a 5 minutos tendremos que
poner el valor de 300 segundos.
• De este ejemplo, una vez pase 1 minuto y
el usuario estuviese inactivo, no podrá
realizar ninguna operación hasta que
cierre sesión y vuelva acceder al sitio.
13. Práctica 2.2: Configurar parámetros
generales del servidor
• El apartado write_enable si ponemos YES permitimos la escritura en el
sitio FTP.
• Indicamos sesión en el sitio FTP y utilizamos el comando mkdir para crear
un directorio.
• Comprobamos que se ha creado el directorio con el comando dir.
14. Práctica 2.3: Configurar parámetros
para los usuarios locales
• A continuación, vamos a configurar nuestro sitio FTP para que sólo
accedan usuarios locales.
• Creamos usuarios con el comando adduser para empezar la
configuración.
15. Práctica 2.3: Configurar parámetros
para los usuarios locales
• En el archivo vsftpd.conf de configuración del servicio FTP, en el apartado
local_user lo ponemos a YES para permitir el acceso a los usuarios locales.
• Para que los usuarios locales sólo tengan acceso a sus directorios propios se
especifica en chroot_local_user.
• Y permitimos que puedan subir archivos al servidor en write_enable.
16. Práctica 2.3: Configurar parámetros
para los usuarios locales
• Comprobamos que los usuario pueden acceder al sitio FTP desde el
navegador introduciendo la URL ftp:// seguido de la dirección IP o
desde la consola de comandos con el comando ftp y la dirección IP.
17. Práctica 2.3: Configurar parámetros
para los usuarios locales
• Con está configuración los usuarios no podrán acceder a las demás carpetas
del servidor.
• Si queremos que accedan a dichas carpetas, tenemos que especificar la ruta
del fichero /etc/vsftpd.chroot_list en el apartado chroot_list_file del
fichero vsftpd.conf.
• Y en el fichero vsftpd.chroot_list especificamos los usuarios que queremos
que accedan a las demás carpetas del servidor FTP.
18. Práctica 2.3: Configurar parámetros
para los usuarios locales
• Si lo comprobamos, aún no podemos acceder a las demás carpetas del
servidor FTP debido a que tenemos comentado el aparatado
chroot_list_enable que especifica que los usuraios podrán acceder a las
demás carpetas del servidor FTP.
19. Práctica 2.3: Configurar parámetros
para los usuarios locales
• Accedemos al servidor FTP mediante un equipo cliente con el comando
ftp seguido de la dirección IP donde se encuentra el servidor y subimos al
servidor un fichero de texto, con el comando put, para comprobar que
podemos subir archivos al servidor.
• Comprobamos desde el equipo servidor con el comando ls que el usuario
ha podido subir el archivo al sitio FTP.
20. Práctica 2.3: Configurar parámetros
para los usuarios locales
• Con está configuración, los usuarios agregados al fichero vsftpd.chroot_list
podrán acceder a su carpeta personal y a las demás carpetas.
• Pero si queremos que un usuario pueda acceder a todas las carpetas del
sitio FTP y otro no, al usuario que no queramos que acceda a las demás
carpetas salvo a la suya propia, tenemos que eliminarlo del fichero
vsftpd.chroot_list.
21. Práctica 2.3: Configurar parámetros
para los usuarios locales
• Si accedemos como el usuario “Ulpiano” podemos acceder a las demás
carpetas del sitio FTP.
• En cambio con el usuario “Ramona”, que ha sido borrado del fichero
vsftpd.chroot_list, sólo accederá a su carpeta personal.
22. Práctica 2.4: Acceso al servicio a
usuarios anónimos
• En este apartado veremos alguna de las configuraciones avanzadas para los
usuarios anónimos que accedan al sitio FTP.
• Autorizamos a los usuarios anónimos acceder a nuestro sitio FTP en el
apartado anonymous_enable del fichero de configuración vsftpd.conf.
• El apartado anon_root especificaremos el directorio raíz donde se
almacenarán los directorios de los usuarios anónimos.
• En el apartado anon_max_rate limitamos la tasa de transferencia de
archivos a los usuarios anónimos. El valor se especifica en bytes.
23. Práctica 2.4: Acceso al servicio a
usuarios anónimos
• Accedemos al servidor FTP como usuario anónimos y comprobamos que
no podremos subir ficheros al servidor (put).
• Para que los usuarios anónimos puedan subir archivos tenemos que
autorizar el apartado de anon_upload_enable del fichero vsftpd.conf.
Creamos un directorio (incoming) en el directorio raíz de los anónimos.
• Y comprobamos ahora que los usuarios anónimos puedan subir ficheros a
un directorio (incoming) situado en el directorio raíz de los usuarios
anónimos.
24. Práctica 2.4: Acceso al servicio a
usuarios anónimos
• Aún no podemos crear directorios en el servidor FTP. Para poder
realizarlo tenemos que habilitar el apartado anon_mkdir_write_enable
del fichero vsftpd.conf.
• Comprobamos desde un equipo cliente que los usuarios anónimos puedan
crear directorios en el sitio FTP mediante el comando mkdir. Los
directorios se crearán en la ruta especificada en anon_root.
25. Práctica 2.5: Acceso seguro al servicio
mediante SSL y cliente FileZilla
• Ahora vamos a otorgar el acceso seguro al sitio FTP mediante el servicio
SSL que permite que la información viaje encriptada.
• Para ello tenemos que crear un certificado con el comando make-ssl-cert
especificando el fichero cert_vsftpd.pem en el directorio /etc/ssl/ :
• Tendremos que especificar el nombre de nuestro equipo y aceptar.
26. Práctica 2.5: Acceso seguro al servicio
mediante SSL y cliente FileZilla
• Una vez creado el certificado, tenemos que configurar el fichero
vsftpd.conf de la siguiente manera:
– ssl_enable: especificamos que permitimos la utilización de FTP mediante SSL
– rsa_cert_file: donde especificamos el certificado creado anteriormente
– allow_anon_ssl: habilita el servicio SSL para los usuarios anónimos
– force_local_login_ssl: obligamos la utilización de SSL en todas las operaciones
– ssl_sslv2: utilización de la versión 2 de SSL
– ssl_sslv3: utilización de la versión 3 de SSL
27. Práctica 2.5: Acceso seguro al servicio
mediante SSL y cliente FileZilla
• Comprobamos desde el programo • De esta forma, tanto como usuario
FileZilla utilizando el gestor de local como anónimo, podremos
sitios, creando un sitio de la descargar y subir archivos del sitio
siguiente manera: FTP de forma segura.