You are on page 1of 44

SMX – M01 – Clase 06

Servicios de red
Tema 3. Servicio de transferencia
de ficheros

FTP
Objetivos

• Servidor FTP Filezilla en Windows Server


• Servidor FTP en Windows Server
• Servidor VSFTPD en Ubuntu Server
• Ejemplos servicio FTP en Ubuntu:
• Vsftpd en Ubuntu Server
• Usuarios enjaulados en vsftpd
• Usuario Anonymous en vsftpd
Servidor FTP Filezilla en Windows Server
• Descargamos el servidor Filezilla de:
https://filezilla-project.org/download.php?type=server
Antes de acceder a la web de Filezilla desactivamos la opción de “configuración de seguridad
avanzada de IE”.
Servidor FTP Filezilla en Windows Server
• El puerto 14147 será el utilizado para acceder a la configuración de Filezilla Server desde otro ordenador (deberemos
abrirlo en el firewall o cortafuegos).
Servidor FTP Filezilla en Windows Server
• El puerto 14147 será el utilizado para acceder a la configuración de Filezilla Server desde otro ordenador (deberemos
abrirlo en el firewall o cortafuegos).

https://wiki.filezilla-project.org/FileZilla_FTP_Server

https://forum.filezilla-project.org/
https://forum.filezilla-project.org/viewtopic.php?f=3&t=53641&p=176162&hilit=banner#p176162
Servidor FTP Filezilla en Windows Server
Crear usuarios
Asignarle password para la autenticación:

Crear el directorio que utilitzará por defecto y asignarlo en la ruta virtual y nativa:
Servidor FTP Filezilla en Windows Server
Crear usuarios
Comprobación desde el equipo cliente:

Comprobación se “subida” de un archivo desde el cliente al servidor FTP:

Cliente Servidor
Servidor FTP Filezilla en Windows Server
Configuración del límite de velocidad de descarga del servidor:
Servidor FTP en Windows Server
• En Windows Server el servidor FTP se encuentra integrado con el servicio web IIS
Servidor FTP en Windows Server
• Añadimos al servicio IIS la característica correspondiente con el servicio FTP:
Servidor FTP en Windows Server
• Desde “Herramientas” -> “ Administrador de IIS
Servidor FTP en Windows Server
• Agregar sitio FTP:
Servidor FTP en Windows Server
• Configuración del nuevo sitio FTP con o sin protección y autenticación de usuarios:
Servidor FTP en Windows Server
• Una vez finalizada la configuración aparece en la ventana del administrador de IIS
el nuevo sitio FTP:
Servidor FTP en Windows Server
• Una vez finalizada la configuración aparece en la ventana del administrador de IIS
el nuevo sitio FTP:
Servidor FTP en Windows Server
• Acceso desde equipo cliente con usuario anónimo
Servidor FTP en Windows Server
• Acceso desde equipo cliente con usuario local usu1:

Creamos nueva
carpeta desde
Filezilla

En el servidor:
Servidor VSFTPD en Ubuntu
• Instalación del servicio: sudo apt install vsftpd

Configuración para el acceso anónimo

• Durante la instalación se crea un usuario llamado “ftp”, con carpeta en /srv/ftp

• Acceso anónimo deshabilitado por defecto en /etc/vsftpd.conf


• anonymous_enable=NO -> cambiar a YES

• reiniciar servicio
• sudo systemctl restart vsftpd

• Con esta configuración pueden acceder los usuarios anonymous y ftp, y cualquier
otro usuario que exista en el sistema

• Cada usuario entra en su carpeta personal /home/usuario

• Para deshabilitar acceso anónimo -> anonymous_enable=NO


Servidor VSFTPD en Ubuntu
• Algunas opciones en sudo nano /etc/vsftpd.conf

• Permitir que los usuarios puedan subir archivos al servidor

• write_enable=YES

• Permitir que el usuario anónimo pueda subir archivos al servidor

• anon_upload_enable

• Hacer que los archivos subidos al servidor tengan un propietario concreto

• chown_uploads=YES
• chown:username=usuario

• Mensaje de bienvenida

• ftpd_banner=Bienvenido al servidor…
Servidor VSFTPD en Ubuntu – conexión segura

• Problema

• Cuando el usuario se conecta mediante FTP, su contraseña viaja por la red sin
encriptar

• Podemos comprobarlo instalando un software especializado en capturar


paquetes de red y analizar su contenido

• Busca y configura un servidor ftp seguro. Normalmente existen dos


posibilidades, mediante SSL o mediante SSH

• FTPS vs SFTP
Servidor VSFTPD en Ubuntu – conexión segura
• Opciones de seguridad

• Para configurar FTPS

• Opciones de certificados por defecto

• Después de reiniciar el servicio, los usuarios no anónimos serán forzados al uso


de FTPS
Servidor VSFTPD en Ubuntu – usuarios enjaulados
• Opciones de seguridad

• Que los usuarios queden limitados a sus directorios personales

• Para que solo aplique a una lista de usuarios específicos

• Se debe crear el fichero con los nombres de usuario, uno por línea
Servidor VSFTPD en Ubuntu – usuarios enjaulados
En esta documentación podéis ver el siguiente detalle de las directivas relacionadas con chroot:
https://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/s1-ftp-vsftpd-conf.html

• chroot_list_enable — Puede estar en estado YES o NO


• chroot_list_file — Especifica el archivo que contiene una lista de los usuarios locales. El valor
por defecto es /etc/vsftpd.chroot_list.
• chroot_local_user — Puede estar en estado YES o NO

Por lo tanto, dependiendo de si chroot_local_user está configurada con YES o NO, el servicio
vsftd interpreta la información del fichero vsftpd-chroot_list de una manera u otra. Si
chroot_local_user= NO y chroot_list_enable= YES, los usuarios que estén en el fichero vsftpd-
chroot_list estarán enjaulados. En cambio, si chroot_local_user= YES y chroot_list_enable= YES,
todos los usuarios locales estarán enjaulados excepto los que estén en el fichero vsftpd-
chroot_list.
Ejemplo práctico 1
Ejemplo práctico:
1. Instala y configura el servicio básico de FTP basado en vsftpd en una máquina Ubuntu Server.
∙ Comprueba con un cliente de Windows que te puedes conectar al servidor, subir y
descargar archivos, crear carpetas, eliminar archivos ...
∙ Configura que un usuario anónimo también tenga acceso al servidor, pero no pueda
crear carpetas.
Instalación servicio vsftpd
Instalación vsftpd:

Comprobación del estado del servicio:


Configuración servicio vsftpd
Si consultamos el fichero de configuración del servicio vsftpd (/etc/vsftpd.conf) por defecto
tiene la siguiente configuración:

• Usuario Anonymous deshabilitado. No puede escribir ni subir ficheros al servidor ftp.

• Usuarios locales habilitados para acceder al servidor ftp. No tienen habilitada la


escritura.
Configuración servicio vsftpd
Modificamos el fichero /etc/vsftpd.conf para conseguir la siguiente configuración:

∙ Comprueba con un cliente de Windows que te puedes conectar al servidor, subir y


descargar archivos, crear carpetas, eliminar archivos ...

∙ Configura que un usuario anónimo también tenga acceso al servidor, pero no pueda
crear carpetas. -> habilitar el usuario anonymous
Configuración servicio vsftpd
Reinicio del servicio tras la modificación del fichero de configuración:

Usuarios locales y usuario anonymous creados en el equipo Ubuntu Server:

El usuario Anonymous se crea durante la


instalación del servicio ftp
Configuración servicio vsftpd
Comprobación desde el equipo cliente accediendo con un usuario local existente en Ubuntu
Server: subir y bajar fichero, crear en el servidor archivos, carpetas…
Configuración servicio vsftpd
Comprobación desde el equipo cliente accediendo con el usuario anonymous: puede acceder
pero no tiene permiso de escritura
Ejemplo práctico 2
Ejemplo práctico:
2. Configura el servidor vsftpd en Ubuntu Server con "jaulas" para que un usuario, que sea
admin y tu apellido (ej. adminlopez), sólo pueda acceder a su carpeta del servidor.
∙ Comprueba que puedes crear carpetas, subir archivos, eliminar archivos ... siempre
dentro de la carpeta home del usuario.
∙ A la vez que el adminlopez está “enjaulado”, debes crear otro usuario, que sea
admin2 y tu nombre (admin2lopez) que tenga acceso libre al servidor. Comprueba y
muestra el correcto funcionamiento.
“Enjaular” usuarios en vsftpd
Usuarios locales creados en el equipo Ubuntu Server:

Es necesario tener un fichero con el listado de los usuarios que se vean afectados o no por la
“jaula”. El fichero del listado de usuarios no existe por defecto:

Hay que crear el fichero e introducir los nombres de los usuarios separados por espacios.
“Enjaular” usuarios en vsftpd
Crear fichero en el que estará el nombre del usuario enajulado:

Configuración de “jaulas” en /etc/vsftpd.conf

Reinicio del servicio vsftpd:


“Enjaular” usuarios en vsftpd
Comprobación del servicio desde el equipo cliente iniciando sesión primero con usuario
enjaulado y después con usuario no enjaulado:

Esto se debe al hecho de que el directorio del usuario al que se está conectando está habilitado para escritura.
En situaciones normales de chroot (), el directorio principal debe ser de solo lectura. Esto significa que para la
mayoría de las situaciones de useradd, que creará un directorio de inicio propiedad del usuario y en el que se
puede escribir, se mostrará el error anterior de "vsftpd: se niega a ejecutarse con una raíz de escritura dentro
de chroot ()".

En caso que les salga ese error deberán de agregar esta nueva instrucción en el fichero de configuración
/etc/vsftpd.conf: allow_writeable_chroot=YES

Reinicio del servicio vsftpd y comprobación de su estado.


“Enjaular” usuarios en vsftpd
Comprobación del servicio desde el equipo cliente iniciando sesión primero con usuario enjaulado:

Comprobación del servicio desde el equipo cliente iniciando sesión con usuario no enjaulado:
Ejemplo práctico 3
Ejemplo práctico:
3. Configura el servidor vsftpd en Ubuntu Server de forma que el usuario Anonymous o ftp
pueden acceder al servidor ftp y enviar y recibir información. El fichero del usuario
Anonymous tiene que estar en /var/ftp.
Servidor VSFTPD en Ubuntu
•Configuración para el acceso al usuario Anonymous:

•Configuración grupo propietario y permisos:


Servidor VSFTPD en Ubuntu
•Configuración en vsftpd.conf: por defecto el directorio del usuario Anonymous o
ftp es el /srv/ftp. Si queremos cambiar el directorio por defecto podemos hacerlo
con anon_root.
Servidor VSFTPD en Ubuntu
•Comprobación desde cliente:

You might also like