模块名: mac_biba.ko
对应的内核配置: options MAC_BIBA
引导选项: mac_biba_load="YES"
mac_biba(4) 模块将加载 MAC Biba 策略。 这个策略与 MLS 策略非常类似, 只是信息流的规则有些相反的地方。 通俗地说, 这就是防止敏感信息向下传播, 而 MLS 策略则是防止敏感信息的向上传播; 因而, 这一节的许多内容都可以同时应用于两种策略。
在 Biba 环境中, “integrity” (完整性) 标签, 将设置在每一个主体或客体上。 这些标签是按照层次级别建立的。 如果客体或主体的级别被提升, 其完整性也随之提升。
被支持的标签是 biba/low, biba/equal 以及 biba/high; 解释如下:
biba/low 标签是客体或主体所能拥有的最低完整性级别。 在客体或主体上设置它, 将阻止其在更高级别客体或主体对其进行的写操作, 虽然读仍被允许。
biba/equal 标签只应在那些希望排除在策略之外的客体上设置。
biba/high 允许向较低标签的客体上写, 但不允许读那些客体。 推荐在那些可能影响整个系统完整性的客体上设置这个标签。
Biba 提供了:
层次式的完整性级别, 并提供了一组非层次式的完整性分类;
固定规则: 不允许向上写, 不允许向下读 (与 MLS 相反)。 主体可以在它自己和较低的级别写, 但不能向更高级别实施写操作。 类似地, 主体也可以读在其自己的, 或更高级别的客体, 但不能读取较低级别的客体;
完整性 (防止对数据进行不正确的修改);
完整性级别 (而不是 MLS 的敏感度级别)。
下列 sysctl 可以用于维护 Biba 策略。
security.mac.biba.enabled 可以用来在机器上启用/禁用是否实施 Biba 策略。
security.mac.biba.ptys_equal 可以用来在 pty(4) 设备上禁用 Biba 策略。
security.mac.biba.revocation_enabled 将在支配主体发生变化时强制撤销对客体的访问权。
要操作系统客体上的 Biba 策略, 需要使用 setfmac 和 getfmac 命令:
# setfmac biba/low test # getfmac test test: biba/low
与敏感性不同, 完整性是要确保不受信方不能对信息进行篡改。 这包括了在主体和客体之间传递的信息。 这能够确保用户只能修改甚至访问需要他们的信息。
mac_biba(4) 安全策略模块允许管理员指定用户能够看到和执行的文件和程序, 并确保这些文件能够为系统及用户或用户组所信任, 而免受其他威胁。
在最初的规划阶段, 管理员必须做好将用户分成不同的等级、 级别和区域的准备。 在启动前后, 包括数据以及程序和使用工具在内的客体, 用户都会无法访问。 一旦启用了这个策略模块, 系统将默认使用高级别的标签, 而划分用户级别和等级的工作则交由管理员来进行配置。 与前面介绍的级别限界不同, 好的规划方法可能还包括 topic。 例如, 只允许开发人员修改代码库、 使用源代码编译器, 以及其他开发工具, 而其他用户则分入其他类别, 如测试人员、 设计人员, 以及普通用户, 这些用户可能只拥有读这些资料的权限。
通过其自然的安全控制, 完整性级别较低的主体, 就会无法向完整性级别高的主体进行写操作; 而完整性级别较高的主体, 也不能观察或读较低完整性级别的客体。 通过将客体的标签设为最低级, 可以阻止所有主体对其进行的访问操作。 这一安全策略模块预期的应用场合包括受限的 web 服务器、 开发和测试机, 以及源代码库。 而对于个人终端、 作为路由器的计算机, 以及网络防火墙而言, 它的用处就不大了。
本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.