0% encontró este documento útil (0 votos)
84 vistas16 páginas

Ut4. FTP

Este documento describe cómo configurar y usar un servidor FTP. Explica cómo instalar el servidor FTP vsftpd y el cliente FTP, y muestra ejemplos de cómo conectarse y transferir archivos de forma anónima y autenticada. También cubre la configuración del archivo vsftpd.conf para habilitar diferentes opciones.

Cargado por

palmiro pacheco
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
84 vistas16 páginas

Ut4. FTP

Este documento describe cómo configurar y usar un servidor FTP. Explica cómo instalar el servidor FTP vsftpd y el cliente FTP, y muestra ejemplos de cómo conectarse y transferir archivos de forma anónima y autenticada. También cubre la configuración del archivo vsftpd.conf para habilitar diferentes opciones.

Cargado por

palmiro pacheco
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 16

SERVICIOS EN RED

TEMA 4. SERVICIOS DE TRANSFERENCIA DE


ARCHIVOS
MIGUEL VIDAL NAVAS
SERVICIOS EN RED - MIGUEL VIDAL NAVAS

IMPORTANTE

En los ejercicios de esta tarea, cuando se haga referencia a "tudominio" en el nombre de un


dominio o de una zona tendrás que usar en minúsculas tu nombre seguido de tu primer
apellido. Por ejemplo, yo me llamo Luis Herrero así que si el nombre de la zona debe
ser "tudominio.org" usaría como nombre de dominio "luisherrero.org". De igual forma, cuando
se haga referencia a una dirección IP de la forma "192.168.N.1" u otra cualquiera donde se
incluya "N" deberás sustituir N por tu número de alumno. Por ejemplo, si un ejercicio dice que
la dirección de red es 192.168.N.0/24 y mi número de alumno es 35, yo tendría que usar la IP
de red 192.168.35.0/24.

MI VALOR DE ‘N’ ES 55

Utilizo las máquinas PCServer y PC2 de tareas anteriores

RECORDATORIO CONEXIÓNES EN MODO ACTIVO (POR DEFECTO) Y PASIVO

RECORDATORIO TIPO DE TRANSFERENCIA ASCII Y BINARIA

ASCII: cuando la transferencia sólo incluye ficheros codificados en ASCII. El código


ASCII es un código americano creado en 1963 como evolución del código empleado
en telegrafía. En un primer momento sólo incluía las letras mayúsculas,
agregándosele posteriormente las minúsculas y algunos caracteres de control, dando
lugar al código ASCII standard de 7 bits y 128 caracteres. En 1986 se amplió, pero no
de forma única, para admitir caracteres latinos, entre otros, ampliándose la tabla a
256 caracteres. A los archivos que sólo incluyen caracteres ASCII se les denomina
ficheros planos.

ASCII es el tipo por defecto.

Binaria: cuando se quieren transferir archivos gráficos, multimedia, ejecutables,


comprimidos, ...

2
SERVICIOS EN RED - MIGUEL VIDAL NAVAS

Instalamos el servidor de FTP

Lo primero que tenemos que hacer es instalar nuestro servidor FTP. Para ello, usamos la
sentencia:

apt-get install vsftpd

3
SERVICIOS EN RED - MIGUEL VIDAL NAVAS

Instalamos el cliente de FTP

Lo siguiente es instalar el cliente FTP en el PC Cliente. Usamos la sentencia:

apt-get install ftp

Ejemplo 1. Ejecuta el cliente FTP modo texto del sistema operativo y:

1. Conecta con el sitio ftp.debian.org como usuario anónimo (anonymous).


2. Obtén el contenido de la carpeta remota raíz. Activa primero el modo pasivo.
3. Descarga el archivo README de la carpeta remota /debian.
4. Establece el modo de transferencia binario.
5. Intenta subir un archivo de tu carpeta local de escritorio a la carpeta remota /debían.

4
SERVICIOS EN RED - MIGUEL VIDAL NAVAS

En la siguiente captura mostramos las sentencias necesarias para realizar cada uno de los
apartados anteriores

Vamos explicando cada una de las sentencias:


1. Conectamos con el usuario “anonymous” y sin contraseña. Nos permite realizarlo sin
ningún tipo de problema pero, claro, con comportamiento limitado
2. He cambiado a modo pasivo con la sentencia “passive” y después realizo un listado con
LS.
3. Entrar en el directorio “debían” → cd debian y descargar el fichero README → get
README. Lo podemos ver en la siguiente captura:

4. Establezco el modo BINARY con el comando “binary”:


5. Creamos ahora un fichero en el ESCRITORIO para posteriormente subirlo por FTP con el
comando “put” (al ser usuario anónimo no puede subirlo):

5
SERVICIOS EN RED - MIGUEL VIDAL NAVAS

Fichero de configuración de FTP

Una vez instalado nuestro servidor FTP, el fichero de configuración lo podemos localizar en:

/etc/vsftpd.conf

Algunas de las opciones de configuración más comunes son:

