Sunteți pe pagina 1din 6

ASR4501

Cmo configurar vsftpd


1.1. Introduccin. 1.1.1. Acerca del protocolo FTP.
FTP (File Transfer Protocol) o Protocolo de Transferencia de Archivos (o ficheros informticos) es uno de los protocolos estndar mas utilizados en Internet siendo el mas idneo para la transferencia de grandes bloques de datos a travs 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 utilizando para el envi de ordenes del cliente hacia el servidor. Prcticamente todos los sistemas operativos y plataformas incluyen soporte para FTP, lo que permite que cualquier computadora conectada a una red basada sobre TCP/IP pueda hacer uso de este servicio a travs de un cliente FTP. URL: http://tools.ietf.org/html/rfc959

1.1.2. Acerca del protocolo FTPS.


FTPS (tambin referido como FTP/SSL) es la forma de designar diferentes formas a travs de las cuales se pueden realizar transferencias seguras de ficheros a travs de FTP utilizando SSL o TLS. Son mecanismos muy diferentes a los del protocolo SFTP (SSH File Transfer Protocol). Existen dos diferentes mtodos para realizar una conexin SSL/TLS a travs de FTP. La primera y ms antigua es a travs del FTPS Implcito (Implicit FTPS), que consiste en cifrar la sesin completa a travs de los puertos 990 (FTPS) y 998 (FTPS Data), sin permitir negociacin con el cliente, el cual deber conectarse directamente al servidor FTPS con el inicio de sesin SSL/TLS. El segundo mtodo, que es el recomendado por el RFC 4217 y el utilizado por Vsftpd, es FTPS Explcito (Explicit FTPS o FTPES), donde el cliente realiza la conexin normal a travs del puerto 21 y permitiendo negociar opcionalmente una conexin TLS.

1.1.3. Acerca de RSA.


RSA, acrnimo de los apellidos de sus autores, Ron Rivest, Adi Shamir y Len Adleman, es un Algoritmo para el ciframiento de claves pblicas que fue publicado en 1977, patentado en EE.UU. en 1983 por el Instituto Tecnolgico de Michigan (MIT). RSA es utilizado ampliamente en todo el mundo para los protocolos destinados para el comercio electrnico. URL: http://es.wikipedia.org/wiki/RSA

1.1.4. Acerca de OpenSSL.


OpenSSL es una implementacin libre, de cdigo abierto, de los protocolos SSL (Secure Sockets Layer o Nivel de Zocalo Seguro) y TLS (Transport Layer Security, o Seguridad para Nivel de Transporte). Est basado sobre el extinto proyecto SSLeay, iniciado por Eric Young y Tim Hudson, hasta que estos comenzaron a trabajar para la divisin de seguridad de EMC Corporation. URL: http://www.openssl.org/

1.1.5. Acerca de X.509.


X.509 es un estndar ITU-T (estandarizacin de Telecomunicaciones de la International Telecomunicacin Unin) para infraestructura de claves pblicas (PKI, o Public Key Infrastructure). Entre otras cosas, establece los estndares para certificados de claves pblicas y un algoritmo para validacin de ruta de certificacin. Este ltimo se encarga de verificar que la ruta de un certificado sea vlida bajo una infraestructura de clave pblica determinada. Es decir, desde el certificado inicial, pasando por certificados intermedios, hasta el certificado de confianza emitido por una Autoridad Certificadora (CA, o Certification Authority). URL: http://es.wikipedia.org/wiki/X.509

Matthias Lesage

Noviembre de 2010

ASR4501

1.1.6. Acerca de vsftpd.


Vsftpd (Very Secure FTP Daemon) es un equipamiento lgico utilizado para implementar servidores de archivos a travs del protocolo FTP. Se distingue principalmente porque sus valores predeterminados son muy seguros y por su sencillez en la configuracin, comparado con otras alternativas como ProFTPD y Wu-ftpd. Actualmente se presume que vsftpd es quiz el servidor FTP ms seguro del mundo. URL: http://vsftpd.beasts.org/

1.2. Equipamiento lgico necesario.


1.2.1. Instalacin a travs de yum.
Si utiliza CentOS 4 o White Box Enterprise Linux 4, solo se necesita realizar lo siguiente para instalar o actualizar el equipamiento lgico necesario:
yum -y install vsftpd

1.2.2. Instalacin a travs de up2date.


Si se utiliza Red Hat Enterprise Linux 4, solo bastara realizar lo siguiente para instalar o actualizar el equipamiento lgico necesario:
up2date -i vsftpd

1.2.

Ficheros de configuracin.

