火狱 是一个框架,用于开发用于图形应用程序的隔离执行的系统, 控制台和服务器。 使用Firejail 最小化损害系统的风险 运行不可靠或潜在漏洞的程序时为main。 该程序用C编写,在GPLv2许可下发行,可以在任何Linux发行版上工作。
火狱 使用名称空间,AppArmor和系统调用筛选 (seccomp-bpf)在Linux上进行隔离。 一旦启动,该程序及其所有子进程将使用内核资源的单独表示形式,例如网络堆栈,进程表和安装点。
可以将依赖的应用程序合并在一个通用的沙箱中。 如果需要,Firejail也可以用于启动Docker,LXC和OpenVZ容器。
关于Firejail
与容器保温工具不同, Firejail的配置非常简单,不需要准备系统映像: 容器的组成是基于当前文件系统的内容形成的,在应用程序结束后将其删除。
Se 提供用于设置文件系统访问规则的灵活工具, 您可以确定拒绝或拒绝访问哪些文件和目录,连接临时文件系统(tmpfs)进行数据访问,限制对文件或目录的只读访问权,使用bind-mount和overlayfs组合目录。
对于包括Firefox,Chromium,VLC等在内的大量流行应用程序,系统调用隔离配置文件已经开箱即用。
为了获得设置沙箱所需的特权,firejail可执行文件将安装有SUID根标志(初始化后,将重置特权)。
Firejail 0.9.62的新功能是什么?
在此新版本中,突出显示了 附带了更多用于启动应用的配置文件 隔离,配置文件总数达到884。
除了它 文件复制限制设置已添加到配置文件/etc/firejail/firejail.config中, 这使您可以使用“ –private- *”选项来限制将复制到内存中的文件的大小(默认情况下,该限制设置为500MB)。
chroot调用现在不基于路径进行,而是基于文件描述符使用挂载点。
其他变化:
- 在配置文件中,允许使用调试器。
- 使用seccomp机制改进了对系统调用的过滤。
- 提供了对编译器标志的自动检测。
- / usr / share目录被列入各种配置文件的白名单。
- 新的帮助程序脚本gdb-firejail.sh和sort.py已添加到conrib部分。
- 特权代码执行阶段(SUID)中的增强保护。
- 对于概要文件,实现了新的条件标志HAS_X11和HAS_NET,以验证X服务器的存在和对网络的访问。
如何在Linux上安装Firejail?
对于那些希望能够在其Linux发行版上安装Firejail的人, 他们可以按照说明进行操作 我们在下面分享。
在Debian,Ubuntu及其衍生版本上 安装非常简单,因为 他们可以从存储库中安装Firejail 其分布 或者他们可以下载准备好的Deb软件包 从 Sourceforge。
从存储库中选择安装的情况下,只需打开一个终端并执行以下命令:
sudo apt-get install firejail
或者,如果他们决定下载deb软件包,则可以使用其首选的软件包管理器进行安装,也可以使用以下命令从终端进行安装:
sudo dpkg -i firejail_0.9.62_1*.deb
而对于Arch Linux及其衍生产品 从此,只需运行:
sudo pacman -S firejail
对于Fedora,RHEL,CentOS,OpenSUSE 或任何其他支持rpm软件包的发行版都可以从 以下链接。
并通过以下方式进行安装:
sudo rpm -i firejail-0.9.62-1.x86_64.rpm
组态
安装完成后,现在我们将必须配置沙箱,并且还必须启用AppArmor。
在终端上,我们将输入:
sudo firecfg sudo apparmor_parser -r /etc/apparmor.d/firejail-default
要了解其用法和集成方式,请查阅其指南 在下面的链接中。