Práctica 3 FTP

14
Práctica 3 Servidor ProFTPd Servicios de Red e Internet Francisco Javier Gavilán Escriche 2ºASIR

Transcript of Práctica 3 FTP

Page 1: Práctica 3 FTP

Práctica 3 Servidor ProFTPd

Servicios de Red e Internet

Francisco Javier Gavilán Escriche 2ºASIR

Page 2: Práctica 3 FTP

Práctica 3 servidor ProFTPd Francisco Javier Gavilán Escriche

1 1

Indice

Objetivos .......................................................................................................................................... 2

Instalación ProFTPd ........................................................................................................................ 3

Instalación LDAP ............................................................................................................................ 4

Creación de la base de datos ............................................................................................................ 7

Instalación phpldapadmin ................................................................................................................ 8

Configuración del servidor ProFTPd ............................................................................................. 10

Comprobación ............................................................................................................................... 13

Page 3: Práctica 3 FTP

Práctica 3 servidor ProFTPd Francisco Javier Gavilán Escriche

2 2

Objetivos

Al igual que otros muchos servicios proftpd puede almacenar la información de autenticación de

usuarios en LDAP, por lo que se suele denominar a éstos usuarios virtuales para diferenciarlos

de los usuarios reales o del sistema.

En Debian lenny al instalar el paquete proftpd, se instala por dependencias el paquete proftpd-

mod-ldap, por lo que no deberemos instalar ningún paquete adicional sino "activar" este método

de autenticación.

Editamos el fichero /etc/proftpd/modules.conf y buscamos la línea: #LoadModule mod_ldap.c

La descomentamos para que cuando se reinicie el servidor cargue el módulo de LDAP.

Editamos el fichero /etc/proftpd/proftpd.conf y buscamos la línea: #Include /etc/proftpd/ldap.conf

También la descomentamos y editamos el fichero /etc/proftpd/ldap.conf, en el que dejamos las

tres líneas siguientes: LDAPServer ldap://localhost/??sub LDAPDNInfo

"cn=admin,dc=cursolinux,dc=net" "asdasd" LDAPDoAuth on

"ou=People,dc=cursolinux,dc=net"

Donde especificamos el servidor LDAP, el nombre distinguido del usuario que se conecta, su

contraseña y la ubicación de la rama que contiene los usuarios.

Además, para que puedan autenticarse usuarios con la shell (/bin/false) hay que descomentar la

directiva: #RequireValidShell off

Después de hacer todas estas modificaciones reiniciamos el demonio con:

/etc/init.d/proftpd restart

Prueba de funcionamiento

Vamos a crear un usuario virtual que tendrá su directorio home en /srv/ftp/usuario y como shell

/bin/false para que no pueda nunca abrir una sesión en el sistema. Creamos el fichero usuario-

ftp.ldif con el siguiente contenido:

dn: cn=ftpusers,ou=Group,dc=cursolinux,dc=net objectClass:

posixGroup objectClass: top cn: ftpusers gidNumber: 2002

dn: uid=rigoberta,ou=People,dc=cursolinux,dc=net uid: rigoberta

cn: Rigoberta objectclass: account objectclass: posixAccount

objectclass: top uidNumber: 2002 gidNumber: 2002 homeDirectory:

/srv/ftp/rigoberta userPassword: {MD5}qPXxZ/RPSWTmyZje6CcRDA==

loginShell: /bin/false

Y lo añadimos al directorio con:

ldapadd -x -D "cn=admin,dc=cursolinux,dc=net" -W -f usuario-

ftp.ldif

Creamos el directorio del usuario y le damos los propietarios y permisos adecuados con:

Page 4: Práctica 3 FTP

Práctica 3 servidor ProFTPd Francisco Javier Gavilán Escriche

3 3

mkdir -p /srv/ftpusers/rigoberta chgrp 2002 /srv/ftpusers chown

2002

/srv/ftpusers/rigoberta chmod 700 /srv/ftpusers/rigoberta

Finalmente probamos con un cliente ftp la conexión con este usuario.

Instalación ProFTPd Para 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étodos es 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 no hay necesidad

ejecutar un nuevo programa (simplemente se clona el proceso, generando una nueva instancia del

mismo para atender al cliente ftp que inicio el requerimiento). Nosotros escogeremos la opción

independiente.

Page 5: Práctica 3 FTP

Práctica 3 servidor ProFTPd Francisco Javier Gavilán Escriche

4 4

Instalación LDAP

Introducimos la siguiente orden en el terminal para instalar LDAP

Nos pedirá la contraseña para la entrada de administrador de nuestro directorio LDAP,

