instalación y configuración de un servidor ftp

28
UNIVERSIDAD DE CUENCA FACULTAD DE INGENIERÍA ESCUELA DE INFORMÁTICA REDES DE COMPUTADORES 1 PRÁCTICA 2: INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR FTP NOMBRES: ANGEL OSWALDO VÁZQUEZ PATIÑO NOTA: ______ INTRODUCCIÓN FTP (File Transfer Protocol) o Protocolo de Transferencia de Archivos es uno de los protocolos estándar más utilizados en Internet. Es un protocolo muy útil para la transferencia de grandes bloques de datos a través de redes que soporten TCP/IP. El servicio utiliza los puertos 20 y 21, exclusivamente sobre TCP. El puerto 20 es utilizado para el flujo de datos entre cliente y servidor. El puerto 21 es utilizado para el envío de comandos del cliente hacia el servidor. Todos los sistemas operativos y plataformas incluyen soporte para FTP, lo que permite que cualquier computador conectado a una red que funciona sobre TCP/IP pueda hacer uso de este servicio a través de un cliente FTP. Hay varias versiones de FTP disponibles en el mercado, las más conocidas son: VS-FTP, PURE- FTP. Como clientes FTP existen algunos programas disponibles, uno de ellos es Putty. El proceso servidor FTP vsftpd (o Very Secure FTP Daemon) está diseñado desde la base para ser rápido, estable y seguro. Su capacidad para manejar grandes números de conexiones de forma eficiente y segura es lo que hace que vsftpd sea el FTP preferido por Red Hat. El modelo de seguridad utilizado por vsftpd tiene tres aspectos principales: Clara separación de procesos privilegiados y sin privilegios: Procesos separados manejan tareas diferentes y cada uno de estos procesos se ejecuta con los privilegios mínimos requeridos para la tarea. Las tareas que requieren altos privilegios son manejadas por procesos con los mínimos privilegios necesarios: Influenciando las compatibilidades encontradas en la biblioteca libcap, las tareas que usualmente requieren privilegios de súper usuario se pueden ejecutar de forma más segura desde un proceso menos privilegiado. La mayoría de los procesos se ejecutan dentro de un ambiente chroot: Siempre que sea posible, se cambia la raíz de los procesos al directorio compartido; este directorio se considera luego como el ambiente chroot. Por ejemplo, si el directorio /var/ftp/ es el directorio compartido principal, vsftpd reasigna /var/ftp/ al nuevo directorio raíz, conocido como /. Esto previene actividades maliciosas de cualquier hacker potencial en algún directorio que no estén por debajo del nuevo directorio root. OBJETIVOS Los objetivos de la práctica son: a. Instalar el servicio FTP en un servidor Linux. b. Configurar y hacer disponible a usuarios del sistema el servicio FTP.

Upload: angel-vazquez

Post on 22-Jan-2016

106 views

Category:

Documents


0 download

DESCRIPTION

Procedimiento para poner a punto un servidor FTP con GNU/Linux.Referencia (estilo APA 6ta edición): Vázquez-Patiño, A. O. (2009, 27 de marzo). Instalación y configuración de un servidor FTP. Recuperado de http://www.scribd.com/doc/152093968/Instalacion-y-configuracion-de-un-servidor-FTP

TRANSCRIPT

Page 1: Instalación y configuración de un servidor FTP

UNIVERSIDAD DE CUENCA

FACULTAD DE INGENIERÍA

ESCUELA DE INFORMÁTICA

REDES DE COMPUTADORES 1

PRÁCTICA 2: INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR FTP

NOMBRES: ANGEL OSWALDO VÁZQUEZ PATIÑO

NOTA: ______

INTRODUCCIÓN

FTP (File Transfer Protocol) o Protocolo de Transferencia de Archivos es uno de los protocolos

estándar más utilizados en Internet. Es un protocolo muy útil para la transferencia de grandes

bloques de datos a través de redes que soporten TCP/IP.

El servicio utiliza los puertos 20 y 21, exclusivamente sobre TCP. El puerto 20 es utilizado para el

flujo de datos entre cliente y servidor. El puerto 21 es utilizado para el envío de comandos del

cliente hacia el servidor.

Todos los sistemas operativos y plataformas incluyen soporte para FTP, lo que permite que

cualquier computador conectado a una red que funciona sobre TCP/IP pueda hacer uso de este

