Después de seis meses de desarrollo 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 iniciar el programa, 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 interdependientes se pueden agrupar en un único sandbox. Si se desea, Firejail también se puede emplear para iniciar contenedores Docker, LXC y OpenVZ.
A diferencia de las herramientas de contención, firejail es extremadamente en su configuración y no requiere la preparación de una imagen del sistema: la composición del contenedor se forma sobre la marcha en función del contenido del sistema de archivos actual y se elimina tras la finalización de la aplicación. Se proporcionan herramientas flexibles para definir reglas de acceso al sistema de archivos, se puede determinar a qué archivos y directorios se permite o se prohíbe el acceso, conectar sistemas de archivos temporales (tmpfs) para los datos, restringir el acceso a archivos o directorios solo para lectura, combinar directorios mediante bind-mount y overlayfs.
Se han preparado perfiles de aislamiento para un gran número de aplicaciones populares, incluidos Firefox, Chromium, VLC y Transmission. En el archivo de configuración /etc/firejail/firejail.config
En esta nueva versión:
- se encuentra la configuración file-copy-limit, que permite limitar el tamaño de los archivos que se copiarán en la memoria al utilizar las opciones "—private-*" (por defecto, el límite está establecido en 500 MB). la configuración file-copy-limit, que permite limitar el tamaño de los archivos que se copiarán en memoria al utilizar las opciones «—private-*» (por defecto, el límite se establece en 500 MB).
- Se han agregado plantillas en el directorio /usr/share/doc/firejail para crear nuevos perfiles de restricción de aplicaciones.
- Se permite el uso de depuradores en los perfiles.
- Se ha mejorado el filtrado de llamadas al sistema mediante el mecanismo seccomp.
- Se asegura la autodetección de banderas del compilador.
- La llamada a chroot ahora se ejecuta no en base a la ruta, sino utilizando puntos de montaje basados en descriptores de archivo.
- El directorio /usr/share ha sido incluido en la lista blanca de diversos perfiles.
- Se han agregado nuevos scripts auxiliares gdb-firejail.sh y sort.py a la sección contrib.
- Se ha reforzado la protección en la etapa de ejecución de código privilegiado (SUID).
- Se han implementado nuevos atributos condicionales HAS_X11 y HAS_NET en los perfiles para verificar la presencia de un servidor X y acceso a la red.
- Se han agregado perfiles para un lanzamiento aislado de aplicaciones (el número total de perfiles ha aumentado a 884):
- i2p,
- tor-browser (AUR),
- Zulip,
- rsync,
- signal-cli,
- tcpdump,
- tshark,
- qgis,
- OpenArena,
- godot,
- klatexformula,
- klatexformula_cmdl,
- links,
- xlinks,
- pandoc,
- teams-for-linux,
- gnome-sound-recorder,
- newsbeuter,
- keepassxc-cli,
- keepassxc-proxy,
- rhythmbox-client,
- jerry,
- zeal,
- mpg123,
- conplay,
- mpg123.bin,
- mpg123-alsa,
- mpg123-id3dump,
- out123,
- mpg123-jack,
- mpg123-nas,
- mpg123-openal,
- mpg123-oss,
- mpg123-portaudio,
- mpg123-pulse,
- mpg123-strip,
- pavucontrol-qt,
- gnome-characters,
- gnome-character-map,
- Whalebird,
- tb-starter-wrapper,
- bzcat,
- kiwix-desktop,
- bzcat,
- zstd,
- pzstd,
- zstdcat,
- zstdgrep,
- zstdless,
- zstdmt,
- unzstd,
- ar,
- gnome-latex,
- pngquant,
- kalgebra,
- kalgebramobile,
- amuled,
- kfind,
- profanity,
- audio-recorder,
- cameramonitor,
- ddgtk,
- drawio,
- unf,
- gmpc,
- electron-mail,
- gist,
- gist-paste.
Fuente: opennet.ru
