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
|
|
|
|
[Home] [FBSD Articles] [Scripts Corner] [Contribute] [Search] [FBSD Links] [Files]
About Us
FreeBSD Articles
*Hardware
*Networking
*Security
*Software
*X Windows
Forums
Defcon1 Forum
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 Users

This site cannot be duplicated without permission
© 1998 - 2008 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.