Ubuntu 本身并不原生支持 SELinux,而是使用 AppArmor 作为其默认的安全模块。AppArmor 和 SELinux 都是 Linux 内核的安全模块,用于限制进程对系统资源的访问,但它们的设计哲学和实现方式有所不同。AppArmor 更像是一个严格的访问控制管理器,它通过定义详细的策略来限制进程的行为,而 SELinux 则采用了基于角色的访问控制模型。
尽管 Ubuntu 不使用 SELinux,但如果你在 Ubuntu 系统上需要应用类似的安全策略,你可以考虑使用 AppArmor。以下是在 Ubuntu 上配置和使用 AppArmor 的基本步骤:
AppArmor 通常在 Ubuntu 中默认启用。你可以通过以下命令检查其状态:
sudo aa-status
如果 AppArmor 未启用,你可以使用以下命令启用它:
sudo systemctl enable apparmor
sudo systemctl start apparmor
AppArmor 使用策略文件来定义安全规则。这些策略文件通常位于 /etc/apparmor.d/
目录下。你可以通过编辑这些文件来添加或修改规则。
例如,要允许 Apache Web 服务器写入特定目录,你可以编辑 /etc/apparmor.d/usr.sbin.apache2
文件,添加如下内容:
/var/www/html/ r,
/var/www/html/** w,
在修改策略文件后,你需要重新加载策略以使更改生效:
sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.apache2
AppArmor 会记录其活动日志,你可以通过以下命令查看:
sudo cat /var/log/syslog | grep apparmor
或者,使用 audit2why
和 sealert
工具来分析日志并获取解决方案建议。