Vous êtes sur la page 1sur 56

Unidad 4

Instalación y mantenimiento de servicios de Internet

CONFIGURACIÓN DE
UN SERVIDOR FTP:
PROFTPD
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Licencia
Instalación y mantenimiento de servicios de Internet

Esta obra está bajo una licencia Reconocimiento-No


comercial-Compartir bajo la misma licencia 3.0 España
de Creative Commons.

Para ver una copia de esta licencia, visite


http://creativecommons.org/licenses/by-nc-sa/3.0/deed.es
o envíe una carta a Creative Commons, 559 Nathan
Abbott Way, Stanford, California 94305, USA.

U04. Configuración de un servidor ftp: ProFTPD 2


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Índice

1.Introducción
Instalación y mantenimiento de servicios de Internet

2.Un poco de historia


3.Explorer revela datos de acceso a servidores FTP
4.Funcionamiento
5.Servidor FTP
6.Cliente FTP
7.Tipos de transferencia de archivos
8.Comandos
9.Instalacion
10.Configuración
11.Sitios anónimos
12.Hosts virtuales
U04. Configuración de un servidor ftp: ProFTPD 3
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Introducción
● FTP (File Transfer Protocol) es un protocolo de
Instalación y mantenimiento de servicios de Internet

transferencia de archivos.
● Fue uno de los primeros servicios ofrecidos por
Internet que fueron normalizados junto con Telnet y
el correo electrónico.
● El RFC 114 fue la primera propuesta de
estandarización en el año 1971.
● Hoy en día se usa mucho la transferencia de
archivos pero haciendo uso de protocolos distintos al
FTP. Por ejemplo, los servicios P2P (Peer To Peer).

U04. Configuración de un servidor ftp: ProFTPD 4


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Un poco de historia
● El mismo año en que nació ARPANET (1969) un
Instalación y mantenimiento de servicios de Internet

grupo de investigadores del MIT presentó la


propuesta del primer "Protocolo para la transmisión
de archivos en Internet" (RFC 114).
● Era un protocolo muy sencillo basado en el sistema

de correo electrónico pero sentó las bases para el


futuro protocolo de transmisión de archivos (FTP).
● Quince años después de esa primera propuesta, se

termina el desarrollo del FTP, basado en la filosofía


de cliente-servidor.
● El gran boom de Internet se produce en 1995 y

puede ser considerado como el nacimiento de la


Internet comercial.
U04. Configuración de un servidor ftp: ProFTPD 5
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Un poco de historia (2)


● Ese año la World Wide Web superó a FTP
Instalación y mantenimiento de servicios de Internet

transformándose en el servicio preferido de la red,