/etc/vsftpd.user_list Lista que definir usuarios a enjaular o no a enjaular, dependiendo de la /etc/vsftpd/vsftpd.conf Fichero de configuracin.

1.3. Procedimientos.
1.3.1. Fichero /etc/vsftpd/vsftpd.conf.
Utilice un editor de texto y modifique el fichero /etc/vsftpd/vsftpd.conf. A continuacin analizaremos los parmetros a modificar o aadir, segn se requiera para necesidades particulares.

1.3.2. Parmetro anonymous_enable.


Se utiliza para definir si se permitirn los accesos annimos al servidor. Establezca como valor YES o NO de acuerdo a lo que se requiera.
anonymous_enable=YES

1.3.3. Parmetro local_enable.


Es particularmente interesante si se combina con la funcin de jaula (chroot). Establece si se van a permitir los accesos autenticados de los usuarios locales del sistema. Establezca como valor YES o NO de acuerdo a lo que se requiera.
local_enable=YES

1.3.4. Parmetro write_enable.


Establece si se permite el mandato write (escritura) en el servidor. Establezca como valor YES o NO de acuerdo a lo que se requiera.
write_enable=YES

1.3.5. Parmetro anon_upload_enable


Especifica si los usuarios annimos tendrn permitido subir contenido al servidor. Por lo general no es una funcin deseada, por lo que se acostumbra desactivar esta.
anon_upload_enable=NO

Matthias Lesage

Noviembre de 2010

ASR4501

1.3.6. Parmetro anon_mkdir_write_enable


Especifica si los usuarios annimos tendrn permitido crear directorios en el servidor. Al igual que la anterior, por lo general no es una funcin deseada, por lo que se acostumbra desactivar esta.
anon_mkdir_write_enable=NO

1.3.7. Parmetro ftpd_banner.


Este parmetro sirve para establecer el bandern 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.

1.3.8. Estableciendo jaulas para los usuarios: parmetros chroot_local_user y chroot_list_file.


De modo predeterminado los usuarios del sistema que se autentiquen tendrn 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 fcilmente con el parmetro chroot_local_user que habilitara la funcin de chroot () y los parmetros chroot_list_enable y chroot_list_file para establecer el fichero con la lista de usuarios que quedaran excluidos de la function 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 el fichero /etc/vsftpd/vsftpd.chroot_list, ya que de otro modo no arrancar el servicio vsftpd.
touch /etc/vsftpd/vsftpd.chroot_list

1.3.9. Control del ancho de banda.


1.3.9.1. Parmetro anon_max_rate.
Se utiliza para limitar la tasa de transferencia en bytes por segundo para los usuarios annimos, algo sumamente til en servidores FTP de acceso pblico. En el siguiente ejemplo se limita la tasa de transferencia a 5 Kb por segundo para los usuarios annimos:
anon_max_rate=5120

1.3.9.2. Parmetro local_max_rate.


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

1.3.9.3. Parmetro max_clients.


Establece el nmero mximo de clientes que podrn acceder simultneamente hacia el servidor FTP. En el siguiente ejemplo se limitara el acceso a 5 clientes simultneos.
max_clients=5

1.3.9.4. Parmetro max_per_ip.


Establece el nmero mximo de conexiones que se pueden realizar desde una misma direccin IP. Tome en cuenta que algunas redes acceden a travs de un servidor intermediario (Proxy) o puerta de enlace y debido a esto podran quedar bloqueados innecesariamente algunos accesos. en el siguiente ejemplo se limita el nmero de conexiones por IP simultaneas a 5.
max_per_ip=5

Matthias Lesage

Noviembre de 2010

ASR4501

1.4. Procedimientos.
1.4.1. Iniciar, detener y reiniciar el servicio vsftpd.
A diferencia de otros servicios FTP como Wu-ftpd, el servicio vsftpd no requiere configurarse para trabajar sobre demanda, aunque tiene dicha capacidad. Por lo tanto no depende de servicio xinetd. La versin incluida en distribuciones como CentOS 5, Red Hat Enterprise Linux 5 y White Box Enterprise Linux 5 puede iniciar, detenerse o reiniciar a travs de un guion similar a los del resto del sistema. Para iniciar por primera vez el servicio, utilice:
service vsftpd start

Para hacer que los cambios hechos a la configuracin surtan efecto, utilice:
service vsftpd restart

Para detener el servicio, utilice:


service vsftpd stop

1.4.2. Agregar el servicio al arranque del sistema.


Para hacer que el servicio de vsftpd este activo con el siguiente inicio del sistema, en todos los niveles de corrida (2, 3, 4, y 5), se utiliza lo siguiente:
chkconfig vsftpd on

1.5. Modificaciones necesarias en el muro cortafuegos.


