Práctica 2ServidorProFTPdServicios de Red e InternetFrancisco Javier Gavilán Escriche2ºA
Práctica 2 servidor ProFTPd                                                                    Francisco Javier Gavilán Es...
Práctica 2 servidor ProFTPd                                 Francisco Javier Gavilán EscricheObjetivosConfigura tu servido...
Práctica 2 servidor ProFTPd                                   Francisco Javier Gavilán EscricheInstalación de MysqlNormalm...
Práctica 2 servidor ProFTPd                                    Francisco Javier Gavilán EscricheCreación de la base de dat...
Práctica 2 servidor ProFTPd                                   Francisco Javier Gavilán EscricheEs decir, hemos creado un n...
Práctica 2 servidor ProFTPd                                   Francisco Javier Gavilán EscricheVeamos las tablas que hemos...
Práctica 2 servidor ProFTPd                                                     Francisco Javier Gavilán EscricheConfigura...
Práctica 2 servidor ProFTPd   Francisco Javier Gavilán Escriche                                                           ...
Práctica 2 servidor ProFTPd                                   Francisco Javier Gavilán EscricheCreación de usuarios virtua...
Práctica 2 servidor ProFTPd                                  Francisco Javier Gavilán EscrichePodemos comprobar como el ca...
Práctica 2 servidor ProFTPd                               Francisco Javier Gavilán EscricheAhora vamos a comprobar con cua...
Upcoming SlideShare
Loading in...5
×

Practica 2 FTP