servicio a través de un cliente FTP.

Hay varias versiones de FTP disponibles en el mercado, las más conocidas son: VS-FTP, PURE-

FTP. Como clientes FTP existen algunos programas disponibles, uno de ellos es Putty.

El proceso servidor FTP vsftpd (o Very Secure FTP Daemon) está diseñado desde la base para ser

rápido, estable y seguro. Su capacidad para manejar grandes números de conexiones de forma

eficiente y segura es lo que hace que vsftpd sea el FTP preferido por Red Hat.

El modelo de seguridad utilizado por vsftpd tiene tres aspectos principales:

Clara separación de procesos privilegiados y sin privilegios: Procesos separados manejan tareas

diferentes y cada uno de estos procesos se ejecuta con los privilegios mínimos requeridos para

la tarea.

Las tareas que requieren altos privilegios son manejadas por procesos con los mínimos

privilegios necesarios: Influenciando las compatibilidades encontradas en la biblioteca libcap,

las tareas que usualmente requieren privilegios de súper usuario se pueden ejecutar de forma

más segura desde un proceso menos privilegiado.

La mayoría de los procesos se ejecutan dentro de un ambiente chroot: Siempre que sea posible,

se cambia la raíz de los procesos al directorio compartido; este directorio se considera luego

como el ambiente chroot. Por ejemplo, si el directorio /var/ftp/ es el directorio compartido

principal, vsftpd reasigna /var/ftp/ al nuevo directorio raíz, conocido como /. Esto previene

actividades maliciosas de cualquier hacker potencial en algún directorio que no estén por debajo

del nuevo directorio root.

OBJETIVOS

Los objetivos de la práctica son:

a. Instalar el servicio FTP en un servidor Linux.

b. Configurar y hacer disponible a usuarios del sistema el servicio FTP.

Page 2: Instalación y configuración de un servidor FTP

c. Verificar el esquema de seguridad básica del sistema operativo en el esquema de FTP.

d. Instalar y utilizar un cliente FTP bajo el sistema Windows para la transferencia de archivos

mediante FTP

PROCEDIMIENTO

