SELinux 与 AppArmor 与 grsecurity

14 security linux hardening

我必须设置一个应该尽可能安全的服务器。您会使用哪种安全增强功能,为什么是 SELinux、AppArmor 或 grsecurity?你能给我一些提示,提示,这三个的优点/缺点吗?

AFAIK:

  • SELinux:最强大但最复杂
  • AppArmor:比 SELinux 更简单的配置/管理
  • grsecurity:由于自动训练,配置简单,功能不仅仅是访问控制

Roo*_*ook 7

我在这方面做了很多研究。我什至利用了AppArmor 的 MySQL 规则集。AppArmor 是最弱的进程分离形式。我正在利用的属性是所有进程都具有对某些相同目录的写权限,例如/tmp/. AppArmor 的优点在于它可以在不妨碍用户/管理员的情况下破解一些漏洞。然而,AppArmor 有一些根本性的缺陷,短期内不会修复。

SELinux 很安全,也烦人。与 AppAmoror 不同的是,在重新配置 SELinux 之前,大多数合法应用程序都不会运行。大多数情况下,这会导致管理员错误配置 SELinux 或将其全部禁用。

grsecurity 是一个非常大的工具包。我最喜欢的是grsecuirty 的增强型chroot。这比 SELinux 更安全,尽管设置 chroot jail 需要一些技巧和一些时间,而 SELinux 和 AppAprmor“可以正常工作”。

有第四个系统,虚拟机。在 VM 环境中发现了允许攻击者“爆发”的漏洞。然而,VM 比 chroot 具有更大的分离,因为在 VM 中,您在进程之间共享更少的资源。提供给虚拟机的资源是虚拟的,可以有其他的虚拟机之间几乎没有重叠。这也涉及到<buzzword>云计算</buzzword>。在云环境中,您可以在数据库和 Web 应用程序之间进行非常清晰的分离,这对安全性很重要。也有可能 1 个漏洞可以拥有整个云和在其上运行的所有 VM。


Oph*_*ian 1

就我个人而言,我会使用 SELinux,因为我最终会以 RHEL 的某种风格为目标,而 RHEL 的大部分设置都是开箱即用的。Red Hat 也有一组积极响应的维护人员,并且有很多关于配置 SELinux 的非常好的文档。下面有用的链接。