Lanzamiento de Bubblewrap 0.4.0, una capa para crear entornos aislados

Disponible Nueva versión del kit de herramientas Plástico de burbujas 0.4.0Bubblewrap, diseñado para organizar entornos aislados en Linux, opera a nivel de aplicación para usuarios sin privilegios. En la práctica, el proyecto Flatpak lo utiliza como capa de aislamiento para las aplicaciones que se ejecutan desde paquetes. El código del proyecto está escrito en C y distribuido por bajo la licencia LGPLv2+.

Para el aislamiento se utilizan tecnologías tradicionales de virtualización de contenedores de Linux, basadas en el uso de cgroups, namespaces, Seccomp y SELinux. Para realizar operaciones privilegiadas para configurar un contenedor, Bubblewrap se inicia con derechos de root (un archivo ejecutable con un indicador suid) y luego restablece los privilegios después de que se inicializa el contenedor.

La activación de los espacios de nombres de usuario en el sistema, que permiten a los contenedores usar su propio conjunto de identificadores, no es necesaria para el funcionamiento, ya que no funciona por defecto en muchas distribuciones (Bubblewrap se presenta como una implementación SUID limitada de un subconjunto de las capacidades de los espacios de nombres de usuario; los modos CLONE_NEWUSER y CLONE_NEWPID se utilizan para excluir todos los identificadores de usuario y proceso del entorno, excepto el actual). Para mayor protección, los ejecutables bajo
Los programas de Bubblewrap se ejecutan en modo PR_SET_NO_NEW_PRIVS, lo que prohíbe la adquisición de nuevos privilegios, por ejemplo, si está presente la bandera setuid.

El aislamiento a nivel del sistema de archivos se logra creando un nuevo espacio de nombres de montaje de forma predeterminada, en el que se crea una partición raíz vacía usando tmpfs. Si es necesario, las particiones FS externas se adjuntan a esta partición en el modo “mount —bind” (por ejemplo, cuando se inicia con la opción “bwrap —ro-bind /usr /usr”, la partición /usr se reenvía desde el sistema principal en modo de sólo lectura). Las capacidades de la red se limitan al acceso a la interfaz loopback con aislamiento de la pila de red a través de los indicadores CLONE_NEWNET y CLONE_NEWUTS.

Diferencia clave con un proyecto similar Cárcel de bomberosEn Bubblewrap, que también utiliza un modelo de lanzamiento setuid, la capa de creación de contenedores incluye solo las funcionalidades mínimas, mientras que todas las funciones avanzadas necesarias para ejecutar aplicaciones gráficas, interactuar con el escritorio y filtrar las llamadas de Pulseaudio se externalizan a Flatpak y se ejecutan tras la reducción de privilegios. Firejail, por otro lado, combina todas las funciones relacionadas en un único ejecutable, lo que dificulta la auditoría y el mantenimiento de la seguridad. nivel apropiado.

La nueva versión destaca por su compatibilidad con la vinculación de espacios de nombres de usuario y de ID de proceso (espacios de nombres PID) existentes. Se han añadido las opciones "--userns", "--userns2" y "--pidns" para controlar la vinculación de espacios de nombres.
Esta función no funciona en modo setuid y requiere el uso de un modo separado, que puede funcionar sin obtener privilegios de administrador, pero requiere activación.
espacios de nombres de usuario en el sistema (deshabilitados por defecto en Debian y RHEL/CentOS) y no excluye la posibilidad Operativo potencialmente restante vulnerabilidades Para sortear las restricciones de los "espacios de nombres de usuario", Bubblewrap 0.4 incluye nuevas funciones, como la posibilidad de compilar con la biblioteca musl de C en lugar de glibc y la opción de guardar la información de los espacios de nombres en un archivo de estadísticas JSON.

Fuente: opennet.ru

Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster