¿Qué es un chroot?

Un chroot es un área aislada en un sistema informático donde los usuarios pueden probar programas que no son de confianza y participar en otras operaciones que no quieren que afecten al resto de la computadora. Se usa en Unix y sistemas similares, y requiere que el usuario ejecute una serie de comandos que cambian el directorio raíz usado como referencia por el programa. El comando chroot debe usarse con precaución porque el sistema aún puede ser vulnerable si no está configurado correctamente o si el usuario no tiene cuidado al operar dentro de él.

Cuando un usuario crea un entorno chroot, los programas que se ejecutan dentro de ese entorno tratan el directorio especificado como la raíz. Estos programas asumen que no hay directorios superiores y, por lo tanto, no pueden acceder al directorio raíz real en la parte superior del sistema de archivos. Esto dificulta la realización de modificaciones que puedan poner en peligro el resto del sistema. Otros programas tampoco pueden acceder y modificar la información dentro del chroot; actúa como una unidad de aislamiento.

El chroot se puede romper utilizando una variedad de técnicas. Uno de los más básicos consiste en dejar al usuario en el chroot con privilegios de root, lo que permite realizar modificaciones generalizadas en el sistema. Los programas pueden aprovechar esto para salir de su cárcel digital y acceder al resto del sistema. Por este motivo, es importante cambiar los permisos de los usuarios lo antes posible, una medida estándar en seguridad informática. Dejar a los usuarios configurados con los roles con menos privilegios como regla general puede reducir el riesgo de un problema de seguridad.

El directorio raíz falso también debe estar adecuadamente poblado con los recursos que los programas deben usar. Si no es así, es posible que no funcionen correctamente. Los usuarios generalmente mantienen todo lo que no es estrictamente necesario fuera del chroot, pero deben asegurarse de que haya cierta información disponible. A medida que los usuarios navegan por el entorno, pueden tomar nota de cualquier problema o inquietud específicos que surjan para estar al tanto antes de probar los mismos procesos en el sistema informático en general.

Este puede ser un entorno de prueba útil, donde un usuario desea explorar código o programas con un riesgo reducido para el resto del sistema. También puede ser valioso para manipular materiales desconocidos o no confiables. En lugar de cargarlos directamente en el sistema, el usuario puede usar chroot para examinarlos y evaluarlos para determinar si son seguros.