después de que el año anterior superase también en
popularidad a Telnet.
● Con la llegada del World Wide Web, y de los
navegadores , ya no fue necesario conocer los
complejos comandos de FTP, este protocolo se
puede utilizar escribiendo la URL del servidor al que
queramos conectar en el navegador web, indicando
con ftp:// que vamos a contactar con un servidor
FTP y no con un servidor web (que sería http://).

U04. Configuración de un servidor ftp: ProFTPD 6


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Explorer revela datos de


acceso a servidores FTP
● El problema afecta a los usuarios que disponen de
Instalación y mantenimiento de servicios de Internet

sitios web y acceden a ellos para modificar algún


documento utilizando Explorer como cliente de FTP.
● Sorprendentemente, tras editar un fichero HTML y
guardarlo de nuevo, Explorer incluye, como
comentario en el código fuente de la página, el
nombre de usuario y contraseña de acceso al
servidor FTP.
● En resumen: cualquiera que se descargue esa
página en lo sucesivo dispone de las credenciales
necesarias para modificar el sitio web o hacerlo
desaparecer... Información obtenida en
Kriptopolis.
U04. Configuración de un servidor ftp: ProFTPD 7
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Explorer revela datos de


acceso a servidores FTP (2)
● ¿Conoce Microsoft la existencia del problema?
Instalación y mantenimiento de servicios de Internet

Sí, y al menos desde 2004. Para Microsoft, la


capacidad de cliente ftp se incluye en Explorer sólo
"por comodidad", pero no se trata de un auténtico
cliente de ftp. Por otro lado modificar este
comportamiento requeriría -decía Microsoft en 2004-
una "rearquitectura" de la característica.
● Ante estas declaraciones, cualquiera podría pensar
que Explorer 7 hubiera podido ser la ocasión más
indicada para reparar el bug.
Pues no: Explorer 7 se comporta exactamente igual.

U04. Configuración de un servidor ftp: ProFTPD 8


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Explorer revela datos de


acceso a servidores FTP (3)
● En caso de duda, sería recomendable que se
Instalación y mantenimiento de servicios de Internet

realizara una búsqueda en el código fuente de las


páginas web de expresiones del tipo de la siguiente:
<!-- saved from url=(0042)ftp://name:password@xxx/xxx.html -->

● Se trata de la línea de comentario añadida por


Explorer que puede resultar nefasta para la
seguridad del sitio, puesto que incluye la contraseña
y nombre del usuario que accede al sitio por ftp.
● Un cambio inmediato de esos datos de acceso
también podría estar indicado, antes de que una
búsqueda en Google proporcione a un eventual
atacante la llave de su sitio.
U04. Configuración de un servidor ftp: ProFTPD 9
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Funcionamiento
● FTP es un servicio basado en la arquitectura cliente/
Instalación y mantenimiento de servicios de Internet

servidor.
● El servidor FTP en la red (ya sea local o en Internet)
proporciona el servicio y utiliza dos puertos:
– El puerto 20 para la transferencia de datos.
– El puerto 21 para la transferencia de órdenes (control)
● El cliente se conecta al servidor haciendo uso de un
puerto local (origen) mayor que 1024, y tomando
como destino el puerto 21 del servidor.
● Una vez se ha establecido la conexión, ya se puede
hacer uso de las órdenes específicas FTP de manejo
de archivos y directorios remotos.
U04. Configuración de un servidor ftp: ProFTPD 10
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Funcionamiento (2)
● El siguiente esquema muestra el funcionamiento del
Instalación y mantenimiento de servicios de Internet

servicio FTP:

U04. Configuración de un servidor ftp: ProFTPD 11


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Servidor FTP
● Un servidor FTP es un programa que se ejecuta en
Instalación y mantenimiento de servicios de Internet

un equipo servidor normalmente conectado a una


red (Internet o LAN).
● Su función es permitir el intercambio de datos entre
diferentes equipos (servidores y/o clientes).
● Las aplicaciones más comunes de los servidores
FTP suelen ser:
– Alojamiento web: en el que sus clientes utilizan el
servicio para subir sus páginas web y sus archivos
correspondientes;
– Servidor de backup (copia de seguridad) de los
archivos importantes que pueda tener una empresa.
U04. Configuración de un servidor ftp: ProFTPD 12
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Cliente FTP
● Un cliente FTP es un programa que se instala en el
Instalación y mantenimiento de servicios de Internet

ordenador del usuario, y que emplea el protocolo


FTP para conectarse a un servidor FTP y transferir
archivos, ya sea para descargarlos o para subirlos.
● Algunos clientes de FTP básicos en modo consola
vienen integrados en los sistemas operativos, como
Windows, Linux y Unix.
● Sin embargo, hay disponibles clientes con opciones
añadidas e interfaz gráfica. Aunque muchos
navegadores tienen ya integrado FTP, es más
confiable a la hora de conectarse con servidores
FTP no anónimos utilizar un programa cliente.
U04. Configuración de un servidor ftp: ProFTPD 13
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Cliente FTP (2)


● Desde un navegador también puede incluirse el
Instalación y mantenimiento de servicios de Internet

usuario y la contraseña en la barra de direcciones


para acceder a un servidor FTP con el formato:
ftp://user:password@ftpserver_name 
aunque NO ES RECOMENDABLE POR MOTIVOS
DE SEGURIDAD.
● El acceso a los servidores FTP desde los clientes se
hace, principalmente, de dos formas:
– Acceso anónimo.
– Acceso de usuario.

U04. Configuración de un servidor ftp: ProFTPD 14


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Cliente FTP
Acceso anónimo
● Los servidores FTP anónimos ofrecen sus servicios
Instalación y mantenimiento de servicios de Internet

libremente a todos los usuarios, permiten acceder al


FTP sin necesidad de tener una cuenta de usuario.
● Es una forma muy cómoda de permitir que todo el
mundo tenga acceso a cierta información sin que
para ello el administrador de un sistema tenga que
crear una cuenta para cada usuario.
● Para acceder a un servidor posee servicio FTP
anónimo:
– Usuario: anonymous.
– Contraseña: se suele utilizar la dirección de correo
electrónico propia.
U04. Configuración de un servidor ftp: ProFTPD 15
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Cliente FTP
Acceso anónimo (2)
● De esta forma se consigue acceso a los archivos del
Instalación y mantenimiento de servicios de Internet

FTP, aunque con menos privilegios que un usuario


normal.
● Normalmente solo se podrá leer y copiar los archivos
existentes, pero no modificarlos ni crear otros
nuevos.
● Normalmente, se utiliza un servidor FTP anónimo
para depositar grandes archivos que no tienen
utilidad si no son transferidos a la máquina del
usuario, como por ejemplo programas.

U04. Configuración de un servidor ftp: ProFTPD 16


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Cliente FTP
Acceso de usuario
● Si se desean tener privilegios de acceso a cualquier
Instalación y mantenimiento de servicios de Internet

parte del sistema de archivos del servidor FTP, de


modificación de archivos existentes, y de posibilidad
de subir nuestros propios archivos, generalmente se
suele realizar mediante una cuenta de usuario.
● En el servidor se guarda la información de las
distintas cuentas de usuario que pueden acceder a
él, de manera que para iniciar una sesión FTP
debemos introducir un login y una contraseña que
nos identifica unívocamente.

U04. Configuración de un servidor ftp: ProFTPD 17


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Cliente FTP
Modos de conexión
● FTP admite dos modos de conexión del cliente.
Instalación y mantenimiento de servicios de Internet

– Activo (o estándar o PORT, debido a que el cliente


envía comandos tipo PORT al servidor por el canal de
control al establecer la conexión).
– Pasivo (o PASV, porque en este caso envía
comandos tipo PASV).
● Tanto en el modo activo como en el modo pasivo, el
cliente establece una conexión con el servidor
mediante el puerto 21, que establece el canal de
control.
Una explicación más detallada se puede encontrar en
http://www.ignside.net/man/ftp/pasivo.php (español) y en
http://slacksite.com/other/ftp.html (inglés).
U04. Configuración de un servidor ftp: ProFTPD 18
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Cliente FTP
Modos de conexión (2)
● Modo activo:
Instalación y mantenimiento de servicios de Internet

– El servidor siempre crea el canal de datos en su


puerto 20, mientras que en el lado del cliente el canal
de datos se asocia a un puerto aleatorio mayor que el
1024.
– Para esto, el cliente manda un comando PORT al
servidor por el canal de control indicándole ese
número de puerto, de manera que el servidor pueda
abrirle una conexión de datos por donde se
transferirán los archivos y los listados, en el puerto
especificado.

U04. Configuración de un servidor ftp: ProFTPD 19


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Cliente FTP
Modos de conexión (3)
● Modo activo (cont.):
Instalación y mantenimiento de servicios de Internet

– Lo anterior tiene un grave problema de seguridad.


Éste es que la máquina cliente debe estar dispuesta a
aceptar cualquier conexión de entrada en un puerto
superior al 1024, con los problemas que ello implica si
tenemos el equipo conectado a una red insegura
como Internet. De hecho, los cortafuegos que se
instalen en el equipo para evitar ataques
seguramente rechazarán esas conexiones aleatorias.
– Para solucionar esto se desarrolló el modo pasivo.

U04. Configuración de un servidor ftp: ProFTPD 20


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Cliente FTP
Modos de conexión (4)
● Modo pasivo:
Instalación y mantenimiento de servicios de Internet

– Cuando el cliente envía un comando PASV sobre el


canal de control, el servidor FTP abre un puerto
efímero (cualquiera entre el 1024 y el 5000) e informa
de ello al cliente FTP para que, de esta manera, sea
el cliente quien conecte con ese puerto del servidor y
así no sea necesario aceptar conexiones aleatorias
inseguras para realizar la transferencia de datos.
● Antes de cada nueva transferencia, tanto en el modo
activo como en el pasivo, el cliente debe enviar otra
vez un comando de control, y el servidor recibirá esa
conexión de datos en un nuevo puerto aleatorio (si
está en pasivo) o por el puerto 20 (si está en activo).
U04. Configuración de un servidor ftp: ProFTPD 21
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Tipos de transferencia de
archivos
● Se debe conocer cómo transportar un archivo a lo
Instalación y mantenimiento de servicios de Internet

largo de la red porque si no utilizamos las opciones


adecuadas podemos destruir la información del
archivo.
● Por eso, al ejecutar el cliente FTP, debemos indicar
el tipo de archivo que se va a transmitir:
– Texto o ascii: adecuado para transferir archivos que
sólo contengan caracteres imprimibles (archivos
ASCII), por ejemplo páginas HTML.
– Binario: usado cuando se trata de archivos
comprimidos, ejecutables, imágenes, archivos de
audio...
U04. Configuración de un servidor ftp: ProFTPD 22
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Tipos de transferencia de
archivos (2)
● Ejemplos de cómo transferir algunos tipos de archivo
Instalación y mantenimiento de servicios de Internet

dependiendo de su extensión:
– txt (texto) → ascii
– html (página WEB) → ascii
– doc (documento) → binary
– ps (poscript) → ascii
– tar (empaquetado) → binary
– ZIP (comprimido) → binary

U04. Configuración de un servidor ftp: ProFTPD 23


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Comandos
● Algunos de los comandos FTP:
Instalación y mantenimiento de servicios de Internet

open servidor Inicia una conexión con un servidor FTP


close Finaliza una conexión FTP sin cerrar el programa cliente
cd directorio Cambia el directorio de trabajo en el servidor
delete archivo Borra un archivo en el servidor
dir o ls Muestra el contenido del directorio en el que estamos en el
servidor
get archivo Obtiene un archivo
lcd directorio Cambia el directorio de trabajo local
put archivo Envía un archivo al directorio activo del servidor
mput archivos Envía múltiples archivos
pwd Muestra el directorio activo en el servidor
bin o binary Activa el modo de transferencia binario
ascii Activa el modo de transferencia en modo texto ASCII
user Para cambiar nuestro nombre de usuario y contraseña sin
necesidad de salir de la sesión FTP

U04. Configuración de un servidor ftp: ProFTPD 24


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Instalación
Suse
● ProFTPD no está en los repositorios oficiales de
Instalación y mantenimiento de servicios de Internet

Suse y “tampoco existen rpm” para facilitar la


instalación, por lo que lo instalaremos desde a partir
de código fuente.
● Descargamos el archivo proftpd-1.3.0a.tar.gz
con los fuentes (source) desde:
– www.proftpd.org → y elegimos un servidor.
– ftp://ftp4.fr.proftpd.org/mirrors/ftp.proftpd.org/distrib/source
● Descomprimimos el archivo:
tar xvfz proftpd-1.3.0a.tar.gz
● Nos ponemos dentro del directorio recién extraído:
cd proftpd-1.3.0a
U04. Configuración de un servidor ftp: ProFTPD 25
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Instalación
Suse (2)
¡OjO!
● Y ejecutamos los siguientes comandos: Antes de ejecutar
Instalación y mantenimiento de servicios de Internet

estos comandos hay


./configure –sysconfdir=/etc que tener instalado
gcc con sus
make correspondientes
make install dependencias.

● Por último, eliminamos los archivos de la instalación:


cd ..
rm -fr proftpd-1.3.0a*
● A continuación, hay que crear el archivo
/etc/init.d/proftpd (no lleva extensión) con el
siguiente contenido:

U04. Configuración de un servidor ftp: ProFTPD 26


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Instalación
Suse (3)
#! /bin/sh proftpd_cfg="/etc/proftpd.conf"
# Copyright (c) 2000-2001 SuSE GmbH Nuernberg, Germany. proftpd_bin="/usr/local/sbin/proftpd"
# All rights reserved. proftpd_pid="/usr/local/var/proftpd.pid"
Instalación y mantenimiento de servicios de Internet

#
# Original author: Marius Tomaschewski <mt@suse.de> [ -r $proftpd_cfg ] || exit 6
# [ -x $proftpd_bin ] || exit 5
# Slightly modified in 2003 for use with SuSE Linux 8.1,
# by http://www.learnlinux.co.uk/ # Source status functions
# . /etc/rc.status
# Slightly modified in 2005 for use with SuSE Linux 9.2,
# by Falko Timme # First reset status of this service
# rc_reset
# /etc/init.d/proftpd
# case "$1" in
### BEGIN INIT INFO start)
# Provides: proftpd echo -n "Starting ProFTPD Server: "
# Required-Start: $network $remote_fs $syslog $named test -f /etc/shutmsg && rm -f /etc/shutmsg
# Required-Stop: /sbin/startproc $proftpd_bin
# Default-Start: 3 5 rc_status -v
# Default-Stop: 0 1 2 6 ;;
# Description: Starts ProFTPD server
### END INIT INFO stop)
echo -n "Shutting down ProFTPD Server: "
# Determine the base and follow a runlevel link name. test -x /usr/local/sbin/ftpshut && /usr/local/sbin/ftpshut now
base=${0##*/} && sleep 1
link=${base#*[SK][0-9][0-9]} /sbin/killproc -TERM $proftpd_bin
test -f /etc/shutmsg && rm -f /etc/shutmsg
# Force execution if not called by a runlevel directory. rc_status -v
test $link = $base && START_PROFTPD=yes ;;
test "$START_PROFTPD" = yes || exit 0
# Return values acc. to LSB for all commands but restart)
# status (see below): ## If first returns OK call the second, if first or
# ## second command fails, set echo return value.
# 0 - success $0 stop
# 1 - generic or unspecified error $0 start
# 2 - invalid or excess argument(s) rc_status
# 3 - unimplemented feature (e.g. "reload") ;;
# 4 - insufficient privilege
# 5 - program is not installed try-restart)
# 6 - program is not configured ## Stop the service and if this succeeds (i.e. the
# 7 - program is not running ## service was running before), start it again.
## Note: not (yet) part of LSB (as of 0.7.5)
U04. Configuración de un servidor ftp: ProFTPD 27
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Instalación
Suse (4)
$0 status >/dev/null && $0 restart
rc_status
;;
Instalación y mantenimiento de servicios de Internet

reload|force-reload)
## Exclusive possibility: Some services must be stopped
## and started to force a new load of the configuration.
echo -n "Reload ProFTPD Server: "
/sbin/killproc -HUP $proftpd_bin
rc_status -v
;;

status)
# Status has a slightly different for the status command:
# 0 - service running
# 1 - service dead, but /var/run/ pid file exists
# 2 - service dead, but /var/lock/ lock file exists
# 3 - service not running
echo -n "Checking for ProFTPD Server: "
checkproc $proftpd_bin
rc_status -v
;;

probe)
## Optional: Probe for the necessity of a reload,
## give out the argument which is required for a reload.
[ $proftpd_cfg -nt $proftpd_pid ] && echo reload
;;

