¿Es fakechroot una falla de seguridad?

¿Es fakechroot una falla de seguridad?

Recientemente sé más sobre fakechroot. AFAIK, parece peligroso ya que aumenta los privilegios del usuario, incluso si está en chroot. Lo sé, fakerootpero no es lo mismo ya que no puedes hacer nada con él que requiera root.

Sin embargo, con fakechrootusted puede ejecutar cosas que requieren privilegios de root dentro de chroot. Entonces, ¿eso significa que fakechrootel usuario normal tiene la posibilidad de rootear el chroot y luego convertirse en root en el host?

Leí en su página de manual que fakechrootno aumenta los privilegios del usuario, lo cual no estoy seguro de entender completamente.

Respuesta1

Algunas aplicaciones de Linux sólo funcionarán si el usuario actual es root. La mayoría de estas aplicaciones se relacionan con el cambio del propio Linux, por lo que están protegidas de los usuarios comunes.

Sin embargo, a veces, cuando trabajamos como un usuario común, nos gustaría ejecutar dichos comandos sin elevación a root, solo para usarlos temporalmente para un propósito específico.

Dichos comandos no son una falla de seguridad, porque se ejecutan bajo el usuario actual y sin ningún efecto real sobre la versión de Linux en ejecución.


El mejor ejemplo de este tipo de comandos es fakeroot. Su función espretenderque es el usuario actual root, sin que esto suceda realmente.

Esto permite que los programas que esperan ejecutarse como root se ejecuten realmente como un usuario normal, mientras piensan erróneamente que las operaciones que requieren root tienen éxito.

Esto se utiliza normalmente al compilar un paquete, de modo que el proceso de instalación del paquete que se está instalando pueda continuar sin errores, incluso si ejecuta chown root:root, o install -o root, etc. fakerootrecuerda la propiedad falsa que pretendía otorgar a estos archivos, por lo que las operaciones posteriores que examinan el La propiedad será vista rootcomo el propietario en lugar del real.

Esto permite, por ejemplo, que tarejecuciones posteriores almacenen archivos como propiedad de root. fakerootEn este caso creará un tarball que contiene archivos propiedad de root y suid. Sin embargo, no podrá extraer ese archivo tar y conservar esos permisos a menos que lo haga como root, sin escalada de privilegios.

fakerootluego permite ejecutar una compilación como usuario normal, preservando al mismo tiempo los efectos que la compilación habría tenido si se hubiera ejecutado como root, lo que permite reproducirlos más tarde. La aplicación de los efectos "de verdad" requerirá privilegios de root reales, para los cuales fakerootno se proporciona ningún método para adquirirlos.


Otro ejemplo esraíz falsa. fakechrootes un programa regular no setuid. No mejora los privilegios de un usuario ni disminuye la seguridad del sistema. Crea un entorno donde es posible utilizar el comando chroot(8) sin privilegios de root, útil para llamar aptpara instalar paquetes sin necesidad de privilegios de root. De esta manera, el usuario crea un entorno raíz dentro de su propia pequeña burbuja sin afectar a nadie más en el sistema.

fakechrootno proporciona la fakerootfuncionalidad, por lo que requiere llamar fakechrootmediante el fakerootcomando. Estos dos comandos son complementarios y muchas veces se usan juntos.

información relacionada