
Sandbox com namespaces Linux e seccomp-bpf
Firejail é uma ferramenta de segurança leve destinada a proteger um sistema Linux, configurando um ambiente restrito para executar aplicações (potencialmente não confiáveis).
Mais especificamente, é um programa de sandbox SUID que reduz o risco de violações de segurança usando namespaces do Linux, seccomp-bpf e capacidades do Linux. Ele permite que um processo e todos os seus descendentes tenham sua própria visão privada dos recursos do kernel compartilhados globalmente, como a pilha de rede, a tabela de processos e a tabela de montagem. O Firejail pode funcionar em um ambiente SELinux ou AppArmor, e é integrado com os Linux Control Groups.
Escrito em C com virtualmente nenhuma dependência, o software roda em qualquer computador Linux com versão de kernel 3.x ou mais recente. Ele pode colocar em sandbox qualquer tipo de processo: servidores, aplicações gráficas e até sessões de login de usuário. O software inclui perfis de sandbox para vários programas Linux mais comuns, como Mozilla Firefox, Chromium, VLC, Transmission etc.
A sandbox é leve, a sobrecarga é baixa. Não há arquivos de configuração complicados para editar, nenhuma conexão de socket aberta, nenhum daemon rodando em segundo plano. Todos os recursos de segurança são implementados diretamente no kernel do Linux e disponíveis em qualquer computador Linux.
Quick Start |
Advanced Browser Security |
Tor Browser Security |
Veja SECURITY.md.
Para as versões suportadas, veja SECURITY.md.
Nota: As versões do Debian stable e backports provavelmente estão desatualizadas, então atualmente recomendamos baixar e instalar o pacote .deb da versão mais recente:
Ou compilar a partir do código-fonte.
Debian stable (bullseye): Recomendamos usar o pacote backports.
Nota: As versões da distribuição e do PPA provavelmente estão desatualizadas, então atualmente recomendamos baixar e instalar o pacote .deb da versão mais recente:
Ou compilar a partir do código-fonte.
Nota: A recomendação do PPA é principalmente para o próprio firejail; deve ser tranquilo instalar firetools e ferramentas relacionadas ao firejail diretamente da distribuição se não estiverem no PPA, pois tendem a ser atualizadas com menos frequência.
Para Ubuntu 18.04+ e derivados (como Linux Mint), os usuários são fortemente aconselhados a usar o PPA.
Como adicionar e instalar a partir do PPA:
sudo add-apt-repository ppa:deki/firejail
sudo apt-get update
sudo apt-get install firejail firejail-profiles
Motivo: O pacote firejail para Ubuntu 20.04 ficou vulnerável ao CVE-2021-26910 por meses após um patch ter sido publicado no Launchpad:
Veja também https://wiki.ubuntu.com/SecurityTeam/FAQ:
What software is supported by the Ubuntu Security team?
Ubuntu is currently divided into four components: main, restricted, universe and multiverse. All binary packages in main and restricted are supported by the Ubuntu Security team for the life of an Ubuntu release, while binary packages in universe and multiverse are supported by the Ubuntu community.
Além disso, a versão do PPA provavelmente é mais recente e contém mais correções de perfis.
Veja as seguintes discussões para detalhes:
Firejail está disponível em múltiplas distribuições Linux:
Além das exceções mencionadas acima, desde que sua distribuição forneça uma versão suportada do firejail, geralmente é uma boa ideia instalá-lo a partir da distribuição.