*)
echo "Usage: $0 {start|stop|status|restart|reload|try-restart|
probe}"
exit 1
;;
esac

# Set an exit status.


rc_exit

U04. Configuración de un servidor ftp: ProFTPD 28


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Instalación
Suse (5)
● Por último, ejecutaremos:
Instalación y mantenimiento de servicios de Internet

chmod 755 /etc/init.d/proftpd


chkconfig --add proftpd
● Y para hacer que arranque el servidor FTP:
/etc/init.d/proftpd start

U04. Configuración de un servidor ftp: ProFTPD 29


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Instalación
Ubuntu
● Para instalar ProFTPd en Ubuntu tenemos dos
Instalación y mantenimiento de servicios de Internet

opciones: desde un terminal o desde el Synaptic.


● Desde un terminal:
sudo aptitude install proftpd
● Desde el Synaptic:
– Buscamos “proftpd” (sin las comillas).
– Seleccionamos el paquete proftpd.
– Pulsamos sobre Aplicar.
● Opcionalmente podemos instalar:
– Un editor gráfico de la configuración (no se
recomienda) → gproftpd.
– La documentación → proftpd-doc.
U04. Configuración de un servidor ftp: ProFTPD 30
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Configuración básica
● Los ficheros de configuración de Apache se
Instalación y mantenimiento de servicios de Internet

