Defcon-1-Logo

           [Home]    [FBSD Articles]    [Scripts Corner]    [Contribute]    [Search]    [FBSD Links]    [Files]

About Us

FreeBSD Articles
  *Hardware
  *Networking
  *Security
  *Software
  *X Windows


Files / Scripts
Newbies Corner
Tech. Talk
Tips and Tricks


FreeBSD Links

Articles in other
Languages :
  *French Articles
  *Spanish Articles

Want to Help ?
 
   Click Here

Email Users5

Search:
 

 


FreeBSD Search:


 

 

Powered-By-Apache-Logo

        Como enjaular usuarios con wu-ftpd

Yo quize enjaular a los usuarios en un servidor web, entonces de esa
forma no podrian dejar sus directorios home.
Me dijieron que podria hacer esto con el ftpd standard de FreeBSD, pero
que tendria que, recompilarlo con INTERNAL_LS="YES".
No tuve suerte, aun asi luego de darle cvsup al source.
EN vez de seguir peleando con el standard ftpd, decidi intentar wu-ftpd.
Primero que todo, wu-ftpd tenia una cadena de exploits, asi que asegurate
de checkear el sitio oficial para ver cualquier tipo de avisos sobre seguridad
y actualizaciones del mismo.
Tambien dale cvsup a tus ports para tener las ultimas verciones y patches del puerto
de wu-ftpd.
Yo pensaba que wu-ftpd me daria instrucciones con detalles acerca de como instalarlo
con las opciones correctas, pero se ve que wu-ftpd esta en el proceso de mover a autoconf.
Esto es lo que funciono para mi. Tenes que hacer el make con la opcion --enable -ls para que pueda listar los archivos del usuario una vez que este con chroot. Podes bajar el tarball o darle untar, luego cd al directorio. Typea ./configure --enable-ls para comenzar.
Luego hice un ./build fbs para hacerlo para FreeBSD.
Luego manualmente instale el binario haciendo "cd" en /bin y copiandolo el ftpd a /usr/local/libexec.

Ahora vas a tener que hacer que el FreeBSD llame a wu-ftpd en vez del al ftpd standard.
Edita /etc/inetd.conf y agrega esta linea

ftp   stream tcp   nowait root  /usr/local/libexec/ftpd ftpd -a -L

(esto quizas sea diferente dependiendo de tcp wrappers y demas)

Ahora vas a tener que typear kill -HUP 'cat /var/run/inetd.pid' para que el sistema
use el nuevo inetd.conf ya editado anteriormente.

El archivo /usr/local/etc/ftpaccess es muy importante para poder darle chroot a los usuarios. Tambien podes configurar muchos aspectos del ftpd en este archivo, y creo que debreias gastar algo de tiempo libre leyendo el man de ftpaccess, pero solamente ahora lo
que queremos es darle chroot a los usuarios.
Deberias buscar un ftpaccess.sample en /usr/local/etc para comenzar..

Necesitas una linea en /usr/local/etc/ftpaccess que sea asi
guestuser <usuario o grupo>

Esto le dice a el wu-ftpd que trate a los usuarios listeados o miembros de grupos como guests y darles chroot a la vez.

En tu archivo passwd necesitas que el home dir del usuario termine con una barra /.
Tambien podes especificar el directorio donde queres que vallan luego de logearse, cualquier otro que el que este en su home dir por default.

Un ejemplo:

ftptest:*:1001:1001:ftptest:/usr/home/ftptest/./:/etc/ftponly

Este comando va a darle chroot al usuario al directorio /usr/home/ftptest.
No va a poder ir mas lejos que /usr/home/ftptest.

ftptest:*:1001:1001:ftptest:/usr/home/ftptest/./public_html:/etc/ftponly

Este va a darle chroot al usuario a /usr/home/ftptest pero lo va a llevar a /usr/home/ftptest/public_html

Esto es util para un servidor web, hace que el usuario no tenga que moverse entre
directorios, y facilita la tarea de solo subir paginas web.

Paginas para mirar mas informacion:
http://www.wu-ftpd.org
http://www.landfield.com/wu-ftpd

Tambien, no olvides ver las paginas man.
Cualquier consulta/comentario puede ser enviado a technoid@defcon1.org

 

Email Us

ghostrdr@defcon1.org

This site cannot be duplicated without permission

© 1998 - 2010 Defcon1, www.defcon1.org. Copyrights for all materials on this web site are held by the individual authors, artists, photographers or creators. Materials may not be reproduced or otherwise distributed without permission of www.defcon1.org and the content's original author.