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
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”).
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.