encuentran en /etc/proftpd.
● Los ficheros de configuración más importantes son:
– /etc/proftpd/proftpd.conf → fichero de
configuración principal.
– /etc/proftpd/modules.conf → fichero de
configuración de los módulos y sus características.
● Sin modificar ninguno de los ficheros de
configuración, los usuarios del sistema pueden
acceder al servidor FTP. ¡OjO!
Recuerda hacer una copia
de seguridad de cualquier
archivo que vayas a editar.

U04. Configuración de un servidor ftp: ProFTPD Accede al FTP con tu usuario 31


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Configuración
Parámetros generales
● ServerType inetd|standalone
Instalación y mantenimiento de servicios de Internet

– Se recomienda usar standalone.


– Con standalone el servicio funcionará de manera
autónoma, mientras que con inetd será este
superdemonio quien lo controle.
● ServerName nombre
– Este parámetro sirve para identificar al servidor. Sólo
es descriptivo.
● Port numeroPuerto
– Indica el puerto a través del que se atenderán las
solicitudes de servicio FTP.
– Si se usa el 21, no es necesario especificarlo.
U04. Configuración de un servidor ftp: ProFTPD 32
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Configuración
Parámetros generales (2)
● UserAlias alias usuarioReal
Instalación y mantenimiento de servicios de Internet

