> For the complete documentation index, see [llms.txt](https://handbook.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://handbook.bsdcn.org/di-19-zhang-qiang-zhi-fang-wen-kong-zhi/19.1.-gai-shu.md).

# 19.1.概述

FreeBSD 支持基于 POSIX®.1e 草案的安全扩展。这些安全机制包括文件系统访问控制列表（[访问控制列表](/di-16-zhang-an-quan/16.11.-fang-wen-kong-zhi-acl.md)）和强制访问控制（MAC）。MAC 能加载访问控制模块以实施安全策略。一些模块为系统的较小子集提供保护，加固特定服务，而另一些则提供跨所有主体和对象的全面标签安全。定义中的“强制性”部分意味着控制的强制实施由管理员和操作系统共同完成。这与默认的安全机制——自主访问控制（DAC）形成对比，后者将控制的强制实施交由用户自由裁量。

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

阅读本章后，你将了解：

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

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

* 理解 UNIX® 和 FreeBSD 基础知识（[FreeBSD 基础](/di-3-zhang-freebsd-ji-chu/3.1.-gai-shu.md)）。
* 对安全性及其与 FreeBSD 的关系有所了解（[安全性](/di-16-zhang-an-quan/16.1.-gai-shu.md)）。

> **警告**
>
> 不正确的 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)。
