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内核安全模块

讨论