– ProFTPd requiere un usuario real cuando los usuarios


tienen que autentificarse. Con este parámetro se
especifica un alias para un usuario real.
– El uso más frecuente de este parámetro es
UserAlias anonymous ftp
● ServerIdent on|off “descripción”
– Si está a on, muestra el mensaje escrito en
“descripción” antes de autenticar al usuario.
– Si está a off, muestra el mensaje por defecto.
– Este mensaje no se verá si se accede desde un
navegador.
U04. Configuración de un servidor ftp: ProFTPD 33
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Configuración
Parámetros generales (3)
● AccessGrantMsg “mensaje”
Instalación y mantenimiento de servicios de Internet

– Mensaje que se muestra al usuario si se ha


autenticado correctamente.
● AccessDenyMsg “mensaje”
– Mensaje que se muestra al usuario si NO se ha
autenticado correctamente.

El listado con todos los parámetros


lo puedes encontrar en http://www.proftpd.org.

U04. Configuración de un servidor ftp: ProFTPD 34


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Configuración
Limitar
● Limitar a los usuarios:
Instalación y mantenimiento de servicios de Internet

– Si se quiere permitir el acceso via FTP a unos


usuarios sí y al resto no, se debe usar la directiva
<Limit LOGIN>...</Limit>
– Por ejemplo, para que accedan al FTP sólo los
usuarios del sistema dante y trish, y no el resto de
usuarios tendríamos que editar
/etc/proftpd.conf para añadir:
...
<Limit LOGIN>
AllowUser dante trish
DenyAll
</Limit>

