我必须设置一台应该尽可能安全的服务器。您将使用哪种安全性增强功能?为什么使用SELinux,AppArmor或grsecurity?您能给我这三个方面的提示,提示和优点/缺点吗?
据我所知:
- SELinux:功能最强大但最复杂
- AppArmor:比SELinux更简单的配置/管理
- grsecurity:通过自动培训进行简单配置,不仅具有访问控制功能,还具有更多功能
我必须设置一台应该尽可能安全的服务器。您将使用哪种安全性增强功能?为什么使用SELinux,AppArmor或grsecurity?您能给我这三个方面的提示,提示和优点/缺点吗?
据我所知:
Answers:
我在这方面做了很多研究。我什至利用了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>
标签,您可以只写“我的屁股”,每个人都会知道您的意思;)
就个人而言,我将使用SELinux,因为最终我将针对某种风格的RHEL,这在大多数情况下都是开箱即用的。Red Hat还提供了一组响应迅速的维护者,并且有许多关于配置SELinux的很好的文档。以下有用的链接。