AppArmor 安全模块应用指南
1. 引言
AppArmor(Application Armor)是Linux系统中的强制访问控制(MAC)框架,旨在增强系统安全性。与SELinux不同,AppArmor通过配置文件(profile)定义具体的权限限制,控制应用程序对系统资源的访问。其易于配置和灵活的安全策略,使得AppArmor成为保障系统安全的有效工具。本文将详细介绍AppArmor的应用、配置和管理,帮助系统管理员更好地利用这一安全模块。
2. AppArmor 基础概念
2.1 AppArmor 工作原理
AppArmor 通过安全策略(称为 profile)来约束程序的行为。这些 profile 定义了程序可以访问哪些文件、网络、内存等系统资源。每个程序都可以绑定一个 profile,而 AppArmor 会根据 profile 中的规则强制执行访问控制。
2.2 AppArmor 的模式
AppArmor 提供了两种主要的工作模式:
- Complaining 模式(complain):记录违规操作,但不阻止。这种模式用于调试和调整 profile。
- Enforcing 模式(enforce):严格执行 profile,阻止不符合规定的操作。
2.3 AppArmor Profiles
AppArmor 中的 profile 是由一系列规则组成的文本文件,定义了特定进程的权限。每个 profile 控制该进程的行为,包括允许访问的文件、网络、端口等资源。
一个典型的 AppArmor profile 可能如下所示:
#include <tunables/global>
/usr/sbin/apache2 {
# 允许读写 apache 日志文件
/var/log/apache2/** rw,
# 只读访问配置文件
/etc/apache2/** r,
# 禁止访问 /home
den