práctica 3 ftp
TRANSCRIPT
Práctica 3 Servidor ProFTPd
Servicios de Red e Internet
Francisco Javier Gavilán Escriche 2ºASIR
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
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:
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.
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.
Práctica 3 servidor ProFTPd Francisco Javier Gavilán Escriche
5 5
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.
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:
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:
Práctica 3 servidor ProFTPd Francisco Javier Gavilán Escriche
9 9
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
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:
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
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.