Linux权限管理:使用AppArmor实现进程访问控制策略

WildDog +0/-0 0 0 正常 2025-12-24T07:01:19 系统安全 · 权限控制

Linux权限管理:使用AppArmor实现进程访问控制策略

在Linux系统安全中,权限管理是构建安全防护体系的核心环节。AppArmor作为Linux内核的安全模块,通过路径和文件名来限制程序的访问权限,为系统提供了一种简单有效的进程访问控制机制。

基本配置步骤

首先启用AppArmor服务:

sudo systemctl enable apparmor
sudo systemctl start apparmor

创建一个简单的访问控制策略文件:

sudo nano /etc/apparmor.d/usr.bin.vim

添加以下内容:

#include <tunables/global>

/usr/bin/vim {
  #include <abstractions/base>
  #include <abstractions/editor>
  
  /usr/bin/vim mrw,
  /etc/vim/** r,
  /tmp/** rw,
  /var/tmp/** rw,
  deny /etc/shadow rw,
}

加载策略配置:

sudo apparmor_parser -r /etc/apparmor.d/usr.bin.vim

实际测试验证

启动一个测试会话,尝试访问敏感文件:

vim /etc/shadow
# 会提示权限拒绝

同时验证正常文件操作:

vim /tmp/test.txt
# 可以正常读写

高级策略示例

针对Web服务器的访问控制:

#include <tunables/global>

/usr/sbin/nginx {
  #include <abstractions/base>
  
  /usr/sbin/nginx mrw,
  /etc/nginx/** r,
  /var/log/nginx/** rw,
  /var/www/** rw,
  
  # 限制访问系统关键目录
  deny /etc/passwd rw,
  deny /etc/group rw,
  deny /etc/shadow rw,
}

通过这样的配置,可以有效防止恶意软件或被攻陷的应用程序滥用权限,实现最小权限原则。建议定期审查和更新AppArmor策略文件,以适应系统变化和安全需求。

参考链接

  • AppArmor官方文档
  • Linux内核安全模块
推广
广告位招租

讨论

0/2000
MeanFiona
MeanFiona · 2026-01-08T10:24:58
AppArmor的路径匹配机制很直观,但策略编写需谨慎,建议先在测试环境验证,避免因权限限制导致服务异常。
紫色蔷薇
紫色蔷薇 · 2026-01-08T10:24:58
配置文件中使用#include <abstractions/base>能极大简化规则,但要注意抽象层可能隐藏的权限泄露点,要结合实际需求微调。
Edward826
Edward826 · 2026-01-08T10:24:58
deny规则优先级高于allow,这点在复杂策略中容易被忽略,建议用日志审计工具(如auditd)辅助排查异常访问行为。
Sam134
Sam134 · 2026-01-08T10:24:58
nginx示例中限制了/var/www访问,但未考虑动态内容生成场景,可增加/tmp或/var/cache/nginx的读写权限以避免服务中断。