用什么来加固Linux机箱?Apparmor,SELinux,grsecurity,SMACK,chroot?


20

我打算回到Linux作为台式机。我想使其更加安全。并尝试一些强化技术,特别是因为我计划要获得自己的服务器。

  • 什么是好的,理智的硬化策略?我应该使用哪些工具-Apparmor,SELinux,SMACK,chroot?
  • 我应该仅使用一种工具(例如Apparmor)还是上述两种方法的组合?
  • 这些工具有哪些优点/缺点?还有其他吗?
  • 哪些配置与安全性(改进)的比率合理?
  • 我想在桌面环境中使用哪一个?在服务器环境中的哪一个。

这么多的问题。


7
提醒您一点:尝试所有所需的操作,但是如果您不完全了解安全系统,请不要在生产系统上打开它们。现实世界中的许多漏洞攻击都是针对配置错误而不是核心系统漏洞。通过安全性,更多功能肯定并不意味着更好。
吉尔斯(Gilles)'所以

2
没有任何一种安全工具可以将您的计算机神奇地变成牢不可破的机器(无论如何这都是不可能的)。您必须努力工作,试验并结合许多不同工具的设置才能实现。对于台式机和服务器计算机都是如此。另外,请尝试遵循吉尔斯的建议。在多用户计算机上应用安全实践的一个难点是,绝不能以任何方式影响合法用户。
sakisk 2011年

Answers:


9

通常认为AppArmour比SELinux更简单。SELinux非常复杂,甚至可以在军事应用中使用,而AppArmour则更简单。SELinux在i节点级别上运行(即,以与ACL或UNIX权限相同的方式应用限制-另一方面),而AppArmour在路径级别上应用(即,您基于路径指定访问权限,因此当路径更改时它可能不适用)。AppArmour还可以保护子过程(仅类似于mod_php),但我对其实际使用持怀疑态度。AppArmour似乎已进入主线内核(位于-mm IIRC中)。

我对SMACK不太了解,但是从描述的角度来看,它看起来像是简化的SELinux。如果您愿意的话,这里也有RSBAC。

chroot的使用范围有限,我认为它在台式机环境中用处不大(它可以用于将守护程序与整个系统的访问分开,例如DNS守护程序)。

当然,值得应用“通用”强化,例如PaX,-fstack-protector等。发行版支持时可以使用的Chroot,AppArmour / SELinux也支持。我猜想SELinux更适合高安全性区域(它对系统有更好的控制),而AppArmour更适合于简单的强化。

通常,除非关闭未使用的服务,定期更新等,否则除非您在高度安全的区域工作,否则我不会花太多时间来强化通用桌面。如果您仍然想确保安全,我会使用您的发行版所支持的内容。其中许多有效的方法都需要应用程序支持(例如用于支持属性,书面规则的编译工具),因此我建议您使用发行版所支持的内容。


4

使用GRSecurity + PAX。其他一切都只是营销狂潮和/或主要基于PAX团队的工作。PAX的主要开发商honcho pipacs刚刚在Black Hat 2011 / PWNIE中获得了终身成就奖:

他的技术工作对安全性产生了巨大影响:近年来,他的思想对于改善所有主要操作系统的安全性至关重要,并且他的思想间接影响了大多数现代内存破坏攻击技术。如今,没有任何攻击者能够认真对待那些无法应对我们的获胜者所倡导的防御性发明的人。

因此,如果您真的想要一个安全的盒子,请使用grsecurity + pax。GRsec为您提供了对计算机的RBAC控制,许多基于文件系统(chroot)的保护,PaX关闭了黑客使用的大多数可能的攻击媒介。您也可以使用paxtest测试您的盒子,以查看盒子具有什么样的保护和脆弱性。

可能会对性能产生影响。阅读帮助:)。

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.