Si se utiliza un cortafuegos con polticas estrictas, como por ejemplo Shorewall, es necesario abrir los puerto 20 y 21 por TCP (FTP-DATA y FTP, respectivamente). Las reglas para el fichero /etc/shorewall/rules de Shorewall correspondera a algo similar a lo siguiente:
#ACTION SOURCE DEST PROTO DEST SOURCE # PORT PORT(S) 1 ACCEPT net fw tcp 20, 21 #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

1.6. Ejercicio VSFTPD


Acceder como root al servidor correspondiente al equipo de trabajo y detener el servicio vsftpd.
service vsftpd stop

Se eliminar el paquete vsftpd del sistema y se eliminara todo resto de la configuracin anterior para poder instalarlo nuevamente y poder comenzar con una nueva configuracin.
yum -y remove vsftpd rm -fr /etc/vsftpd

Se procede a instalar de nuevo el paquete vsftpd.


yum -y install vsftpd

Se edita el fichero de configuracin utilizando vim. Este fichero tiene contenido, por lo que si aparece en blanco o como fichero nuevo, se debe salir del editor y verificar que este correcta la ruta definida en el interprete de mandatos.
vim /etc/vsftpd/vsftpd.conf

Utilizando el documento titulado Como configurar vsftpd (Very Secure FTP Daemon). Configurar los siguientes parmetros donde adems deber explicar en un reporte por escrito en papel que es lo que hace cada uno de estos parmetros con los valores que sern asignados en el ejercicio:
anonymous_enable=YES local_enable=YES

Matthias Lesage

Noviembre de 2010

ASR4501
write_enable=YES anon_upload_enable=NO anon_mkdir_write_enable=NO ftpd_banner=Bienvenido al servidor FTP de nuestra institucin. chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/vsftpd.chroot_list anon_max_rate=25600 local_max_rate=51200 max_clients=4 max_per_ip=4

Es importante crear el fichero definido en el parmetro chroot_list_file. Si este faltase, el servicio de FTP no funcionara correctamente. Debe crearse con el mandato touch del siguiente modo:
touch /etc/vsftpd/vsftpd.chroot_list

Iniciar el servicio recin configurado.


service vsftpd start

Anadir el servicio vsftpd al arranque del sistema.


chkconfig vsftpd on

Crear la cuenta de usuario pruebasftp, asignando /sbin/nologin como intrprete de mandatos, asignando /var/www/pruebasftp como directorio de inicio, asignar apache como el grupo predeterminado para el usuario, y el criptograma 1$Fvs3oU5c$4ff89riowPb1EmJ7O.QtD0 (que corresponde a 123qwe) como clave de acceso. Nota: al asignar la clave de acceso con este mtodo, los signos $ siempre se escriben como secuencia de escape utilizando \, ya que de otra forma el sistema los interpretara como variables de entorno.
useradd -s /sbin/nologin -m -d /var/www/pruebasftp -g apache --password "\ $1\$Fvs3oU5c\$4ff89riowPb1EmJ7O.QtD0" pruebasftp NOTA: El mandato anterior es una sola lnea en el intrprete de mandatos.

Se podr apreciar la actividad de del servidor FTP recin configurado consultando el contenido del fichero /var/log/xferlog. Utilice el mandato tail con la opcin -f para supervisar lo que ocurrir al realizar una transferencia a travs del servidor FTP.
tail -f /var/log/xferlog

Accediendo desde otro equipo hacia 127.0.0.1 con el usuario pruebasftp y la clave de acceso 123qwe, realizar una transferencia accediendo con el mandato ftp y subiendo cualquier fichero con el mandato mput del intrprete ftp.
ftp 127.0.0.1 Connected to 127.0.0.1 (127.0.0.1). 220 (vsFTPd 2.0.5) Name (127.0.0.1:root): pruebasftp 331 Please specify the password. Password:123qwe 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd 257 "/" ftp> put manuales-HTML.tar.bz2 local: manuales-HTML.tar.bz2 remote: manuales-HTML.tar.bz2 227 Entering Passive Mode (127,0,0,1,87,94) 150 Ok to send data. 226 File receive OK. 37347 bytes sent in 0.000198 secs (1.8e+05 Kbytes/sec) ftp> ls

Matthias Lesage

Noviembre de 2010

ASR4501

227 Entering Passive Mode (127,0,0,1,78,114) 150 Here comes the directory listing. -rw-r--r-- 1 553 48 37347 May 30 23:26 manuales-HTML.tar.bz2 226 Directory send OK. ftp> bye 221 Goodbye.

Matthias Lesage

Noviembre de 2010

S-ar putea să vă placă și