13.07.2015 Views

SEGURIDAD EN UNIX Y REDES

SEGURIDAD EN UNIX Y REDES

SEGURIDAD EN UNIX Y REDES

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

180CAPÍTULO 11. ALGUNOS SERVICIOS Y PROTOCOLOSfichero o subdirectorio ha de pertenecer nunca a ftp) y al grupo al que pertenece ftp: con estoconseguimos que los permisos de propietario sean para el administrador y los de grupo para losusuarios anónimos; estos permisos serán 555.Dentro del $HOME de ftp hemos de crear el árbol de directorios mínimo para poder trabajarcorrectamente; esto es debido a la llamada a chroot() que se utiliza en los accesos anónimos,que permite a esos usuarios ver el directorio raíz de su conexión en el directorio real ~ftp/. Almenos dos directorios son necesarios: etc/ y bin/, ambos propiedad de root y con modo 111. Enel primero de ellos hemos de crear un fichero passwd y otro group, utilizados no con propósitosde autenticación sino para visualizar el propietario y grupo de cada fichero en el entorno sobreel que se ha aplicado chroot() al ejecutar ls: por tanto, no hace falta ninguna contraseña enese fichero passwd, y sólo ha de contener entradas para los usuarios que posean ficheros bajo lajerarquía de ftp, como root; de la misma forma, el fichero group sólo ha de contener las entradascorrespondientes a grupos que posean ficheros en dicha jerarquía:anita:~# cat /export/home/ftp/etc/passwdroot:*:0:1:El Spiritu Santo:/:/sbin/shanita:~# cat /export/home/ftp/etc/grouproot::0:other::1:daemon::2:ftp::30000:anita:~#Como vemos, el usuario ftp tiene un shell denominado /bin/false; aunque aquí no tiene ningúnefecto, en el archivo de contraseñas real de la máquina esto es útil para prevenir que dicho usuariopueda conectar mediante telnet o similar.Por su parte, en el otro directorio que hemos creado (bin/) hemos de almacenar una copia delprograma ls, de forma que los usuarios puedan listar los contenidos de los directorios cuyos permisoslo permitan; si utilizamos una versión estática del programa, como hace por ejemplo Linux,no hemos de configurar nada para que la aplicación funcione, pero si en cambio utilizamos unls dinámico (como SunOS o Solaris) hemos de crear el directorio lib/ dentro de ~ftp/ y copiaren él las librerías necesarias para que el programa funcione (podemos ver de cuáles se trata con ldd).Con estos pasos ya tenemos configurada la base de nuestro servidor de ftp anónimo; no obstante,es habitual crear dos directorios más, uno denominado pub/ y otro incoming/, dentro de la mismajerarquía que los anteriores (esto es, en el $HOME del usuario ftp). El primero suele contenerdirectorios con todos los ficheros que deseemos ofrecer a los usuarios anónimos; su modo ha de ser555, o 2555 en los sistemas que utilicen el bit setgid en un directorio para que sus subdirectorios yficheros hereden el grupo del propietario. El directorio incoming es justo lo contrario: sirve paraque esos usuarios anónimos puedan enviar archivos a nuestra máquina. Y es aquí donde suelen comenzarmuchos problemas: al permitir el upload de software, es posible que algunos piratas utilicennuestra máquina para crear servidores warez, subiendo programas comerciales a este directorio yluego indicando su localización exacta a otras personas, para que los puedan descargar. Por tanto,los permisos de incoming son vitales para nuestra seguridad (incluso si no deseamos que los usuariosanónimos nos envíen ficheros podemos borrar este directorio): esos permisos han de ser 1733,y el propietario del directorio es el root. ¿Para qué ponemos el bit de permanencia? Muy sencillo:para que los usuarios no puedan sobreescribir o borrar ficheros existentes; aunque la mayoría deservidores ftp no permiten a los usuarios anónimos sobreescribir ficheros, si no pusiéramos estemodo un usuario normal del sistema sí que podría hacerlo.Algunos problemas relacionados con incoming/ provienen de los permisos con que se crean susficheros y subdirectorios: aunque los usuarios anónimos no puedan leer el directorio, con algunosservidores ftpd sí que es posible que puedan leer los ficheros contenidos en él (y sus subdirectorios),

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!