• write_enable=YES –> Para poder escribir (copiar archivos y carpetas) al servidor FTP.
• local_umask=022 –> Habilitar los permisos nuevos cuando copiemos datos al servidor
FTP, por defecto el umask es 077.
• anonymous_enable=NO –>Permitir inicios de sesión anónimos, siempre debe pedir
credenciales de usuario.
• anon_upload_enable=YES –> Permitir subidas de archivos al servidor FTP por parte de
alguien anónimo.
• ftpd_banner –> Para poner un banner de inicio de sesión.
• chroot_list_enable=YES –> Habilitar el chroot de los diferentes usuarios del sistema,
para que solamente un usuario entre en su carpeta /home/usuario y en ninguna más,
es una medida de seguridad, pero hay que usarla con mucho cuidado ya que si un
usuario tiene permisos en directorios superiores tendrá acceso al resto.
• chroot_list_enable=YES –> Nos permite crear una lista con los usuarios en chroot,
todos los que aparezcan aquí podrán conectarte.
• chroot_list_file=/etc/vsftpd.chroot_list –> Es la lista de usuarios con sus rutas
predeterminadas.

Si vamos a usar el chroot_list_file, es necesario crear un fichero en esa ruta:

touch /etc/vsftpd.chroot_list

Hay que poner un usuario por línea:

usuario1

Para crear un nuevo usuario, simplemente debemos indicar:

sudo adduser <nombre del usuario>

Y accederá a su carpeta especificada en DefaultRoot. Realizados todos los cambios, hay que
reiniciar el servicio:

systemctl restart vsftpd

6
SERVICIOS EN RED - MIGUEL VIDAL NAVAS

Conexión mediante Filezilla

Para conectarnos a nuestro nuevo servidor FTP con Vsftpd, simplemente debemos usar un
cliente FTP como FileZilla, poner la IP, puerto y las credenciales de usuario. Lo primero que nos
dirá FileZilla es que el servidor no soporta FTPES (FTP seguro), por tanto, utilizará el protocolo
FTP con la autenticación y toda la transferencia de datos en texto claro sin cifrar.

Una vez que nos hayamos conectado, si tenemos habilitado el chroot, no podremos «subir» en
los directorios por encima de nuestro home. Ahora podremos copiar y eliminar archivos,
tendremos los permisos permisos que el usuario local.

7
SERVICIOS EN RED - MIGUEL VIDAL NAVAS

Habilitar FTPES

El protocolo FTPES es la versión segura del protocolo FTP, en la capa de transporte hace uso
del popular protocolo TLS para cifrar todas las comunicaciones, normalmente haremos uso de
los protocolos TLS 1.2 y TLS 1.3, actualmente las versiones anteriores de TLS no se consideran
seguras por lo que se desaconseja su utilización. La comunicación será cifrada mediante
algoritmos criptográficos simétricos y asimétricos.

Para habilitar el protocolo FTPES:

ssl_enable=YES

En la instalación de Vsftpd ya ha creado anteriormente los certificados RSA necesarios para la


conexión, por lo que simplemente tendremos que habilitarlo, reiniciar el servicio, y ya
podremos conectarnos con seguridad TLS 1.3:

8
SERVICIOS EN RED - MIGUEL VIDAL NAVAS

Ejemplo 2. Escribe las directivas del archivo de configuración de vsftpd para establecer lo
siguiente:
• Están deshabilitados los usuarios locales.
• Están habilitados los usuarios anónimos y no pueden crear carpetas.
• Los usuarios anónimos pueden subir archivos.
• Un usuario anónimo puede acceder con el nombre invitado además de poder acceder
con el nombre anonymous.
• Se activa el registro de acceso al servicio que se almacenará en el archivo logsftp de
/var/lib/vsftpd.
• La velocidad máxima de transferencia para los usuarios anónimos es de 30
Kbytes/seg.
• Sólo se puede establecer una conexión desde cada IP de equipo cliente.
• El número máximo de clientes que pueden establecer sesiones simultáneamente es
de 20.

Están deshabilitados los usuarios locales. local_enable=NO


Están habilitados los usuarios anónimos y no anonymous_enable=YES
pueden crear carpetas. anon_mkdir_write_enable=NO
Los usuarios anónimos pueden subir archivos. anon_upload_enable=YES
Un usuario anónimo puede acceder con el
anonymous_enable=YES
nombre invitado además de poder acceder ftp_username=invitado
con el nombre anonymous.
Se activa el registro de acceso al servicio que
se almacenará en el archivo logsftp de vsftpd_log_file=/var/lib/vsftpd
/var/lib/vsftpd.
La velocidad máxima de transferencia para los
anon_max_rate=30000
usuarios anónimos es de 30 Kbytes/seg.
Sólo se puede establecer una conexión desde
max_per_ip=1
cada IP de equipo cliente.
El número máximo de clientes que pueden
establecer sesiones simultáneamente es de max_clients=20
20.

La carpeta por defecto para el usuario anónimo es: /srv/ftp. Podemos verlo si buscamos
en /etc/passwd la entrada para ftp:

Si queremos modificar la ruta, debemos editar el fichero de configuración /etc/vsftpd.conf y


añadir en la última línea:
anon_root=ruta que queramos

9
SERVICIOS EN RED - MIGUEL VIDAL NAVAS

Trabajando con WEBMIN

Lo primero es descargar el módulo VSFTPD para WEBMIN. Para ello accedemos a la página
oficial (el aspecto puede variar):

Opción 1

Opción 2

Una vez descargado, lo cargamos en WEBMIN en la opción: WEBMIN – WEBMIN


CONFIGURATION – WEBMIN MODULES

10
SERVICIOS EN RED - MIGUEL VIDAL NAVAS

Tras instalarlo, nos aparecerá en el apartado de SERVERS - VSFTPD:

11
SERVICIOS EN RED - MIGUEL VIDAL NAVAS

Ejemplo 3. Realiza la configuración de vsftpd con webmin (obteniendo capturas de pantalla)


para que:
• Estén activados usuarios anónimos y usuarios locales. Los usuarios anónimos sólo
pueden descargar archivos. Los usuarios locales estarán enjaulados y pueden subir
archivos, crear carpetas y renombrar y eliminar archivos.
• Los archivos sean subidos al sitio remoto almacenándolos con la máscara 732 octal. El
máximo de conexiones por IP sea 3 y se dé a los usuarios clientes un mensaje de
bienvenida "Hola has conectado al mejor sitio FTP".
• Se muestren los archivos ocultos del sitio remoto. El servidor escuche sólo en una de
las direcciones IP que pueda tener (puedes elegir una de las que se han usado en
prácticas anteriores como 192.168.N.1). Se oculten los archivos llamados Desktop del
sitio remoto a los clientes.

Realiza una conexión ftp mediante Filezilla Client con el servidor configurado en el ejercicio
anterior. Sube un archivo cualquiera desde la carpeta local a la carpeta remota Descargas.
Obtén la captura de pantalla resaltando el área de conexión, la carpeta local, la carpeta
remota y el archivo que se ha subido.

En la opción LOCAL USER, Habilitamos usuarios locales, los enjaulamos (chroot local users) e
indicamos que pueden escribir:

En la opción ANONYMOUS FTP, indicamos que están habilitados los usuarios anónimos pero
que no pueden subir archivos, no pueden crear directorios y tampoco renombrar/borrar
ficheros:

12
SERVICIOS EN RED - MIGUEL VIDAL NAVAS

En la opción GENERALLY, establecemos la máscara pedida (ponemos 045 ya que es 777-732,


ponemos la máscara inversa), que el número de conexiones es 3 y el mensaje de bienvenida:

En la opción MISCELLANEOUS configuramos que se muestren los archivos ocultos, la dirección


IP donde escuchar y que se oculten los ficheros de nombre “Desktop”:

13
SERVICIOS EN RED - MIGUEL VIDAL NAVAS

Ahora vamos a realizar la conexión. Lo primero que hacemos es descargar Filezilla:

Para ver que todo funciona, voy a crear dos ficheros (no directorios) en
/home/miguelvidalnavas (la carpeta de usuario que tenemos en la máquina DEBIAN Servidor):
Un fichero de nombre “Desktop”
Un fichero de nombre “otro”

Para que veamos que uno aparece y otro no cuando nos conectemos.

Una vez hecho esto, nos conectamos con las siguientes credenciales:
Servidor: 192.168.55.1
Usuario: miguelvidalnavas
Password: Abc.12345
Puerto: 21

14
SERVICIOS EN RED - MIGUEL VIDAL NAVAS

Como podemos ver, la conexión se ha realizado correctamente. En el lado IZQUIERDO aparece


la carpeta local y en el lado DERECHO la carpeta remota. Podemos observar que entre los
ficheros listados en el sitio remoto (el servidor, lado DERECHO aparece el de nombre “otro”
pero no el de nombre “Desktop”, ya que indicamos que los de este nombre estuvieran ocultos).

Lo siguiente que vamos a hacer, es crear una carpeta en la carpeta de Documentos (del
servidor) para comprobar que lo realiza correctamente y que además asigna la máscara
adecuada:

Y vemos (en el SERVIDOR PCServer) que la máscara creada es la 732 →rwx(7), -wx(3), -w-(2)

Finalmente, vamos a transferir un fichero local (lado IZQUIERDO) al servidor remoto (lado
DERECHO), concretamente de la carpeta local de Descargas a la carpeta remota de
Documentos:

15
SERVICIOS EN RED - MIGUEL VIDAL NAVAS

PROBLEMA POSIBLE:
Durante la realización de este ejercicio PUEDE surgir el siguiente error:
500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
The problem is that your users root directory is writable, which isn’t
allowed when using chroot restrictions in the new update.
To fix this you must either remove write permissions on the users root
directory with the following command, replacing the directory with
your users root:
chmod a-w /home/user

De manera que hay que modificar los permisos indicados en rojo de /home/miguelvidalnavas

16

También podría gustarte