SELinux vs. AppArmor vs. grsecurity [关闭]


14

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

据我所知:

  • SELinux:功能最强大但最复杂
  • AppArmor:比SELinux更简单的配置/管理
  • grsecurity:通过自动培训进行简单配置,不仅具有访问控制功能,还具有更多功能

一个“服务器”提供什么样的服务?在什么环境下面向哪些受众?在这种情况下,什么对您构成“安全”?为了提供有用的答案,需要更多的信息。例如,一个纯IP时间服务器可以非常安全-所有ROM固件,无线电输入,自带的电池电量以及自动充电功能。但这对您来说可能不是一个有用的答案。那么,什么样的服务呢?Internet范围,企业范围,可信赖的工作团队,专用的点对点联网等?是否需要高可用性?可靠性?数据的完整性?访问控制?Give
mpez0

Answers:


7

我在这方面做了很多研究。我什至利用了MySQL的AppArmor的规则集。AppArmor是流程分离的最弱形式。我要利用的属性是所有进程都对某些相同的目录(例如)具有写权限/tmp/。AppArmor的优点在于,它无需利用用户/管理员的方式即可破坏某些漏洞。但是AppArmor具有一些根本的缺陷,这些缺陷不会在短期内得到修复。

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

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

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


而不是<buzzword>标签,您可以只写“我的屁股”,每个人都会知道您的意思;)
Daniel Dinnyes

通过VM,您是指Xen,KVM还是LXC / Docker?另外,请参考您的评估。
丹尼尔·丹妮斯16/12/4

1
@Daniel Dinnyes在这里没有引用,这只是个人观点,作为黑客攻击受这些缓解技术保护的现代应用程序的秘诀-最大的收获是没有什么是完美的。
2016年

1
@Daniel Dinnyes如果您对误用案例感兴趣,请从预期的用例开始。安装使用这些技术的发行版,然后在其上部署应用程序。阅读有关部署和配置这些安全系统的信息,然后查找弱点。
Rook

1
@Daniel Dinnyes查看发布的CVE,尤其是每个平台的所有公共漏洞。最近发现了一个非常好的SELinux绕过技术:exploit-db.com/exploits/40419
Rook

1

就个人而言,我将使用SELinux,因为最终我将针对某种风格的RHEL,这在大多数情况下都是开箱即用的。Red Hat还提供了一组响应迅速的维护者,并且有许多关于配置SELinux的很好的文档。以下有用的链接。


是的,但是yum和selinux真是令人讨厌。
Rook 2010年

1
我发现yum的CLI比apt更加直观。当您尝试按自己的方式使用非储备应用程序时,SELinux很烦人,但是除了需要打开某些sebool来启用非默认功能(例如,让httpd php脚本连接)之外,储备库中我从未遇到过任何问题到数据库)
Ophidian 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.