Product SiteDocumentation Site

5.10. Cambio general de directorio raíz y paranoia suid

chroot es una de las posibilidades más poderosas para restringir un demonio, un ususario u otro servicio. Sólo imagine una cárcel alrededor de su objetivo, del cual no puede escapar (normalmente, hay sin embargo muchas condiciones que permiten un escape fuera de su cárcel). Si usted no confía en un usuario, puede crear un cambio en el ambiente. Ésto puede usar un pequeño espacio adicional de disco, puesto que se necesita copiar todos los ejecutables necesarios, así como las biblioteca dentro de la cárcel. Aún si el usuario hace algo malicioso, el alcance de un daño es limitado al aseguramiento.
Many services running as daemons could benefit from this sort of arrangement. The daemons that you install with your Debian distribution will not come, however, chrooted[42] per default.
This includes: name servers (such as bind), web servers (such as apache), mail servers (such as sendmail) and ftp servers (such as wu-ftpd). It is probably fair to say that the complexity of BIND is the reason why it has been exposed to a lot of attacks in recent years (see Sección 5.7, “Asegurando BIND”).
However, Debian does provide some software that can help set up chroot environments. See Sección 5.10.1, “Making chrooted environments automatically”.
Anyway, if you run any service on your system, you should consider running them as secure as possible. This includes: revoking root privileges, running in a restricted environment (such as a chroot jail) or replacing them with a more secure equivalent.
Sin embargo, esté prevenido que el seguro chroot puede estar dañado si el usuario entra en éste es el superusuario. Así que usted necesita que el servicio corra como un usuario no privilegiado. Límitando su ambien usted está límitando la palabra leíbles que el servicio de archivos ejecutables puede acceder, así, usted límita las posibilidades de una subida del privilegio por el uso de vulnerabilidades de seguridad de los sistemas locales. Incluso en ésta situación usted no puede estar copmpletamente seguro de que no hay ninguna manera para que un atacante hábil se escape de algún modo del aseguramiento. Usando solamente un servidor de programa, el cual tiene una reputación de medida de aseguramiento que es buena. Incluso la cavidad minusiosa de archivos manuales puede ser abierta por un atacante hábil interrumpiendo el sistema por dentro. Despues de todo, chroot no fue diseñado como una herramienta de comprobación.

5.10.1. Making chrooted environments automatically

There are several programs to chroot automatically servers and services. Debian currently (accepted in May 2002) provides Wietse Venema's chrootuid in the chrootuid package, as well as compartment and makejail. These programs can be used to set up a restricted environment for executing any program (chrootuid enables you to even run it as a restricted user).
Some of these tools can be used to set up the chroot environment easily. The makejail program for example, can create and update a chroot jail with short configuration files (it provides sample configuration files for bind, apache, postgresql and mysql). It attempts to guess and install into the jail all files required by the daemon using strace, stat and Debian's package dependencies. More information at http://www.floc.net/makejail/. Jailer is a similar tool which can be retrieved from http://www.balabit.hu/downloads/jailer/ and is also available as a Debian package.


[42] It does try to run them under minimum priviledge which includes running daemons with their own users instead of having them run as root.