posteriormente hacemos un “dpkg-reconfigure slapd” para configurar ciertos aspectos de LDAP.

Page 6: Práctica 3 FTP

Práctica 3 servidor ProFTPd Francisco Javier Gavilán Escriche

5 5

Page 7: Práctica 3 FTP

Práctica 3 servidor ProFTPd Francisco Javier Gavilán Escriche

6 6

Una vez lo tengamos configurado nos dirá que el archivo /etc/ldap/slapd.d ya existe y tendremos

que eliminar dicho archivo para volver a poder hacer una nueva reconfiguración y esos cambios

ya se queden aplicados, después ya una vez que terminemos dicho proceso se ejecutará el

servicio OpenLDAP correctamente.

Page 8: Práctica 3 FTP

Práctica 3 servidor ProFTPd Francisco Javier Gavilán Escriche

7 7

Creación de la base de datos

Ahora vamos a proceder a crear una base de datos que registrará a los usuarios que podrán

acceder al servicio FTP

Para ello vamos a hacer una plantilla LDIF e importándola posteriormente crearemos dichos

usuarios:

Page 9: Práctica 3 FTP

Práctica 3 servidor ProFTPd Francisco Javier Gavilán Escriche

8 8

Podemos ver el contenido de la plantilla para editar nuestros usuarios y grupos como nos parezca

en la siguiente URL:

https://help.ubuntu.com/community/OpenLDAPServer

Ahora vamos a proceder a importar el fichero mediante línea de comandos con la siguiente

orden:

Instalación phpldapadmin

Ahora vamos a configurar el sistema para que podamos administrar OpenLDAP mediante la

interfaz gráfica phpldapadmin y para ello será necesaria la instalación de dicho servicio.

Antes de abrir el servicio phpldapadmin será necesario realizar una serie de cambios en un

archivo de configuración de phpldapadmin situado en

/usr/share/phpldapadmin/config/config.php y tendremos que modificar un par de líneas de tal

modo que cambiemos los dc al nombre de nuestro dominio, es decir, dc=midominio dc=local tal

y como se muestra en las siguientes imágenes:

Page 10: Práctica 3 FTP

Práctica 3 servidor ProFTPd Francisco Javier Gavilán Escriche

9 9

Page 11: Práctica 3 FTP

Práctica 3 servidor ProFTPd Francisco Javier Gavilán Escriche

10 10

Guardamos el archivo e iniciamos phpldapadmin

Configuración del servidor ProFTPd

Ahora vamos a proceder a la configuración del servidor ProFTPd para ello lo que vamos a hacer

es irnos al archivo de configuración “/etc/proftpd/proftd.conf”. He comentado las directivas que

había de los usuarios que accedían mediante la base de datos de mysql por si se pudiera dar la

posibilidad de que entrará en conflicto una información con otra.

Ahora una vez realizado este paso nos vamos a ir a el fichero “/etc/proftpd/modules.conf” y

vamos a configurar el servidor proFTPd para dejarlo listo para que funcione con los usuarios de

LDAP.

Descomentamos la siguiente directiva RequireValidShell Off

Page 12: Práctica 3 FTP

Práctica 3 servidor ProFTPd Francisco Javier Gavilán Escriche

11 11

Descomentamos la siguiente línea que permitirá cargar la configuración de ldap para proftpd:

Y ponemos la directiva AuthPAM on:

Page 13: Práctica 3 FTP

Práctica 3 servidor ProFTPd Francisco Javier Gavilán Escriche

12 12

Ahora tendremos que hacer un último paso en el archivo ldap.conf que será poner una serie de

directivas para que los datos del servidor LDAP que vamos a utilizar puedan ser identificados

para que los usuarios se puedan conectar:

Ahora vamos a tener que instalar el módulo LDAP para permitir la autenticación de los usuarios

de la base de datos LDAP mediante nuestro servidor FTP, para ello introducimos la siguiente

orden en el terminal “apt-get install proftpd-mod-ldap”.

Después tendremos que irnos al archivo modules.conf en el cual tendremos que descomentar una

línea llamada Loadmodule mod_lap.c para permitir la habilitación de dicho modulo

Una vez terminado este paso reiniciamos el servidor ProFTPd y vamos ahora a comprobar el

correcto funcionamiento accediendo al servicio FTP

Page 14: Práctica 3 FTP

Práctica 3 servidor ProFTPd Francisco Javier Gavilán Escriche

13 13

Comprobación

Una vez configurado todo correctamente vamos a probar acceder con el usuario de datos fran

alojado en la base de datos LDAP al servidor FTP y vemos que realmente funciona.