Documente Academic
Documente Profesional
Documente Cultură
Descargas
Servicios
Portada
Foros
Manuales
Servicios
Cursos Linux
Sondeo
Escritorios alternativos Linux Cul prefieres?
Xfce LXDE Razor-qt Enlightenment 0.17
Prximas fechas Curso Global de Servidores con CentOS 6. Taller de programacin de Python. Curso de programacin de PHP. Prueba ALDOS 1.4.5. Nuestro sistema operativo para escritorio.
Voto Resultados
Other polls | 1,343 v oters | 2 comentarios
siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicacin, a travs de cualquier medio, por entidades con fines de lucro). c) Si altera o transf orma esta obra o genera una obra deriv ada, slo puede distribuir la obra generada bajo una licencia idntica a sta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los trminos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos deriv ados de usos legtimos u otras limitaciones no se v en af ectados por lo anterior. Licencia completa en castellano. La inf ormacin contenida en este documento y los deriv ados de ste se proporcionan tal cual son y los autores no asumirn responsabilidad alguna si el usuario o lector, hace mal uso de stos.
Introduccin.
Acerca del protocolo FTP.
FTP (File Transfer Protocol) o Protocolo de Transferencia de Archivos (o archivos informticos) es uno de los protocolos estndar ms utilizados en Internet siendo el ms 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 envo de rdenes 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. Existen dos mtodos, el modo activo y el modo pasivo. URL: http://tools.ietf.org/html/rfc959
Modo activo.
En este modo, el cliente crea una conexin de datos a travs del puerto 20 del servidor, mientras que en el cliente asocia esta conexin desde un puerto aleatorio entre 1024 y 65535, enviando el mandato PORT para indicar al servidor el puerto a utilizar para la transferencia de datos. Tiene como desventaja que el cliente FTP debe estar dispuesto a aceptar cualquier conexin de entrada asociada a puertos entre 1024 y 65535, lo que significa que el cliente tendra que estar detrs de un muro cortafuegos que acepte establecer conexiones entrantes en este rango de puertos o bien acceder hacia Internet sin un muro cortafuegos de por medio, lo que evidentemente implica un enorme riesgo de seguridad. El modo activo slo es conveniente en la ausencia de un muro cortafuegos entre el servidor y el cliente, como ocurre en los escenarios de una red de rea local.
Modo pasivo.
Fue creado como una alternativa al problema que representa el modo activo. A diferencia de ste ltimo, el modo pasivo enva un mandato PASV en lugar del mandato PORT a travs del puerto de control del servidor. ste devuelve como respuesta el nmero de puerto a travs del cual debe conectarse el cliente para hacer la transferencia de datos. El servidor puede elegir al azar cualquier puerto entre 1024 y 65535 o bien el rango de puertos determinado por el administrador del sistema. En el caso de Vsftpd, se puede definir un rango arbitrario de puertos para conexiones pasivas utilizando las opciones pasv_min_port y pasv_max_port. ste es el mtodo recomendado para servidores de acceso pblico.
http://www.alcancelibre.org/staticpages/index.php/09-como-vsftpd
1/8
10/2/2014
Acerca de RSA.
RSA, acrnimo de los apellidos de sus autores, Ron Rivest, Adi Shamir y Len Adleman, es un algoritmo para cifrar claves pblicas, el cual fue publicado en 1977 y patentado 1983, en EE.UU., por el Instituto Tecnolgico de Michigan (MIT). RSA es utilizado en todo el mundo para los protocolos destinados para el comercio electrnico. URL: http://es.wikipedia.org/wiki/RSA
Acerca de OpenSSL.
OpenSSL es una implementacin libre, de cdigo fuente abierto, de los protocolos SSL (Secure Sockets Layer o Nivel de Zcalo 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 stos comenzaron a trabajar para la divisin de seguridad de EMC Corporation. URL: http://www.openssl.org/
Acerca de X.509.
X.509 es un estndar ITU-T (estandarizacin de Telecomunicaciones de la International Telecommunication Union) 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
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 podra ser quiz el servidor FTP ms seguro del mundo. URL: http://vsftpd.beasts.org/
Archivos de configuracin.
/etc/vsftpd/chroot_list Lista que definir usuarios a enjaular o no a enjaular, dependiendo de la configuracin. /etc/vsftpd/vsftpd.conf Archivo de configuracin de VSFTPD.
El archivo /etc/vsftpd/chroot_list es inexistente, por lo cual es conveniente crearlo antes de comenzar a trabajar con la configuracin. Por favor ejecute lo siguiente antes de continuar: t o u c h/ e t c / v s f t p d / c h r o o t _ l i s t
http://www.alcancelibre.org/staticpages/index.php/09-como-vsftpd
2/8
10/2/2014
Servicio iptables.
Ejecute lo siguiente para anexar las reglas de iptables correspondientes:
i p t a b l e sAI N P U Tms t a t es t a t eN E Wmt c ppt c pd p o r t2 0jA C C E P T i p t a b l e sAI N P U Tms t a t es t a t eN E Wmt c ppt c pd p o r t2 1jA C C E P T i p t a b l e sAI N P U Tms t a t es t a t eN E Wmt c ppt c pd p o r t3 0 3 0 0 : 3 0 3 0 9jA C C E P T
Ejecute lo siguiente para guardar los cambios: s e r v i c ei p t a b l e ss a v e O bien aada lo siguiente al archivo /etc/sysconfig/iptables:
AI N P U Tms t a t es t a t eN E Wmt c ppt c pd p o r t2 0jA C C E P T AI N P U Tms t a t es t a t eN E Wmt c ppt c pd p o r t2 1jA C C E P T AI N P U Tms t a t es t a t eN E Wmt c ppt c pd p o r t3 0 3 0 0 : 3 0 3 0 9jA C C E P T
Shorewall.
Edite el archivo /etc/shorewall/rules: v i/ e t c / s h o r e w a l l / r u l e s Las reglas corresponderan a algo similar a lo siguiente, permitiendo el acceso hacia el servicio FTP desde cualquier zona del muro cortafuegos: # A C T I O NS O U R C E D E S T P R O T O D E S T S O U R C E # P O R T P O R T ( S ) 1 A C C E P T a l l f w t c p 2 0 , 2 1 , 3 0 3 0 0 : 3 0 3 0 9 # L A S TL I N E-A D DY O U RE N T R I E SB E F O R ET H I SO N E-D ON O TR E M O V E Ejecute lo siguiente al terminar de configurar las reglas para Shorewall a fin de reiniciar el muro cortafuegos: s e r v i c es h o r e w a l lr e s t a r t
Procedimientos.
SELinux y el servicio vsftpd.
SELinux controla varias funciones de el servicio vsftpd incrementando el nivel de seguridad de ste. Ejecute lo siguiente para permitir que el servidor FTP pueda asociarse a cualquier puerto sin reservar al funcionar en modo pasivo: s e t s e b o o lPf t p d _ u s e _ p a s s i v e _ m o d e1 Ejecute lo siguiente para permitir que los usuarios annimos puedan realizar procesos de escritura sobre el sistema de archivos: s e t s e b o o lPa l l o w _ f t p d _ a n o n _ w r i t e1 Si se necesita permitir el acceso utilizando las cuentas de usuarios del anfitrin local, a fin de que stos puedan acceder a sus directorio de inicio, se debe habilitar la poltica ftp_home_dir: s e t s e b o o lPf t p _ h o m e _ d i r1 Ejecute lo siguiente para hacer que SELinux permita acceder a los usuarios locales al resto del sistema de archivos: s e t s e b o o lPa l l o w _ f t p d _ f u l l _ a c c e s s1
http://www.alcancelibre.org/staticpages/index.php/09-como-vsftpd
3/8
10/2/2014
Nota.
Lo siguiente slo aplica para CentOS 5 y Red Hat Enterprise Linux 5. Ejecute lo siguiente para eliminar por completo la proteccin que brinda SELinux al servicio vsftpd y que ste funcione normalmente sin esta valiosa proteccin, haciendo que todo lo anteriormente descrito en esta seccin pierda sentido: s e t s e b o o lPf t p d _ d i s a b l e _ t r a n s1 Esta poltica es inexistente en CentOS 6 y Red Hat Enterprise Linux 6.
Archivo /etc/vsftpd/vsftpd.conf.
Utilice un editor de texto y modifique el archivo /etc/vsftpd/vsftpd.conf. v i/ e t c / v s f t p d / v s f t p d . c o n f A continuacin analizaremos las opciones a modificar o aadir segn se requiera para necesidades particulares.
Opcin anonymous_enable.
Esta opcin viene incluida en la configuracin predeterminada. 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. a n o n y m o u s _ e n a b l e = Y E S
Opcin local_enable.
Esta opcin viene incluida en la configuracin predeterminada. 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. l o c a l _ e n a b l e = Y E S
Opcin write_enable.
Esta opcin viene incluida en la configuracin predeterminada. Establece si se permite el mandato write (escritura) en el servidor. Establezca como valor YES o NO de acuerdo a lo que se requiera. w r i t e _ e n a b l e = Y E S
Nota.
Si se desea que los usuarios annimos puedan subir archivos al servidor FTP, se deben dejar estas dos opciones con valor YES, guardar el archivo /etc/vsftpd/vsftpd.conf y regresar al intrprete de mandatos para crear un directorio denominado /var/ftp/incom ing, el cual debe pertenecer al usuario y grupo ftp y tener contexto de SELinux tipo public_content_rw _t . m k d i r/ v a r / f t p / i n c o m i n g c h o w nf t p : f t p/ v a r / f t p / i n c o m i n g c h c o nRtp u b l i c _ c o n t e n t _ r w _ t/ v a r / f t p / i n c o m i n g Se recomienda que /var/ftp/incom ing est asignado como una particin independiente al resto del sistema o bien se le aplique cuota de disco al usuario ftp, porque de otro modo cualquiera podra fcilmente saturar el espacio de disco disponible, desencadenando una denegacin de servicio en el servidor.
http://www.alcancelibre.org/staticpages/index.php/09-como-vsftpd
4/8
10/2/2014
Opcin ftpd_banner.
Esta opcin viene incluida en la configuracin predeterminada. 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, pero sin signos de puntuacin. f t p d _ b a n n e r = B i e n v e n i d oa ls e r v i d o rF T Pd en u e s t r ae m p r e s a
Nota.
La funcin chroot() puede ser peligrosa si el usuario regular utilizado tiene acceso al intrprete de mandatos del sistema ( /bin/bash o /bin/sh) y adems privilegios de escritura sobre el directorio raz de su propia jaula (es decir su directorio de inicio). Los directorios de inicio de los usuarios involucrados deben tener permiso 755, sean propiedad de root y se asigne al usuario /bin/false o /sbin/nologin como intrprete de mandatos. Lo siguiente corresponde a lo que sera necesario ejecutar para modificar una cuenta de usuario regular para la cual se quiera acceder al servidor FTP utilizando chroot() con vsftpd-3.x: c h m o d7 5 5/ h o m e / m e n g a n o c h o w nr o o t : r o o t/ h o m e / m e n g a n o m k d i r/ h o m e / m e n g a n o / u p l o a d s c h o w nm e n g a n o : m e n g a n o/ h o m e / m e n g a n o / u p l o a d s u s e r m o ds/ s b i n / n o l o g i nm e n g a n o Desde la versin 3.0 de vsftpd, de modo predeterminado se impide el ingreso con chroot() a todos los usuarios regulares que tengan acceso al intrprete de mandatos o bien que posean privilegios de escritura sobre su propio directorio de inicio.
Opcin local_max_rate.
Esta opcin est ausente en la configuracin predeterminada. Puede aadirla al final del archivo /etc/vsftpd/vsftpd.conf. 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 1 MB por segundo para los usuarios locales: l o c a l _ m a x _ r a t e = 1 0 4 8 5 7 6
Opcin max_clients.
Esta opcin est ausente en la configuracin predeterminada. Puede aadirla al final del archivo /etc/vsftpd/vsftpd.conf. Establece el nmero mximo de clientes que podrn acceder simultneamente hacia el servidor FTP. En el siguiente ejemplo
http://www.alcancelibre.org/staticpages/index.php/09-como-vsftpd
5/8
10/2/2014
Opcin max_per_ip.
Esta opcin est ausente en la configuracin predeterminada. Puede aadirla al final del archivo /etc/vsftpd/vsftpd.conf. 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 sto podran quedar bloqueados innecesariamente algunos accesos. En el siguiente ejemplo se limita el nmero de conexiones por IP simultneas a un mximo de 10. m a x _ p e r _ i p = 1 0
Soporte SSL/TLS.
Siendo que todos los datos enviados a travs del protocolo FTP se hacen en texto simple (incluyendo nombres de usuario y claves de acceso), hoy en da es muy peligroso operar un servidor FTP sin SSL/TLS. VSFTPD puede ser configurado fcilmente para utilizar los protocolos SSL (Secure Sockets Layer o Nivel de Zcalo Seguro) y TLS (Transport Layer Security o Seguridad para Nivel de Transporte) a travs de un certificado RSA. Acceda al sistema como el usuario root. Acceda al directorio /etc/pki/tls/. c d/ e t c / p k i / t l s / El certificado y firma digital se pueden generar utilizando el siguiente mandato, para lo cual se utilizar una estructura X.509, algoritmo de cifrado RSA de 2048 bits, sin Triple DES, el cual permita iniciar normalmente, sin interaccin alguna, al servicio vsftpd, con una validez por 1825 das (cinco aos). Ejecute lo siguiente: o p e n s s lr e qx 5 0 9n o d e sd a y s1 8 2 5n e w k e yr s a : 2 0 4 8\ k e y o u tp r i v a t e / v s f t p d . k e y\ o u tc e r t s / v s f t p d . c r t Lo anterior solicitar se ingresen los siguientes datos: Cdigo de dos letras para el pas. Estado o provincia. Ciudad. Nombre de la empresa o bien la razn social. Unidad o seccin responsable del certificado. Nombre del anfitrin (FQDN) o bien dominio con comodn. Direccin de correo electrnico de la persona responsable del certificado. La salida devuelta sera similar a la siguiente:
Y o ua r ea b o u tt ob ea s k e dt oe n t e ri n f o r m a t i o nt h a tw i l lb e i n c o r p o r a t e di n t oy o u rc e r t i f i c a t er e q u e s t . W h a ty o ua r ea b o u tt oe n t e ri sw h a ti sc a l l e daD i s t i n g u i s h e dN a m eo r aD N . T h e r ea r eq u i t eaf e wf i e l d sb u ty o uc a nl e a v es o m eb l a n k F o rs o m ef i e l d st h e r ew i l lb ead e f a u l tv a l u e , I fy o ue n t e r' . ' ,t h ef i e l dw i l lb el e f tb l a n k .
C o u n t r yN a m e( 2l e t t e rc o d e )[ G B ] : M X S t a t eo rP r o v i n c eN a m e( f u l ln a m e )[ B e r k s h i r e ] : D i s t r i t oF e d e r a l L o c a l i t yN a m e( e g ,c i t y )[ N e w b u r y ] : M e x i c o O r g a n i z a t i o nN a m e( e g ,c o m p a n y )[ M yC o m p a n yL t d ] : E m p r e s a ,S . A .d eC . V . O r g a n i z a t i o n a lU n i tN a m e( e g ,s e c t i o n )[ ] : D i r e c c i o nC o m e r c i a l C o m m o nN a m e( e gy o u rn a m eo ry o u rs e r v e r ' sh o s t n a m e )[ ] : * . d o m i n i o . o r g E m a i lA d d r e s s[ ] : w e b m a s t e r @ d o m i n i o . o r g
El archivo del certificado (vsftpd.crt) y el de la firma digital (vsftpd.key), deben tener permisos de slo lectura para el usuario root. c h m o d4 0 0c e r t s / v s f t p d . c r tp r i v a t e / v s f t p d . k e y Regrese al directorio de inicio del usuario root. c d Edite el archivo /etc/vsftpd/vsftpd.conf: v i/ e t c / v s f t p d / v s f t p d . c o n f
http://www.alcancelibre.org/staticpages/index.php/09-como-vsftpd
6/8
10/2/2014
#H a b i l i t ae ls o p o r t ed eT L S / S S L s s l _ e n a b l e = Y E S #D e s h a b i l i t aoh a b i l i t au t i l i z a rT L S / S S Lc o nu s u a r i o sa n n i m o s a l l o w _ a n o n _ s s l = N O #O b l i g aau t i l i z a rT L S / S S Lp a r at o d a sl a so p e r a c i o n e s ,e sd e c i r , #t r a n s f e r e n c i ad ed a t o sya u t e n t i c a c i nd eu s u a r i o sl o c a l e s . #E s t a b l e c e re lv a l o rN O ,h a c eq u es e ao p c i o n a lu t i l i z a rT L S / S S L . f o r c e _ l o c a l _ d a t a _ s s l = Y E S f o r c e _ l o c a l _ l o g i n s _ s s l = Y E S #S ep r e f i e r eT L S v 1s o b r eS S L v 2yS S L v 3 s s l _ t l s v 1 = Y E S s s l _ s s l v 2 = N O s s l _ s s l v 3 = N O #R u t a sd e lc e r t i f i c a d oyf i r m ad i g i t a l r s a _ c e r t _ f i l e = / e t c / p k i / t l s / c e r t s / v s f t p d . c r t r s a _ p r i v a t e _ k e y _ f i l e = / e t c / p k i / t l s / p r i v a t e / v s f t p d . k e y #L o sd e s a r r o l l a d o r e sd eF i l e Z i l l ad e c i d i e r o nc o nl av e r s i n3 . 5 . 3q u e #e l i m i n a r a ne ls o p o r t ep a r ae la l g o r i t m od ec i f r a d o3 D E S C B C S H A , #c o ne la r g u m e n t od eq u ee s t ea l g o r i t m oe su n ad el o sm sl e n t o s . #S i ne m b a r g oc o n s t or o m p i e r o nc o m p a t i b i l i d a dc o nm i l e sd e #s e r v i d o r e sF T Pq u eu t i l i z a nF T P E S .L as o l u c i nt e m p o r a l ,m i e n t r a s #l o sd e s a r r o l l a d o r e sd eF i l e Z i l l ar a z o n a nl oa b s u r d od es u #d e c i s i n ,e su t i l i z a rl as i g u i e n t eo p c i n : s s l _ c i p h e r s = H I G H #F i l e z i l l aa d e m sr e q u i e r ed e s a c t i v a rl as i g u i e n t eo p c i nq u ep u e d e #r o m p e rc o m p a t i b i l i d a dc o no t r o sc l i e n t e s .C a b es e a l a rq u eF i l e z i l l a #s eh ac o n v e r t i d oe nu nd e s a r r o l l op o l t i c a m e n t ei n c o r r e c t op o rd e j a r #d er e s p e t a rl o se s t n d a r e s . r e q u i r e _ s s l _ r e u s e = N O Para aplicar los cambios realizados a la configuracin, reinicie el servicio vsftpd ejecutando lo siguiente: s e r v i c ev s f t p dr e s t a r t
Para salir de lftp, ejecute el mandato bye . l f t p1 9 2 . 1 6 8 . 7 0 . 1 0 5 : ~ >b y e Otros clientes son soporte para FTPES son Filezilla 3.3.x (configurar conexin como FTPES - FTP sobre TLS/SSL explcito) y WinSCP. Al momento de redactar este documento, la versin ms reciente de gFTP tienen roto el soporte para FTP sobre TLS/SSL (FTPS y FTPES). Si utiliza Filezilla es importante resaltar que a partir de la versin 3.5.3 los desarrolladores tomaron una absurda decisin que
http://www.alcancelibre.org/staticpages/index.php/09-como-vsftpd
7/8
10/2/2014
Configuracin de cuenta FTPES en Filezilla. Luego de iniciada la conexin, la primera vez que Filezilla se conecte al servidor, mostrar una ventana con la informacin del certificado y solicitar se acepte ste. Active la casilla que dice Siempre confiar en el certificado en futuras sesiones antes de hacer clic en el botn de Aceptar.
Dialogo de certificado de FTPES en Filezilla. ltima Edicin: 13/12/2013, 02:11 | Hits: 171,695
Derechos de autor 2014 Joel Barrios Dueas Todas las marcas y logotipos mencionados en este sitio de Internet son propiedad de sus respectivos dueos.. 1999-2014 Joel Barrios Dueas. Salvo que se indique lo contrario, todo el contenido est disponible bajo los trminos de la licencia Creativ e Commons Reconocimiento 2.5 . Visite nuestro Directorio de noticias y Delti.com.mx .
http://www.alcancelibre.org/staticpages/index.php/09-como-vsftpd
8/8