16.4.规划安全配置

在实施任何 MAC 策略之前,建议进行规划阶段。在规划阶段,管理员应考虑实现要求和目标,例如:

  • 如何对目标系统上可用的信息和资源进行分类。
  • 要限制访问的信息或资源以及应用的限制类型。
  • 需要哪些 MAC 模块来实现此目标。

在生产系统上使用 MAC 实现 之前,应先试运行受信任的系统及其配置。由于不同的环境有不同的需求和要求,因此在系统上线后,建立完整的安全配置文件将减少更改的需要。

考虑 MAC 框架如何增强整个系统的安全性。MAC 框架提供的各种安全策略模块可用于保护网络和文件系统,或阻止用户访问某些端口和套接字。也许策略模块的最佳用途是一次加载多个安全策略模块,以便提供 MLS 环境。此方法与强化策略不同,强化策略通常会强化系统中仅用于特定目的的元素。MLS 的缺点是增加管理开销。

与框架的持久影响相比,开销是最小的,框架提供选择特定配置所需的策略以及降低性能开销的能力。减少对不需要的策略的支持可以提高系统的整体性能,并提供选择的灵活性。一个好的实现将考虑总体安全要求,并有效地实现框架提供的各种安全策略模块。

使用 MAC 的系统保证不允许用户随意更改安全属性。所有用户实用程序、程序和脚本都必须在所选安全策略模块提供的访问规则的约束下工作,并且 MAC 访问规则的控制权掌握在系统管理员手中。

系统管理员有责任仔细选择正确的安全策略模块。对于需要限制网络访问控制的环境,mac_portacl(4)open in new windowmac_ifoff(4)open in new windowmac_biba(4)open in new window 策略模块是很好的起点。对于需要文件系统对象严格保密的环境,请考虑 mac_bsdextended(4)open in new windowmac_mls(4)open in new window 策略模块。

可以根据网络配置做出策略决策。如果只允许某些用户访问 ssh(1)open in new window,那么 mac_portacl(4)open in new window策略模块是一个不错的选择。对于文件系统,对对象的访问对某些用户可能被视为机密,但对其他用户则不然。例如,大型开发团队可能会拆分为较小的项目,其中可能不允许项目 A 中的开发人员访问项目 B 中开发人员编写的对象。然而,这两个项目都可能需要访问开发人员在项目 C 中创建的对象,使用 MAC 框架提供的不同安全策略模块,用户可以分为这些组,然后获得对相应对象的访问权限。

每个安全策略模块都有处理系统整体安全性的独特方法。模块的选择应基于深思熟虑的安全策略,这可能需要修订和重新实现。了解 MAC 框架提供的不同安全策略模块将有助于管理员选择适合其情况的最佳策略。

本章的其余部分介绍可用的模块,描述它们的使用和配置,并在某些情况下提供有关适用情况的见解。

小心

MAC 的实现与实现防火墙非常相似,因为必须注意防止完全锁定在系统之外。应考虑恢复到以前配置的能力,并且通过远程连接实现 MAC 时应极其慎重。