Ubuntu系统安全加固:使用AppArmor限制服务权限的完整指南
在Linux系统安全防护中,权限最小化原则至关重要。本文将详细介绍如何通过AppArmor对Ubuntu系统中的服务进行权限限制,从而提升整体安全性。
环境准备
首先确认系统已安装AppArmor:
sudo apt update
sudo apt install apparmor apparmor-utils
创建基础配置文件
以nginx服务为例,创建配置文件:
sudo nano /etc/apparmor.d/usr.sbin.nginx
添加以下内容:
#include <tunables/global>
/usr/sbin/nginx {
#include <abstractions/base>
include <abstractions/nameservice>
# 网络权限
network inet stream,
network inet dgram,
# 文件读取权限
/etc/nginx/** r,
/var/log/nginx/** rw,
/var/www/** rw,
# 限制写入权限
deny /etc/shadow rw,
deny /etc/passwd rw,
# 禁止执行shell
deny capability sys_admin,
}
加载配置
加载新创建的配置文件:
sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.nginx
验证配置
查看nginx的AppArmor状态:
sudo apparmor_status | grep nginx
验证是否生效:
sudo aa-status
通过以上配置,nginx服务将无法访问敏感系统文件,即使服务被攻破,攻击者也难以获取更高权限。这种基于路径和能力的限制方式,是系统安全加固的有效手段。

讨论