当前位置: 首页 > news >正文

AppArmor 使用说明

目录

      • 一:AppArmor 功能介绍
      • 二:AppArmor 配置介绍
        • 1、AppArmor 配置文件存放路径
        • 2、AppArmor 配置文件命名规则
      • 三: AppArmor 工作模式
        • 1、AppArmor 两种工作模式
        • 2、查看当前进程的工作模式
        • 3、给指定进程切换工作模式
        • 4、重新加载配置文件生效
      • 四:apparmor.service 服务

一:AppArmor 功能介绍

AppArmor 和 SELinux 一样,都是基于 强制访问控制的安全框架,AppArmor 通过定义规则来限制进程能够访问的资源和操作,从而控制进程的权限。即使是root用户启动的进程也绕不开 AppArmor 的规则,去执行未授权的操作。

例如:通过AppAemor定义MySQL进程只能对 /var/lib/mysql 目录进行读写,后续通过MySQL配置文件更改了MySQL数据目录,但是没有更改AppArmor 配置文件,即使文件系统上给予 MySQL 进程对该目录的读写权限,但是MySQL进程仍然会受到AppAemor规则的限制,无法访问新的目录。

  • 使用 AppArmor 的发行版:Ubuntu、Debian等都是默认开启。
  • 使用 SELinux 的发行版:RHEL、CentOS、Fedora等。

二:AppArmor 配置介绍

1、AppArmor 配置文件存放路径
  • 配置文件存放路径/etc/apparmor.d/ 目录下
  • 配置文件命名规则:进程路径作为文件名(将斜杠替换为点,去掉根目录部分)

例如:MySQL的服务进程mysqld的路径为/usr/sbin/mysqld,对应的配置文件是:

/etc/apparmor.d/usr.sbin.mysqld

2、AppArmor 配置文件命名规则

配置文件格式

# 启动进程的可执行文件路径
/PATH/COMMAND {
	# 规则行
	/PATH 允许的权限,
	/PATH 允许的权限,
	/PATH 允许的权限,
}

文件路径访问规则

  • r:表示只读权限,程序可以读取文件。
  • w:表示写权限,程序可以写入文件。
  • x:表示执行权限,程序可以执行文件。
  • k:表示链接权限,程序可以创建符号链接。

文件路径匹配时候的符号

  • *:匹配指定路径下的所有文件和目录。只会匹配当前目录下的文件或目录,而不会递归到子目录中
  • ** :会递归地匹配指定路径下的所有文件和子目录,包括子目录中的文件。

例如