1,050

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,050
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
49
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Practica 2 FTP

  1. 1. Práctica 2ServidorProFTPdServicios de Red e InternetFrancisco Javier Gavilán Escriche2ºA
  2. 2. Práctica 2 servidor ProFTPd Francisco Javier Gavilán EscricheIndiceObjetivos..........................................................................................................................................2Instalación de Mysql ........................................................................................................................3Instalación ProFTPd ........................................................................................................................3Creación de la base de datos ............................................................................................................4Configuración del Servidor ProFTPd ..............................................................................................7Creación de usuarios virtuales .........................................................................................................9Acceso remoto utilizando un cliente FTP .....................................................................................10 1
  3. 3. Práctica 2 servidor ProFTPd Francisco Javier Gavilán EscricheObjetivosConfigura tu servidor FTP para que se pueda acceder al mismo a través de usuarios almacenadosen una base de datos MySql.Acceso a Proftpd con usuarios almacenados en una base de datos. 2
  4. 4. Práctica 2 servidor ProFTPd Francisco Javier Gavilán EscricheInstalación de MysqlNormalmente la información de los usuarios virtuales se guarda en un fichero de texto plano,nosotros vamos a explicar la configuración del servidor para guardar la información de losusuarios virtuales en una base de datos construida en MySQL. Para instalar el servidor de basede datos MySQL utilizamos el comando apt-get:“apt-get install mysql”Instalación ProFTPdPara instalar el servidor proFTPD, utilizamos el comando apt-get de la siguiente forma:“apt-get install proftpd”Durante la instalación debemos escoger la forma en que se va ejecutar este servicio, si lo harábajo inetd o en forma independiente (como un proceso más). La diferencia entre ambos métodoses la velocidad de ejecución que se obtendrá del servicio y la carga que se le dará al equipo.Utilizando inetd el equipo iniciará un proceso nuevo por cada petición ftp que llegue al equipo,mientras que ejecutándose en forma independiente, el proceso ya está inicializado por lo que nohay necesidad ejecutar un nuevo programa (simplemente se clona el proceso, generando unanueva instancia del mismo para atender al cliente ftp que inicio el requerimiento). Nosotrosescogeremos la opción independiente. 3
  5. 5. Práctica 2 servidor ProFTPd Francisco Javier Gavilán EscricheCreación de la base de datosProFTPD, de forma normal, valida sobre el /etc/passwd y /etc/shadow, por tanto necesita unatabla que simule los datos contenidos en estos ficheros.También utiliza el /etc/group, por lo que necesitamos otra tabla del mismo modo:Tabla de usuarios:-username: Nombre del usuario-password: Contraseña del usuario-uid: Identificador del usuario-gid: Identificador del grupo al que pertenece el usuario-homedir: Directorio donde tendrá acceso el usuario-activa: Este campo lo usamos para activar y desactivar cuentas sin borrar el usuario1Tabla de grupos:-groupname: Nombre del grupo-gid: Identificador del grupo-members: Nombres de los usuarios que pertenecen a este grupoComo se puede ver es todo muy similar al /etc/passwd y /etc/group. Ahora vamos a ver lasinstrucciones SQL para crear estas tablas.Lo primero, creamos la base de datos que vamos a utilizar. Accedemos como root y creamos labase de datos ftpd:Ahora generamos un usuario que acceda a la base de datos, para no utilizar el usuario root: 4
  6. 6. Práctica 2 servidor ProFTPd Francisco Javier Gavilán EscricheEs decir, hemos creado un nuevo usuario (proftpd) que se va a conectar desde localhost, tienepermiso en todas las tablas de la base de datos que hemos creado anteriormente y cuyacontraseña es “proftpd”. Este es el usuario que utilizaremos para crear las tablas anteriormentedescritas:Hemos entrado con el usuario creado anteriormente, hemos visualizados las bases de datos,hemos indicado que la base de datos que vamos a utilizar es ftpd y hemos mostrado las tablas,que como podemos observar no hay ninguna. Estamos preparados para crear las tablas:*Fallo al crear el campo dig, en realidad hay que poner gid 5
  7. 7. Práctica 2 servidor ProFTPd Francisco Javier Gavilán EscricheVeamos las tablas que hemos creado y su estructura:*Fallo al crear el campo dig, en realidad hay que poner gid 6
  8. 8. Práctica 2 servidor ProFTPd Francisco Javier Gavilán EscricheConfiguración del Servidor ProFTPdLa configuración del servidor proFTPd está en el fichero /etc/proftpd.conf, la sintaxis que utilizaes parecida a la utilizada en apache, por lo que el usuario acostumbrado a configurar apache leresultará familiar. La configuración que viene por defecto en el fichero nos viene bien, lo únicoque vamos a hacer es introducir nuevas directivas para que el servidor proFTPd valide losusuarios utilizando la información guardada en nuestra base de datos MySQL. Las directivas quevamos a introducir en el fichero de configuración son las siguientes:*Descomentar también las directivas llamadas DocumentRoot y RequireValidShellUna vez pongamos las directivas guardamos los cambios en al archivo pero posiblemente nos deerror al reiniciar el servicio debido a que nos falta un módulo de mysql perteneciente a proftpdllamado “proftpd-mod-mysql”, así que procedemos a su instalación mediante la siguiente orden“sudo apt-get install proftpd-mod-mysql”.También tendremos que modificar un archivo situado en /etc/proftpd llamado modules.conf,concretamente tendremos que descomentar las líneas “LoadModule mod_sql.c” y “LoadModulemod_sql_mysql.c para que cuando reiniciemos el servicio proftpd nos cargue automáticamentedicho mod sql. 7
  9. 9. Práctica 2 servidor ProFTPd Francisco Javier Gavilán Escriche 8
  10. 10. Práctica 2 servidor ProFTPd Francisco Javier Gavilán EscricheCreación de usuarios virtualesLo primero que vamos a hacer es añadir la información necesaria de los usuarios en las tablas dela base de datos. Vamos a crear un grupo virtual ftpusers al que le vamos a hacer corresponderun identificador de grupo ficticio, por ejemploel 6000, además vamos a crear dos usuarios: user1 y user2, con contraseñas passuser1 ypassuser2, con identificadores de usuarios 5000 y 5001, estos dos usuarios van a pertenecer algrupo ftpusers por lo que su campo gid va a ser el 6000, además el campo homedir será paracada uno el correspondiente a los dos directorios de los sitios web virtuales (/srv/www/pagina1 y/srv/www/pagina2) y por último el campo shell será /bin/false, indicando que no van a poderlogearse en el sistema como usuario reales. Para ello tenemos que ejecutar las siguientesinstrucciones:Para comprobar que la inserción ha sido correcta, podemos ejecutar los siguientes comandos:*Fallo al crear el campo dig, en realidad hay que poner gid 9
  11. 11. Práctica 2 servidor ProFTPd Francisco Javier Gavilán EscrichePodemos comprobar como el campo password ha sido cifrado. Por otro lado, modificando elcampo activa a 0 podemos desactivar el usuario de una manera muy fácil.El último paso que tenemos que hacer es poner como propietario de los directorios dondetenemos nuestras páginas webs a los dos usuarios respectivamente, como root tenemos queejecutar lo siguiente:Se puede observar como en ningún momento hemos empleado los nombres de los usuarios o elnombre del grupo, es más si listamos el directorio /srv/www veremos que los directorios pagina1y pagina2 pertenecen al usuario 5000 y 5001 del grupo 6000, esos usuarios no son usuariosreales del sistema.Acceso remoto utilizando un cliente FTPBueno para probar que el sistema está funcionando correctamente podemos hacer uso del clienteftp de Linux: 10
  12. 12. Práctica 2 servidor ProFTPd Francisco Javier Gavilán EscricheAhora vamos a comprobar con cualquiera de los 2 usuarios de la base de datos que realmentefunciona la conexión: 11

×