U04. Configuración de un servidor ftp: ProFTPD Primera práctica 35


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Configuración
Limitar (2)
● Limitar la escritura sobre un directorio concreto:
Instalación y mantenimiento de servicios de Internet

– Si se quiere denegar la escritura sobre el sitio FTP,


se debe usar la directiva
<Limit WRITE>...</Limit>
– Por ejemplo, para que no se pueda escribir en el
directorio /var/ftp/soloLectura
independientemente de que el usuario tuviera
permiso (en el sistema) de escritura:
...
<Directory /var/ftp/soloLectura>
<Limit WRITE>
DenyAll
</Limit>
</Directory>

U04. Configuración de un servidor ftp: ProFTPD 36


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Configuración
Limitar (3)
● Limitar el almacenaje sobre un directorio concreto:
Instalación y mantenimiento de servicios de Internet

– Si se quiere permitir el almacenaje sobre el sitio FTP,


se debe usar la directiva
<Limit STOR>...</Limit>
– Por ejemplo, para que se puedan subir archivos y
leerlos pero no borrarlos ni crear carpetas en el
directorio /var/ftp/almacen independientemente
de que el usuario tuviera permiso (en el sistema) de
escritura:
<Directory /var/ftp/almacen>
<Limit STOR>
AllowAll
</Limit>
</Directory>

U04. Configuración de un servidor ftp: ProFTPD 37


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Configuración
Usuarios con shell falsa
Planteamiento del problema:
Instalación y mantenimiento de servicios de Internet

– De momento, todo usuario que accede vía FTP debe


estar previamente registrado en el sistema.
– Cuando se crea la cuenta del sistema, si no se indica
lo contrario, se le conceden los permisos para iniciar
sesión en el sistema, y por lo tanto, existe una puerta
abierta a acceder remotamente al mismo (telnet,
vnc...).
– Esto es un fallo de seguridad.
● Para solucionar este problema hay que crear
cuentas que permitan el acceso al FTP pero no
puedan entrar en el sistema → shell falsa.
U04. Configuración de un servidor ftp: ProFTPD 38
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Configuración
Usuarios con shell falsa (2)
● Con este fin, en el momento de la creación del
Instalación y mantenimiento de servicios de Internet

usuario se le asignará una shell falsa.


sudo useradd -d directorio_FTP -s /bin/false usuario
● Ahora bien, para que este tipo de usuarios pueda
acceder al servidor FTP, es necesario usar el
parámetro RequireValidShell {on|off}.
● Para permitir los usuarios con shell falsa habría que
modificar el fichero de configuración y añadir:
...
RequireValidShell off

U04. Configuración de un servidor ftp: ProFTPD 39


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Configuración
Impedir navegar por el sistema
Planteamiento del problema:
Instalación y mantenimiento de servicios de Internet

– Una vez dentro del servidor FTP el usuario puede


navegar por todo el sistema de ficheros.
– En principio, como el usuario que accede al FTP es
un usuario del sistema, no debería plantear ningún
riesgo de seguridad.
– Sin embargo, puede interesarnos que no sea así.
● Para solucionar este problema se hace uso del
parámetro DefaultRoot directorio.
● Este parámetro restringe el acceso al servidor FTP al
directorio especificado y sus subdirectorios (pero no
a los superiores).
U04. Configuración de un servidor ftp: ProFTPD 40
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Configuración
Impedir navegar por el sistema (2)
● El valor por defecto de este parámetro es
Instalación y mantenimiento de servicios de Internet