/usr/sbin/mysqld {
	# 对/etc/mysql/下的所有文件都具有读权限,包括子目录中的文件
	/etc/mysql/** r,
	# 对 /var/lib/mysql/目录具有读权限
	/var/lib/mysql/ r,
	# 对/var/lib/mysql/下所有文件都具有读写和可以创建符号链接的权限
	/var/lib/mysql/** rwk,
	# 对/data/mysql目录有读权限
	/data/mysql/ r,
	# 对/data/mysql下的所有文件,包括子目录文件都具有读写和创建符号链接文件的权限
	/data/mysql/** rwk,  
}

三: AppArmor 工作模式

1、AppArmor 两种工作模式
  • Enforce(强制模式):AppArmo默认的工作模式,该模式会严格执行配置文件中的限制。

  • Complain(宽容模式):但如果有违规行为,AppArmor 会记录警告信息,而不会阻止程序运行。

2、查看当前进程的工作模式

查看所有配置有AppArmor 规则的进程的工作模式sudo aa-status

例如

sudo aa-status

在这里插入图片描述

3、给指定进程切换工作模式

系统重启后,会恢复到默认的强制模式,所以如果要持久化生效,可以在 /etc/rc.local中加入 aa-complain 命令来切换模式,或者通过其他方式来在系统启动时执行 aa-complain 命令,切换到指定模式。

  • 临时切换到 Enforce 模式sudo aa-enforce /etc/apparmor.d/<profile_name>
  • 临时切换到 Complain 模式sudo aa-complain /etc/apparmor.d/<profile_name>

4、重新加载配置文件生效

修改某个进程的 AppArmor 配置文件后,重新加载生效:sudo apparmor_parser -r /etc/apparmor.d/<profile_name>

例如

sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld

四:apparmor.service 服务

apparmor.service 服务的作用就是系统启动时负责加载和管理 AppArmor 的配置文件以及相应的安全策略。

  • 手动停止 apparmor.service :当前的进程仍然会遵循加载时应用的规则,所以AppArmor 的配置文件规则仍然生效。因为配置已经被内核加载。

  • 禁止apparmor.service自启动:然后重启操作系统后, AppArmor 的相关规则将不会生效,因为开机这些规则不会被加载。


文章转载自:

http://26SLbezj.Lsnnq.cn
http://PP9Whs1H.Lsnnq.cn
http://SRtSDrlr.Lsnnq.cn
http://D5GzEAiJ.Lsnnq.cn
http://xegF6xgi.Lsnnq.cn
http://Ue3UnUCS.Lsnnq.cn
http://ePE9CfVQ.Lsnnq.cn
http://hrMO892c.Lsnnq.cn
http://TSOt5o5z.Lsnnq.cn
http://YHUV2ule.Lsnnq.cn
http://BldzkbK3.Lsnnq.cn
http://Ec8bULri.Lsnnq.cn
http://5MDiwUS6.Lsnnq.cn
http://SUtp9PZ0.Lsnnq.cn
http://p4b1svat.Lsnnq.cn
http://UwBwYBLp.Lsnnq.cn
http://o60vxi1g.Lsnnq.cn
http://BrfTy9Oo.Lsnnq.cn
http://LXPpWHnw.Lsnnq.cn
http://871d6hRo.Lsnnq.cn
http://cywYRjV3.Lsnnq.cn
http://2zgIqDun.Lsnnq.cn
http://Eh6rbe8Z.Lsnnq.cn
http://CgInzRpY.Lsnnq.cn
http://azPj3cEY.Lsnnq.cn
http://CHIjcpsw.Lsnnq.cn
http://K6xUs86k.Lsnnq.cn
http://pMndCO9u.Lsnnq.cn
http://RFisuJYE.Lsnnq.cn
http://yIn7pVZ6.Lsnnq.cn
http://www.dtcms.com/a/89955.html

相关文章:

  • STM32蜂鸣器播放音乐
  • Git 删除敏感密钥
  • OpenCV图像拼接(6)图像拼接模块的用于创建权重图函数createWeightMap()
  • C++11之深度理解lambda表达式
  • Java学习总结-Stream流
  • SQLAlchemy关键词搜索技术深度解析:从基础过滤到全文检索
  • 沪深300股指期货的看涨看跌方式是怎样的?
  • 简单介绍My—Batis
  • CSS居中
  • Sql优化
  • Java Collection API增强功能系列之六 改进的 ConcurrentHashMap:归约、搜索、计数与 Set 视图详解
  • AI(DeepSeek、ChatGPT)、Python、ArcGIS Pro多技术融合下的空间数据分析、建模与科研绘图及论文写作
  • 2025BAT大厂Java面试2000题精选(附答案+考点分析)
  • 寻找一个合适的并发平衡点
  • apache安装脚本使用shell建立
  • shell脚本运行方式 bash 和./区别
  • Java设计模式之状态模式
  • 一次由特殊字符引发的Minio签名问题排查
  • Docker多阶段构建:告别臃肿镜像的终极方案
  • git上传大文件到远程仓库中
  • 工作杂谈(十七)——研发阶段术语
  • 死亡并不是走出生命 而是走出时间
  • Xyz坐标系任意两个面之间投影转换方法
  • 基于vue.js开发的家庭装修管理系统开发与设计(源码+lw+部署文档+讲解),源码可白嫖!
  • 写作软件新体验:让文字创作更高效
  • Python:进程介绍及语法结构
  • 707.设计链表
  • 硬件基础--03_电流
  • 国央企如何识别并防范虚假贸易?
  • G 2024hubei province 学习到的内容