lanzamiento del proyecto , en el marco del cual se desarrolla un sistema para la ejecución aislada de aplicaciones gráficas, de consola y del servidor. El uso de Firejail permite minimizar el riesgo de comprometer el sistema principal al ejecutar programas no confiables o potencialmente vulnerables. El programa está escrito en C, bajo la licencia GPLv2 y puede funcionar en cualquier distribución de Linux con un núcleo superior a 3.0. Hay paquetes listos de Firejail en formatos deb (Debian, Ubuntu) y rpm (CentOS, Fedora).
Para la aislamiento en Firejail espacios de nombres (namespaces), AppArmor y filtrado de llamadas al sistema (seccomp-bpf) en Linux. Después de iniciarse, el programa y todos sus procesos secundarios utilizan vistas separadas de los recursos del núcleo, como la pila de red, la tabla de procesos y los puntos de montaje. Las aplicaciones que dependen entre sí se pueden combinar en un único sandbox. Si lo desea, Firejail también puede utilizarse para ejecutar contenedores Docker, LXC y OpenVZ.
A diferencia de las herramientas de contención, firejail es extremadamente en la configuración y no requiere la preparación de una imagen del sistema: la composición del contenedor se forma al vuelo en función del contenido del FS actual y se elimina después de finalizar la aplicación. Se proporcionan herramientas flexibles para establecer reglas de acceso al sistema de archivos, se puede definir qué archivos y directorios tienen acceso permitido o denegado, conectar para datos sistemas de archivos temporales (tmpfs), restringir el acceso a archivos o directorios solamente para lectura, combinar directorios a través de bind-mount y overlayfs.
Se han preparado perfiles de aislamiento para un gran número de aplicaciones populares, incluidos Firefox, Chromium, VLC y Transmission. de aislamiento de llamadas al sistema. Para ejecutar un programa en modo de aislamiento, basta con indicar el nombre de la aplicación como argumento de la utilidad firejail, por ejemplo, «firejail firefox» o «sudo firejail /etc/init.d/nginx start».
En esta nueva versión:
- Se ha corregido una vulnerabilidad que permitía a un proceso malicioso eludir el mecanismo de restricción de llamadas al sistema. La esencia de la vulnerabilidad es que los filtros Seccomp se copian en el directorio /run/firejail/mnt, que es accesible para escritura dentro del entorno aislado. Los procesos maliciosos que se ejecutan en modo de aislamiento pueden modificar estos archivos, lo que hará que los nuevos procesos iniciados en este mismo entorno se ejecuten sin aplicar el filtro de llamadas al sistema;
- En el filtro memory-deny-write-execute se ha bloqueado la llamada «memfd_create»;
- Se ha añadido una nueva opción «private-cwd» para cambiar el directorio de trabajo para el jail;
- Se ha añadido la opción «—nodbus» para bloquear los sockets D-Bus;
- Se ha restaurado la compatibilidad con CentOS 6;
- soporte para paquetes en formatos y .
, que para estos paquetes se debe utilizar su propia herramienta; - Se han añadido nuevos perfiles para aislar 87 programas adicionales, entre ellos mypaint, nano, xfce4-mixer, gnome-keyring, redshift, font-manager, gconf-editor, gsettings, freeciv, lincity-ng, openttd, torcs, tremulous, warsow, freemind, kid3, freecol, opencity, utox, freeoffice-planmaker, freeoffice-presentations, freeoffice-textmaker, inkview, meteo-qt, ktouch, yelp y cantata.
Fuente: opennet.ru