DefaultRoot /
es decir, que se puede navegar por todo el sistema
de ficheros.
● Por ejemplo:
– Si sólo se permite navegar por el home del usuario:
...
DefaultRoot ~

– Si sólo se permite navegar por /var/ftp:


...
DefaultRoot /var/ftp

U04. Configuración de un servidor ftp: ProFTPD 41


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Configuración
Permisos: ficheros y directorios
● Planteamiento del problema:
Instalación y mantenimiento de servicios de Internet

– Cada vez que se crea un fichero o un directorio en el


sistema se le asignan unos permisos por defecto.
– Estos permisos surgen de hacer un AND entre los
permisos por defecto (777 para directorios y 666 para
ficheros ) con el complemento a 1 de la máscara
definida con umask.
– Por ejemplo: si umask tiene el valor 022 y se hace un
AND sobre 777, el resultado es 755.
777 777 777
AND 022 AND 755 AND 755
= =
755 rwxr-xr-x

U04. Configuración de un servidor ftp: ProFTPD 42


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Configuración
Permisos: ficheros y directorios (2)
– Por ejemplo: si umask tiene el valor 022 y se hace un
Instalación y mantenimiento de servicios de Internet

AND sobre 666, el resultado es 644.


666 666 666
AND 022 AND 755 AND 755
= =
644 rw-r--r--
● Lo mismo ocurre con los ficheros y directorios
creados vía FTP.
● En este caso la máscara viene definida por el
parámetro Umask que por defecto también vale 022.
● Por ejemplo:
– Para establecer la máscara a 022:
...
Umask 022
U04. Configuración de un servidor ftp: ProFTPD 43
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Configuración
Permisos: ficheros y directorios (3)
● Sin embargo, si desde el sistema creamos una
Instalación y mantenimiento de servicios de Internet

carpeta o un archivo, normalmente lo haremos como


root.
● Esto implica problemas con los permisos:
– root sería el propietario y el grupo.
● Para solventar este problema una vez que hayamos
creado una carpeta o archivo (desde el sistema), le
cambiaremos el propietario por ftp y el grupo
también con el comando chown.
sudo mkdir /var/ftp/publico
sudo chown -R ftp.ftp /var/ftp/publico

U04. Configuración de un servidor ftp: ProFTPD 44


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Configuración
Control de la conexiones
● Si se necesita limitar el número de conexiones FTP a
Instalación y mantenimiento de servicios de Internet

nuestro servidor, tenemos a nuestra disposición un


conjunto de parámetros.
● Los más importantes son:
– MaxInstances: limita el número de conexiones al
servicio FTP.
– MaxClients: limita el número de conexiones
diferenciando entre el número de accesos desde un
equipo y/o de un usuario.
● MaxClientsPerHost: limita las conexiones por equipo.
● MaxClientesPerUser: limita las conexiones por usuario.

U04. Configuración de un servidor ftp: ProFTPD 45


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Configuración
Control de la conexiones (2)
● Por ejemplo:
Instalación y mantenimiento de servicios de Internet

– Si se quiere establecer el límite máximo de


conexiones en 30 para el servidor FTP:
...
MaxInstances 30

– Si se quiere que el número máximo de conexiones


por host sea de 10 y el máximo por usuario sea de 5:
...
MaxClientsPerHost 10 “Número máximo de conexiones superado”
MaxClientsPerUser 5 “Ya has superado tu límite de conexiones”

El comando ftpwho
nos indica el número de conexiones,
los usuarios y el tiempo de conexión
al servidor FTP.
U04. Configuración de un servidor ftp: ProFTPD 46
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Sitios anónimos
● Un servidor FTP anónimo es aquel al que se puede
Instalación y mantenimiento de servicios de Internet

conectarse cualquier usuario con un nombre de


usuario común y sin una contraseña concreta.
– Usuario: anonymous
– Contraseña: un email o cualquier texto.
● Para crear un sitio anónimo hay que tener en cuenta
los siguientes aspectos:
– Si el servicio va a ser totalmente anónimo, ningún
otro usuario debe poder entrar al servidor. Por lo
tanto, debemos indicarlo en el bloque general:
<Limit LOGIN>
DenyAll
</Limit>
U04. Configuración de un servidor ftp: ProFTPD 47
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Sitios anónimos (2)


– Para permitir el acceso de forma anónima indicando
Instalación y mantenimiento de servicios de Internet

el directorio raíz, se usa la directiva


<Anonymous directorioRaiz>...</Anonymous>
<Anonymous /var/ftp/pub>
#Parámetros de configuración
</Anonymous>

– Cuando entremos en un sitio anónimo, realmente


estaremos usando un usuario del sistema. Ese
usuario suele ser ftp.
<Anonymous /var/ftp/pub>
User ftp
</Anonymous>

¡OjO!
Sólo se ha modificado
U04. Configuración de un servidor ftp: ProFTPD el ejemplo anterior. 48
Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Sitios anónimos (3)


– Sin embargo, por convenio se usa como nombre de
Instalación y mantenimiento de servicios de Internet

usuario anonymous para acceder a un servidor FTP


anínimo.
– El usuario anonymous no tiene una cuenta en el
sistema, sino que es un alias de una cuenta existente.
<Anonymous /var/ftp/pub>
User ftp
UserAlias anonymous ftp
</Anonymous>

– Como el usuario ftp no tiene una shell válida, es


necesario el uso de RequireValidShell off.

U04. Configuración de un servidor ftp: ProFTPD 49


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Sitios anónimos (4)


– Por último, para permitir conectarse al servidor FTP a
Instalación y mantenimiento de servicios de Internet

los usuarios anónimos habrá que usar la directiva


<Limit LOGIN>.
<Limit LOGIN>
DenyAll
</Limit>

<Anonymous /var/ftp/pub>
User ftp
UserAlias anonymous ftp
RequireValidShell off
<Limit LOGIN>
AllowAll
</Limit>
</Anonymous>

U04. Configuración de un servidor ftp: ProFTPD 50


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Hosts virtuales
● ProFTPd permite la creación de hosts virtuales de
Instalación y mantenimiento de servicios de Internet

forma muy parecida a cómo se hizo con Apache.


● En Apache se tenían dos posibilidades: hosts
virtuales basados en IP y en nombre de dominio.
● Sin embargo, un servidor FTP no tiene en cuenta el
nombre de dominio y no podremos crear hosts
virtuales basados en nombre.
● Los dos tipos de hosts virtuales que permite
ProFTPd son las siguientes:
– Hosts virtuales basados en IP.
– Hosts virtuales basados en puerto.

U04. Configuración de un servidor ftp: ProFTPD 51


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Hosts virtuales
Basados en IP
● Para crear hosts virtuales basados en IP hay que
Instalación y mantenimiento de servicios de Internet

hacer uso de la directiva


<VirtualHost direccionIP>
#Directivas y parámetros
</VirtualHost>
● Esto nos permite tener en un mismo equipo
diferentes sitios FTP anónimos y no anónimos
mediante la asignación de una IP distinta a cada uno
de ellos.

U04. Configuración de un servidor ftp: ProFTPD 52


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Hosts virtuales
Basados en puerto
● Para crear hosts virtuales basados en puerto hay
Instalación y mantenimiento de servicios de Internet

que hacer uso de la misma directiva que antes pero


especificando el puerto
<VirtualHost direccionIP>
Port numeroPuerto
#Directivas y parámetros
</VirtualHost>

U04. Configuración de un servidor ftp: ProFTPD 53


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Sitios que usan ProFTPD


● ProFTPd es un servidor FTP usado en sitios web
Instalación y mantenimiento de servicios de Internet

muy importantes como por ejemplo:


– SourceForge
– Samba → ftp.samba.org
– Linksys
– Slackware → ftp.slackware.com.
– ibiblio.org
– abebooks.com
● La lista completa de sitios se puede ver en
http://www.proftpd.org/sites.html.

U04. Configuración de un servidor ftp: ProFTPD 54


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Glosario
● FTP: File Transfer Protocol (protocolo de
Instalación y mantenimiento de servicios de Internet

transferencia de archivos).
● RFC: Request For Comments (petición de
comentarios).

U04. Configuración de un servidor ftp: ProFTPD 55


Andrés Rosique Hernández
androsique-publicaciones@yahoo.es

Bibliografía
● Libros:
Instalación y mantenimiento de servicios de Internet

– Martín Romero, A. y Martín Romero, J. Servicios de Internet.


Instalación y mantenimiento. Mira Editores, 2006.
● Enlaces:
– http://es.wikipedia.org/.
– http://www.proftpd.org/localsite/Userguide/linked/userguide.html
– http://www.proftpd.org/docs/directives/configuration_full.html.
– http://www.howtoforge.com/perfect_setup_opensuse_10.2_p7

U04. Configuración de un servidor ftp: ProFTPD 56

Vous aimerez peut-être aussi