# 18.1.概述

FreeBSD 支持基于 POSIX®.1e 草案的安全扩展。这些安全机制包括文件系统访问控制列表（[“Access Control Lists”](https://docs.freebsd.org/en/books/handbook/security/#fs-acl)）和强制访问控制（MAC）。MAC 允许加载访问控制模块以实施安全策略。一些模块为系统的狭窄子集提供保护，强化特定服务，而另一些则提供跨所有主题和对象的全面标签安全。强制性部分的定义意味着控制的执行由管理员和操作系统共同完成。这与默认的安全机制——自主访问控制（DAC）形成对比，后者将控制的执行留给用户的自由裁量。

本章重点介绍 MAC 框架以及 FreeBSD 提供的可插拔安全策略模块，这些模块用于启用各种安全机制。

阅读本章后，你将了解：

* 与 MAC 框架相关的术语。
* MAC 安全策略模块的能力，以及标签策略和非标签策略之间的区别。
* 配置系统以使用 MAC 框架时需要考虑的事项。
* FreeBSD 中包含的哪些 MAC 安全策略模块以及如何配置它们。
* 如何使用 MAC 框架实现更安全的环境。
* 如何测试 MAC 配置，以确保框架已正确实现。

在阅读本章之前，你应该：

* 理解 UNIX® 和 FreeBSD 基础知识（[FreeBSD 基础](https://docs.freebsd.org/en/books/handbook/basics/#basics)）。
* 对安全性及其如何与 FreeBSD 相关有一些了解（[安全性](https://docs.freebsd.org/en/books/handbook/security/#security)）。

> **警告**
>
> 不正确的 MAC 配置可能导致系统无法访问、用户烦扰或无法访问 Xorg 提供的功能。更重要的是，MAC 不应被依赖于完全保护系统。MAC 框架只是增强现有的安全策略。如果没有健全的安全实践和定期的安全检查，系统永远不会完全安全。
>
> 本章中的示例仅用于演示目的，不应在生产系统上实施示例设置。实施任何安全策略需要对其有深入的理解、正确的设计和彻底的测试。

虽然本章涵盖了与 MAC 框架相关的广泛安全问题，但不会涵盖新 MAC 安全策略模块的开发。MAC 框架包含的多个安全策略模块具有特定特性，旨在用于测试和新模块的开发。有关这些安全策略模块及其提供的各种机制的更多信息，请参阅 [mac\_test(4)](https://man.freebsd.org/cgi/man.cgi?query=mac_test\&sektion=4\&format=html)、[mac\_stub(4)](https://man.freebsd.org/cgi/man.cgi?query=mac_stub\&sektion=4\&format=html) 和 [mac\_none(4)](https://man.freebsd.org/cgi/man.cgi?query=mac_none\&sektion=4\&format=html)。
