Ftp Linux

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ftp Linux as PDF for free.

More details

  • Words: 752
  • Pages: 8
VsFTP con Base de datos externa. Lo primero que debemos hacer es instalar el servidor d la siguiente manera. apt-get install vsftpd

Ahora instalaremos las librerias necesarias para la creación de la base de datos en formato Berkeley, también se podría emplear MySQL pero hemos optado por esta opción por ser más sencilla, empleando una base de datos externa y no la del sistema evitamos posibles riesgos de seguridad, ya que si alguien consiguiese las contraseñas del ftp no podía acceder a las cuentas del sistema. Para instalar las librerias ejecutaremos el siguiente comando. apt-get install libdb3 libdb3-util Ahora que ya tenemos las librerias necesarias sólo queda crear la base de datos. vi usuarios usuario1 pass1 usuario2 pass2

En estos momentos tenemos la base de datos en un fichero de texto, vamos a convertirla a formato Berkeley del siguiente modo. db3_load -T -t hash -f usuarios /etc/vsftpd_login.db Y le damos permisos de lectura y escritura al propietario del fichero, en este caso root. chmod 600 /etc/vsftpd_login.db

Linux emplea PAM (Linux-PAM (Pluggable Authentication Modules for Linux))para la autenticación, de esta forma se utilizan los usuaios locales para permitir o denegar el acceso, como este comportamiento no es el deseado debemos hacer algunas modificaciones en el siguiente fichero. vi /etc/pam.d/vsftpd

Dejandolo del siguiente modo: auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd_login Con esto hemos conseguido que emplee la base de datos externa en formato Berkeley.

Ahora nos queda configurar el servidor, debremos modificar su fichero /etc/vsftpd.conf de configuración dejandolo de la siguiente manera. ftpd_banner=Welcome to FTP service. listen=YES anonymous_enable=NO local_enable=YES local_umask=022 anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO xferlog_enable=YES xferlog_file=/var/log/vsftpd.log idle_session_timeout=180

data_connection_timeout=120 chroot_local_user=YES pam_service_name=vsftpd max_clients=60 max_per_ip=2 guest_enable=YES guest_username=virtual virtual_use_local_privs=YES user_config_dir=/etc/vsftpd/users

ftpd_banner->Esta opción define el mensaje de bienvenida. listen->Pone el servidor a la escucha. anonymous_enable->No permitimos el acceso anónimo. local_enable->Permitiremos el acceso local para que se pueda acceder desde una cuenta local en la que se mapearan todos los usuarios de la base de datos externa. local_umask->Su valor es 022 para que los ficheros que se suban al servidro adquieran los permisos 755=rwx-rx-rx anon_upload_enable->No permitimos subir ficheros a usuarios anónimos anon_mkdir_write_enable->No permitimos crear directorios a usuarios anónimos anon_other_write_enable->No permitimos ningúna otra operación de escritura a usuarios anónimos xferlog_enable->Indicamos si queremos logs del servidor xferlog_file->Especificamos la ubicación del fichero de logs idle_session_timeout->Especificamos cuanto tiempo puede estar la sesión inactiva. data_connection_timeout->Especificamos cuanto tiempo puede estar la sesión de datos inactiva. chroot_local_user->Esta opción es de gran utilidad para enjaular a los usuarios en un directorio para que no puedan acceder a ficheros que no deben. pam_service_name->Indicamos el nombre del fichero que contiene al mecanismo de autenticación. max_clients->Número máximo de clientes. max_per_ip->Número máximo de conexiones permitidas desde un misma dirección IP. guest_enable->Permitir acceso a usuarios como invitados, esta opción es necesaria si se quiere emplear la base de datos externa, todos los usuarios de la base se mapearan en este usuario. guest_username->Nombre del usuario invitado. virtual_use_local_privs->Indicamos si queremos emplear opciones de configuración diferentes para cada usuario. user_config_dir->Definimos la ubicación donde tendremos los perfiles de configuración de cada usurio.

Ahor vamos a crear el directorio donde vamos a enjaular el usuario que emplearemos para mapear todos los usuarios de la base de datos externa. mkdir /srv/ftp Y creamos el usuario. useradd -d /srv/ftp virtual

Ahora crearemos los ficheros de configuración para cada usuario. Primero crearemos los directorios donde ubicaremos los ficheros de configuración. mkdir /etc/vsftpd mkdir /etc/vsftpd/users L os ficheros de configuración deberan contener los siguientes parámetros. vi /etc/vsftpd/users/usuario1 dirlist_enable=YES download_enable=YES local_root=/srv/ftp write_enable=YES virtual_use_local_privs=YES anon_upload_enable=YES vi /etc/vsftpd/users/usuario2 dirlist_enable=YES download_enable=YES local_root=/srv/ftp write_enable=YES virtual_use_local_privs=YES anon_upload_enable=YES Para que la nueva configuración sea aplicada hay que reiniciar el servidor. /etc/init.d/vsftpd restart

Con esto ya tenemos nuestro servidor FTP usando una base de datos externa. Podemos comprobar el correcto funcinamiento en las siguientes capturas de pantalla:

En esta captura se puede observar mediante un escaner de puertos que realmente tenemos el puerto 21(Ftp) abierto y a la escucha.

Muestra de un logea correcto en el servidor.

Tranferencia de un fichero del servidor a nuestro equipo.

Comprobamos que realmente tenemos el fichero en nuestro disco duro.

Acceso con usuarios incorrectos.

Captura donde se puede observar la dirección IP del servidor.

En esta captura se puede observar la configuración del analizador de protocolos para que capture el tráfico FTP.

Aquí se pueden observar las tramas capturadas, si nos fijamos en algunas de ellas podremos distinguir el nombre de usuario y la contraseña, ya que FTP es un protocolo que intercambia las contraseñas en texto claro, si quisiesemos más seridad podriamos emplear sftp que utiliza ssh para cifrar la comunicación ftp.

Related Documents

Ftp Linux
November 2019 9
Linux Lab 16 Ftp Servers
December 2019 12
Ftp
June 2020 25
Ftp
July 2020 30
Ftp
October 2019 53
Ftp
April 2020 28