Paso 1. Instalar el software de VS-FTP (http://vsftpd.beasts.org/) a partir de un archivo RPM. Para

ello ejecutar el comando:

yum -y install vsftpd

En primer lugar verificamos si el paquete ya está instalado, esto lo hacemos como se muestra en la

siguiente imagen (si no se produce ningún resultado significa que no está instalado el paquete).

Como se ve, el paquete no está instalado aún. Para la instalación del paquete vsftpd, se descargó el

paquete desde internet y se lo instaló manualmente con el comando rmp –ivh vsftpd-2.0.7-

1.fc10.i386.rmp (debemos estar como root), como se muestra a continuación en la imagen; luego

se verifica que el paquete ya está instalado con grep.

Paso 2. Verificación de la instalación. Los archivos que normalmente se instalan con vsftpd son:

El RPM vsftpd instala el servidor /usr/sbin/vsftpd, su archivo de configuración y otros archivos

relacionados, así como también directorios FTP en el sistema. La siguiente es una lista de los

archivos y directorios considerados más a menudo cuando se configura vsftpd:

/etc/rc.d/init.d/vsftpd: El script de inicialización (initscript) utilizado por el comando

/sbin/service para iniciar, detener o volver a cargar vsftpd.

/etc/pam.d/vsftpd: El archivo de configuración de los Pluggable Authentication Modules (PAM)

para vsftpd. Este archivo define los requerimientos que debe cumplir un usuario para conectarse

a un servidor FTP.

/etc/vsftpd/vsftpd.conf: El archivo de configuración para vsftpd.

Page 3: Instalación y configuración de un servidor FTP

/etc/vsftpd/ftpusers: Una lista de los usuarios que no tienen permitido conectarse a vsftpd. Por

defecto esta lista incluye a los usuarios root, bin y daemon, entre otros.

/etc/vsftpd/user_list: Este archivo se puede configurar para negar o permitir el acceso a los

usuarios listados, dependiendo de si la directriz userlist_deny está configurada a YES (por

defecto) o a NO en /etc/vsftpd/vsftpd.conf. Si se utiliza /etc/vsftpd.user_list para permitir acceso

a los usuarios, los nombres de usuarios listados no deben aparecer en /etc/vsftpd.ftpusers.

El directorio /var/ftp/: El directorio que contiene los archivos servidos por vsftpd. También

contiene el directorio /var/ftp/pub/ para los usuarios anónimos. Ambos directorios están

disponibles para la lectura de todos, pero sólo el superusuario o root puede escribir en él.

Paso 3. Configuración de VSFTP. Para ello editar el archivo vsftpd.conf y registrar los siguientes

cambios:

anonymous_enable. Este parámetro se utiliza para definir si se permitirán los accesos anónimos al

servidor. Establezca el valor como valores YES o NO de acuerdo a lo que se requiera.

Page 4: Instalación y configuración de un servidor FTP

anonymous_enable=YES

local_enable: Este parámetro es muy útil si se combina con la función de “jaula”. Establece si se

van a permitir los accesos autenticados de los usuarios locales del sistema. Establezca el valor YES

o NO de acuerdo a lo que se requiera.

local_enable=YES

write_enable: Este parámetro establece si se permite el mandato "write" (escritura) en el servidor.

Establezca el valor YES o NO de acuerdo a lo que se requiera.

write_enable=YES

ftpd_banner: Este parámetro sirve para establecer el banner de bienvenida que será mostrado cada

vez que un usuario acceda al servidor. Puede establecerse cualquier frase breve que considere

conveniente.

ftpd_banner=Bienvenido al servidor FTP de nuestra empresa.

Estableciendo jaulas para los usuarios: chroot_local_user y chroot_list_file: De modo

predefinido los usuarios del sistema que se autentiquen tendrán acceso a otros directorios del

sistema fuera de su directorio personal. Si se desea recluir a los usuarios a solo poder utilizar su

propio directorio personal, puede hacerse fácilmente con el parámetro chroot_local_user que

habilitará la función de chroot() y los parámetros chroot_list_enable y chroot_list_file para

establecer el archivo con la lista de usuarios que quedarán excluidos de la función chroot().

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

Con lo anterior, cada vez que un usuario local se autentique en el servidor FTP, solo tendrá acceso a

su propio directorio personal y lo que este contenga. No olvide crear /etc/vsftpd/vsftpd.chroot_list,

ya que de otro modo no arrancará vsftpd.

Nota: en el archivo de configuración de la práctica no se encontró la línea

chroot_local_user=YES, pero se la incorporó.

Creación del archivo /etc/vsftpd/vsftpd.chroot_list

Control del ancho de banda. anon_max_rate: Este parámetro es utilizado para limitar la tasa de

transferencia en bytes por segundo para los usuarios anónimos, algo sumamente útil en servidores

FTP de acceso público. Por ejemplo si se desea limitar la tasa de transferencia a 5 Kb por segundo

para los usuarios anónimos:

anon_max_rate=5120

Page 5: Instalación y configuración de un servidor FTP

Nota: en el archivo de configuración de la práctica no se encontró la línea

anon_max_rate=5120, pero se la incorporó.

local_max_rate: Este parámetro hace lo mismo que anon_max_rate, pero aplica para usuarios

locales del servidor. En el siguiente ejemplo se limita la tasa de transferencia a 5 Kb por segundo

para los usuarios locales:

local_max_rate=5120

Nota: en el archivo de configuración de la práctica no se encontró la línea

local_max_rate=5120, pero se la incorporó.

max_clients: Este parámetro establece el número máximo de clientes que podrán acceder

simultáneamente hacia el servidor FTP. Por ejemplo se va a limitar el acceso a 5 clientes

simultáneos.

max_clients=5

Nota: en el archivo de configuración de la práctica no se encontró la línea max_clients=5,

pero se la incorporó.

max_per_ip: Este parámetro establece el número máximo de conexiones que se pueden realizar

desde una misma dirección IP. Tome en cuenta que algunas redes acceden a través de un servidor

proxy o puerta de enlace y debido a esto podrían quedar bloqueados innecesariamente algunos

accesos. Si se desea limitar el número de conexiones por IP simultáneas a 5, pondríamos la

siguiente línea.

max_per_ip=5

A continuación se muestra el archivo de configuración antes y después de haberlo editado con los

parámetros pedidos.

Antes

Page 6: Instalación y configuración de un servidor FTP

Después

Page 7: Instalación y configuración de un servidor FTP

Paso 4: El servicio FTP podrá inicializarse, detenerse o reinicializarse a través del comando service

y añadirse al arranque del sistema en un nivel o niveles de ejecución en particular con el mandato

chkconfig.

Para ejecutar por primera vez el servicio, ejecute:

/sbin/service vsftpd start

Para hacer que los cambios hechos a la configuración surtan efecto, ejecute:

Page 8: Instalación y configuración de un servidor FTP

/sbin/service vsftpd restart

Para detener el demonio, ejecute:

/sbin/service vsftpd stop

Para añadir VSFTPD al arranque del sistema, que son los niveles regularmente utilizados para

trabajar, ejecute:

/sbin/chkconfig vsftpd on

Paso 5. Verifique que el servicio FTP esté activo mediante el comando telnet:

telnet IP_SERVIDOR 21

Para que haya la conexión en primer lugar debemos añadir a los clientes ftp que aceptara el

servidor. Esto se realiza editando el archivo creado /etc/vsftpd/vsftpd.chroot_list; antes de editar el

archivo hemos creado un nuevo usuario en el servidor llamado clienteftp. La edición del archivo

mencionado se muestra a continuación.

A continuación se muestra la ejecución del comando telnet 192.168.0.2 21 desde la misma máquina

servidor (host2, 192.168.0.2).

A continuación se muestra la ejecución del comando ftp 192.168.0.2 desde otra máquina de la red

(host1, 192.168.0.1).

Page 9: Instalación y configuración de un servidor FTP

Paso 6. Con un usuario disponible en el sistema, conectarse al servidor FTP mediante el comando:

ftp IP_SERVIDOR y realice la transferencia de un archivo binario y de uno de texto. Indique

los comandos empleados para cada transferencia.

En primer lugar vamos a descargar desde el cliente un archivo del servidor ftp creado. Para esto lo

primero que se debe hacer es copiar archivos (para la práctica una imagen y un texto) a la carpeta

/var/ftp/pub del servidor. Los archivos de la carpeta se muestran a continuación.

Luego realizamos la descarga en modo binario desde el servidor del archivo imagendescarga.

Este procedimiento se muestra a continuación.

Se verifica que es archivo este en el directorio especificado

(/home/angelv/Descargas/descargadajpg). Esto se puede ver en la siguiente imagen.

Se utiliza el comando get para descargar algún archivo desde el servidor; existen los modos de

texto y binario, para acceder en forma binaria (por defecto) se utiliza binary y para bajar el archivo

en forma texto se utiliza ascii.

A continuación descargaremos el archivo textodescarga.txt. En la siguiente imagen se

muestra la descarga en modo texto, utilizando para ello el comando ASCII.

A continuación verificamos que el archivo se haya descargado al cliente.

Page 10: Instalación y configuración de un servidor FTP

Como siguiente paso se subirá un archivo al servidor de ftp; para tal fin se utiliza el comando put.

Un error que se presentó es que, al momento de intentar mandar el archivo desde el cliente al

servidor ftp, no se nos permite. Para arreglar el problema en el servidor tenemos que ejecutar el

siguiente comando setsebool –P ftp_home_dir=1, este comando es el que indica el navegador de

problemas SE. Este navegador muestra que se bloqueó el demonio de ftp (se muestra a

continuación).

La ejecución del comando antes mencionado se muestra a continuación.

Una vez solucionado el inconveniente, se procede a enviar el archivo

(/home/angelv/archivo.rpm) hacia el servido (/home/clienteftp/subido.rpm) en forma

binaria como se muestra a continuación.

Ahora se procede a enviar el archivo (/home/angelv/archivo.rpm) hacia el servido

(/home/clienteftp/subido.rpm) en forma texto como se muestra a continuación.

A continuación verificamos los archivos subidos al servidor (host2, 192.168.0.2).

Page 11: Instalación y configuración de un servidor FTP

Paso 7. Obtenga en Internet un cliente FTP para la versión de Microsoft Windows disponible en el

computador que emplee para realizar la práctica e instálelo. Por ejemplo, puede descargarse del sitio

Web http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html una versión de Putty y

emplearlo para realizar transferencias de archivos al servidor FTP instalado en pasos anteriores.

Otro cliente muy utilizado es Core-FTP (http://www.coreftp.com/download.html).

El cliente FTP que se descargó e instaló es Core-FTP.

A continuación se muestra el proceso de instalación.

Una vez instalado el software, iniciamos el programa.

Le podemos indicar que sea nuestro cliente FTP por defecto.

Una vez que ingresamos al programa no aparece la siguiente ventana en donde debemos poner los

datos del servidor ftp que configuramos a lo largo de la práctica.

Page 12: Instalación y configuración de un servidor FTP

Se hace click en Connect y se inicia la conexión con el servidor; después de aquello se nos presenta

el directorio del servidor y del computador de Windows (carpeta c:\), como se muestra a

continuación.

Para realizar la transferencia desde el servidor hacia el cliente (Windows Vista) hacemos click

derecho sobre el archivo a descargar (archivo.txt en el caso de la práctica) y escogemos

Download; en seguida se descarga el archivo hacia la carpeta que se indique en la parte izquierda

(E:\UNIVERSIDAD\4º AÑO\REDES DE COMPUTADORES I\TRABAJOS, TAREAS Y PRÁCTICAS\ en el

caso de la práctica). El proceso se muestra a continuación.

Page 13: Instalación y configuración de un servidor FTP

Se puede ver el archivo transferido, a la izquierda en la carpeta de Windows.

De una manera similar para transferir un archivo al servidor ftp, hacemos click derecho sobre el

archivo a transferir y escogemos Upload. El archivo se transferirá al servidor, mostrándose el

mismo a la derecha, en el directorio. El proceso se muestra a continuación.

Page 14: Instalación y configuración de un servidor FTP
Page 15: Instalación y configuración de un servidor FTP

INVESTIGACIÓN

1. Investigar y configurar el proceso de ejecución de múltiples copias de vsftpd

Lo pedido en esta parte de la práctica es llamado comúnmente como multihoming o multi-anfitrión,

eso significa que en un mismo servidor ftp se pueden ejecutar varios procesos o demonios del

mismo ftp, pero cada uno de ellos atendiendo un archivo de configuración distinto.

Lo primero que se debe hacer es crear y configurar todos los nuevos dispositivos Ethernet con su

respectiva dirección IP estática (DHCP no funciona con aliases); para el caso de esta práctica

crearemos solamente un dispositivo más aparte del que ya se tenía previamente (eth0), pero se

podrían añadir todos los que se necesiten o deseen. Vamos a la ventana de Configuración de Red

en la pestaña de Dispositivos se hace click en Nuevo. Estos primeros pasos se muestran a

continuación.

A continuación seleccionamos el dispositivo Ethernet Advanced Micro Devices [AMD] 79c970

[PCnet32 LANCE] (eth0) y configuramos el dispositivo con los parámetros (principalmente IP

192.168.0.3) más importantes; luego pulsamos el botón Adelante para posteriormente Aplicar los

cambios. Puesto que ya existe un dispositivo para la tarjeta Ethernet (eth0), el dispositivo Ethernet

que se acaba de crear tiene el alias eth0:1. A continuación se muestran los pasos dichos

anteriormente.

Page 16: Instalación y configuración de un servidor FTP

Para que vsftpd responda a las peticiones en diferentes direcciones IP, como ya se dijo

anteriormente, deben estar ejecutándose múltiples copias del demonio vsftpd. La primera copia se

debe ejecutar usando el initiscript vsftpd (/sbin/service vsftpd start). Esta copia utiliza el archivo

de configuración estándar, /etc/vsftpd/vsftpd.conf.

Cada sitio FTP adicional debe tener un archivo de configuración con un nombre único en el

directorio /etc/vsftpd/, para esta práctica se utilizará /etc/vsftpd/vsftpd-2.conf. Cada

archivo de configuración sólo debería ser legído y escrito por root. Dentro de cada archivo de

configuración para cada servidor FTP que se encuentre escuchando en la red IPv4, la siguiente

directriz debe ser única:

listen_address=N.N.N.N

Reemplazamos N.N.N.N con la única dirección IP para el sitio FTP que está siendo servido (en

cada archivo debe ser el IP de los diferentes dispositivos Ethernet). Si el sitio en cuestión está

utilizando IPv6, utilice la directriz listen_address6.

A continuación se muestra la edición del archivo /etc/vsftpd/vsftpd.conf.

Page 17: Instalación y configuración de un servidor FTP

A continuación se copia el archivo de configuración para el otro dispositivo que creamos (eth0:1);

se muestra además la edición del archivo /etc/vsftpd/vsftpd-2.conf.

Una vez que cada servidor adicional tenga su archivo de configuración listo, el demonio vsftpd se

debe lanzar con el comando siguiente:

vsftpd /etc/vsftpd/<configuration-file>

Se debe reemplazar <configuration-file> con el nombre único para el archivo de configuración, para

el caso de la práctica: /etc/vsftpd/vsftpd-2.conf; la ejecución se muestra a continuación.

Luego de realizarse estos pasos ya se tienen 2 servidores FTP ejecutándose (eth0 y eth0:1). No se

debe olvidar ejecutar o activar la interfaz alias (eth0:1), en caso de estar desactivada, se lo hace con

el comando ifup eth0:1.

A continuación se hará conección a los dos servidores ftp configurados, esto se lo hace desde el

host1 (192.168.0.1) hacia 192.168.0.2 (servidor principal) y 192.168.0.3 (servidor número 2).

Page 18: Instalación y configuración de un servidor FTP

2. Realizar la configuración del servidor Pure-FTP y hacer un cuadro comparativo

mostrando ventajas y desventajas entre las dos versiones de FTP: VS-FTPD y Pure-FTP.

En primer lugar instalaremos el paquete de pure-ftpd, antes de eso es necesario instalar también

los paquetes de mysql-libs y postgresql-libs. Luego de bajar los paquetes de internet, los

instalamos con el comando rpm –ivh archivorpm.rpm (archivorpm es el paquete a instalar). La

instalación de los tres paquetes se muestra a continuación.

A continuación procederemos con la configuración. En cuanto a la configuración, el procedimiento

es muy parecido a vsftpd, para la práctica se lo configurará con los mismos parámetros indicados

para vsftpd.

Fichero de configuración /etc/pure-ftpd/pure-ftpd.conf

Los valores predeterminados del fichero /etc/pure-ftpd/pure-ftpd.conf hacen que el

servicio funcione sin necesidad de cambio alguno y además lo haga de una forma segura. Sin

embargo existen varios parámetros que se deben conocer.

Parámetro MaxClientsNumber.

Establece el número máximo de usuarios conectados de forma simultánea. El valor predeterminado

es 50. Puede modificarse de acuerdo a un propósito en particular y disponibilidad de ancho de

banda.

MaxClientsNumber 5

Parámetro MaxClientsPerIP.

Establece el número máximo de conexiones desde una misma dirección IP. Considerando que

muchos usuarios pudieran acceder desde un servidor intermediario (proxy), lo cual significa que lo

harían con una misma dirección IP, el valor predeterminado de 8 puede ser modificado de acuerdo

al criterio del administrador.

MaxClientsPerIP 5

Parámetro DisplayDotFiles.

Establece si se permitirá mostrar los ficheros cuyo nombre inicia con un punto (ficheros ocultos)

cuando el usuario envíe un mandato de listado con la opción -a. En la mayoría de los casos, no es

conveniente permitir mostrar los ficheros ocultos.

DisplayDotFiles no

Page 19: Instalación y configuración de un servidor FTP

Parámetro NoAnonymous.

Define si se permitirán o no los accesos anónimos. En la mayoría de los casos, como un servidor

FTP público, es una función deseada. Si el administrador lo considera pertinente, puede

desactivarse cambiando el valor predeterminado no por yes.

NoAnonymous no

Parámetro AnonymousCanCreateDirs.

Define si se permite a los usuarios anónimos crear directorios cuando está permitido que éstos

puedan subir ficheros al servidor FTP. El valor predeterminado es no.

AnonymousCanCreateDirs no

Parámetro MaxLoad.

Define que los usuarios anónimos no podrán descargar desde el servidor FTP cuando éste tenga una

carga igual o superior al valor establecido. El valor predeterminado es 4.

MaxLoad 5

Parámetro AntiWarez.

Define que no sea posible descargar ficheros cuyo propietario sea el usuario ftp, como una medida

de seguridad que permitirá al administrador supervisar lo que se ha subido al servidor FTP antes de

permitir su distribución. El valor predeterminado es no, y se recomienda dejarlo de ese modo a fin

de contar con una buena política de seguridad.

AntiWarez no

Parámetro AnonymousBandwidth.

Define la tasa de Kb por segundo de descarga permitida para los usuarios anónimos.

#AnonymousBandwidth 12

Parámetro UserBandwidth.

Define la tasa de Kb por segundo de descarga permitida para todos los usuarios, incluyendo los

anónimos. Su utilización junto con el parámetro AnonymousBandwidth hace que este último no

tenga sentido. Se utiliza o bien UserBandwidth o bien AnonymousBandwidth. No puede

combinarse su uso. En el siguiente ejemplo, se establece que todos los usuarios, incluyendo los

anónimos, tendrán una tasa de hasta 12 Kb por segundo para descargar ficheros desde el servidor

FTP.

UserBandwidth 12

Parámetro umask.

Define la máscara predeterminada para los nuevos ficheros y nuevos directorios en el servidor FTP.

El valor predeterminado es 133:022. Si se desea que los ficheros subidos por un usuario solo sean

leídos por ese mismo usuario, se puede utilizar 177:077. Si se desea que los ficheros solo sean

leíbles y ejecutables para su propietario, se puede utilizar 077:077. Si se desea que los ficheros

Page 20: Instalación y configuración de un servidor FTP

subidos sean ejecutables, se puede utilizar 122:022. Si se desea que los ficheros sean leíbles para

otros usuarios, pero no puedan ser reescritos por éstos, se pude utilizar 022:022. El usuario, claro,

puede cambiar desde el cliente FTP la máscara utilizada en sus ficheros y directorios a través de

SITE CHMOD.

umask 133:022

Parámetro ProhibitDotFilesWrite.

Define si se permitirá sobreescribir ficheros que inicien con punto. Su valor predeterminado es no.

Si se trata de un servidor FTP que permite el acceso hacia el directorio raíz de un sitio virtual de un

servidor HTTP, es conveniente permitir sobrescribir los ficheros .htaccess, .htpasswd y otros

contenidos, por lo que no conviene activar este parámetro. De ser otro tipo de servidor, puede

activarse y añadir seguridad.

ProhibitDotFilesWrite no

Parámetro AnonymousCantUpload.

Define si se permitirá a los usuarios anónimos subir contenido hacia el servidor FTP. De modo

predefinido, este parámetro está activo para impedir lo anterior.

AnonymousCantUpload yes

Parámetro CreateHomeDir.

Especifica si se debe crear automática el directorio de inicio de un usuario en caso de no existir éste.

CreateHomeDir yes

Parámetro Quota.

Define la cuota de número máximo de ficheros y espacio utilizado por el usuario. Muy conveniente

y útil si se tiene un servidor FTP que permite subir contenido para un servidor HTTP compartido

por varios sitios de red virtuales. Para la presente práctica se establece una cuota máxima de 1500

ficheros y 50 MB de espacio a utilizar para los usuarios.

Quota 1500:50

Parámetro MaxDiskUsage.

Define el espacio máximo permitido en la partición que contiene /var/ftp para el servicio FTP donde

se está permitiendo que los usuarios anónimos suban contenido. El valor predeterminado es 99.

Conviene definir un límite más bajo si el servicio FTP no es prioritario en el sistema. Para la

presente práctica, se establece un uso máximo del 80% de la partición donde se localiza /var/ftp.

MaxDiskUsage 80

Parámetro CustomerProof.

Este parámetro fue diseñado para lidiar con los usuarios ignorantes a fin de impedir que realicen

operaciones que bloqueen el acceso hacia sus ficheros y/o directorios de forma accidental. Es decir,

impiden que se realicen operaciones como chmod o public_html. Si se va a utilizar el servicio como

Page 21: Instalación y configuración de un servidor FTP

parte de un servicio de hospedaje de sitios de red a través de HTTP, conviene que este parámetro

esté activo.

CustomerProof yes

A continuación se muestra el archivo de configuración antes y después de hacer las modificaciones,

siguiendo los pasos descritos anteriormente.

Antes

Page 22: Instalación y configuración de un servidor FTP
Page 23: Instalación y configuración de un servidor FTP

Después de la configuración

Page 24: Instalación y configuración de un servidor FTP

Agregar el servicio al arranque del sistema.

Page 25: Instalación y configuración de un servidor FTP

Para hacer que el servicio de pure-ftpd esté activo con el siguiente inicio del sistema, en todos los

niveles de corrida (2, 3, 4, y 5) se ejecuta el siguiente comando.

chkconfig pure-ftpd on

Iniciar, detener y reiniciar servicio.

Para iniciar por primera vez el servicio pure-ftpd, se utiliza:

service pure-ftpd start

Para hacer que los cambios hechos tras modificar la configuración surtan efecto, se utiliza:

service pure-ftpd restart

Para detener el servicio, se utiliza:

service pure-ftpd stop

Para probar el servidor pure-ftpd en funcionamiento, en primer lugar se crea un nuevo usuario que

podrá entrar al servidor pure-ftpd. Esto se muestra a continuación.

A continuación nos conectaremos como anónimo.

Page 26: Instalación y configuración de un servidor FTP

3. Adicione a la configuración de un usuario anónimo una estructura de directorios donde se

especifiquen algunos comandos que podrá emplear el usuario anónimo. Tomar como

referencia el proceso especificado en la dirección:

http://sysunconfig.net/unixtips/anon_ftp.txt

El acceso de un cliente ftp anónimo es posible, pero no tiene todos los privilegios, o no se le deja

ejecutar algunos comandos que se podrían utilizar cuando uno se ingresa como un usuario

registrado como se muestra en la imagen siguiente.

Como se sabe, dejar permisos de entrada a personas no registradas siempre es considerado como un

hueco de seguridad, en el caso del cliente Anonymous de ftp no es una excepción por lo que se

debería permitir la entrada de este sólo cuando sea absolutamente necesario.

Para permitir que el protocolo FTP trabaje en un ambiente de chroot apropiadamente, se tiene que

asegurar que el sistema de ficheros que contiene el directorio inicial de protocolo FTP no esté

montado como nosuid.

A continuación se asignarán comandos que el cliente ftp Anonymous puede utilizar cuando se

realice una conexión al servidor ftp, para agregar más comandos simplemente hay que añadirlo en

los directorios requeridos.

En primer lugar se debe crear la estructura de directorio home de ftp. Para eso se debe ejecutar los

siguientes comandos

mkdir /export/ftp/pub

mkdir /export/ftp/bin

mkdir /export/ftp/dev

mkdir /export/ftp/etc

mkdir /export/ftp/usr

mkdir /export/ftp/usr/lib

La ejecución de los mencionados comandos se muestra a continuación.

Ahora añadimos, por ejemplo, el comando ls al directorio bin que acabamos de crear. Para ello

utilizamos los siguientes comandos (copia del comando ls al directorio creado y asignación de

privilegios necesarios), cuya ejecución se muestra a continuación.

Page 27: Instalación y configuración de un servidor FTP

cp /bin/ls /export/ftp/bin

chmod 111 /export/ftp/bin/ls

Luego copiamos las librerías necesarias dentro de la estructura de directorios de ftp que creamos

con los siguientes comandos.

cp /etc/ld.so* /export/ftp/usr/lib

cp /usr/lib/libc.so.6 /lib/libdl.so.2 /export/ftp/usr/lib

cp /etc/passwd /etc/group /etc/netconfig /export/ftp/etc

Ahora se copia los archivos para resolver nombres NIS.

cp /lib/libnsl.so.1 /export/ftp/usr/lib

cp /etc/nsswitch.conf /export/ftp/etc

El siguiente paso es asignar permisos para los directorios /export/ftp/usr/lib y /export/ftp/etc

chmod 555 /export/ftp/usr/lib/*

chmod 444 /export/ftp/etc/*

A continuación asignamos permisos a todos los directorios creados.

chmod 555 /export/ftp/usr/lib

chmod 555 /export/ftp/usr

chmod 555 /export/ftp/bin

chmod 555 /export/ftp/dev

chmod 555 /export/ftp/etc

chmod 755 /export/ftp/pub

chmod 555 /export/ftp

El siguiente paso es añadir la siguiente línea al archivo de usuarios /etc/passwd: ftp:x:30000:30000:Anonymous FTP:/export/ftp:/bin/false

Page 28: Instalación y configuración de un servidor FTP

Añadimos también la siguiente línea al archivo /etc/shadow

ftp:NP:6445::::

Nos aseguramos que el propietario sea root y no FTP

chown -R root /export/ftp

REFERENCIAS

Comandos de FTP http://www.data-2013.cl/DOCS/INFORMATICA/FTP.html

Iniciar múltiples copias de vsftpd http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/es-ES/Deployment_Guide/index.html

Configuración de pure-ftpd

http://www.alcancelibre.org/staticpages/index.php/como-pure-ftpd