Versión de illamento da aplicación Firejail 0.9.60
Viu a luz lanzamento do proxecto Firejail 0.9.60, dentro do cal se está a desenvolver un sistema para a execución illada de aplicacións gráficas, de consola e de servidor. Usar Firejail permítelle minimizar o risco de comprometer o sistema principal cando se executan programas pouco fiables ou potencialmente vulnerables. O programa está escrito en linguaxe C, distribuído por licenciado baixo GPLv2 e pode executarse en calquera distribución de Linux cun núcleo anterior a 3.0. Paquetes listos con Firejail preparado en formatos deb (Debian, Ubuntu) e rpm (CentOS, Fedora).
Para o illamento en Firejail úsanse espazos de nomes, AppArmor e filtrado de chamadas ao sistema (seccomp-bpf) en Linux. Unha vez lanzado, o programa e todos os seus procesos fillos usan vistas separadas dos recursos do núcleo, como a pila de rede, a táboa de procesos e os puntos de montaxe. As aplicacións que dependen unhas doutras pódense combinar nun mesmo sandbox común. Se o desexa, Firejail tamén se pode usar para executar contedores Docker, LXC e OpenVZ.
A diferenza das ferramentas de illamento de contedores, o firejail é extremadamente simple na configuración e non require a preparación dunha imaxe do sistema: a composición do recipiente fórmase sobre a marcha en función do contido do sistema de ficheiros actual e elimínase despois de completar a aplicación. Ofrécense medios flexibles para establecer regras de acceso ao sistema de ficheiros; pode determinar a que ficheiros e directorios se lles permite ou denegar o acceso, conectar sistemas de ficheiros temporais (tmpfs) para os datos, limitar o acceso a ficheiros ou directorios a só lectura, combinar directorios mediante bind-mount e superposicións.
Para un gran número de aplicacións populares, incluíndo Firefox, Chromium, VLC e Transmission, listas perfís illamento de chamadas do sistema. Para executar un programa en modo illado, simplemente especifique o nome da aplicación como argumento para a utilidade firejail, por exemplo, "firejail firefox" ou "sudo firejail /etc/init.d/nginx start".
Na nova versión:
Solucionouse unha vulnerabilidade que permite que un proceso malicioso eludir o mecanismo de restrición de chamadas do sistema. A esencia da vulnerabilidade é que os filtros Seccomp se copian no directorio /run/firejail/mnt, que se pode escribir no ambiente illado. Os procesos maliciosos que se executan en modo de illamento poden modificar estes ficheiros, o que fará que se executen novos procesos que se executan no mesmo entorno sen aplicar o filtro de chamadas ao sistema;
O filtro memory-deny-write-execute garante que a chamada "memfd_create" estea bloqueada;
Engadida unha nova opción "private-cwd" para cambiar o directorio de traballo para o cárcere;
Engadida a opción "--nodbus" para bloquear sockets D-Bus;