apparmor 访问控制详解

apparmor 访问控制详解

AppArmor配置文件描述了授予给定程序的强制访问权限,并且使用AppArmor_parser 执行AppArmor策略模块。
所有资源和程序都需要完整的路径。在配置文件中可能存在任意数量的子文件,它仅受内核内存大小限制。子文件名最长974个字符。子配置文件可用于以特殊方式限制应用程序,或者当希望子进程在系统上不受限制,但父进程需要被限制。hats是以一种特殊的子配置,用于aa_change_hat API的调用。

apparmor可以做到以下几方面的控制:
	1.文件系统的访问控制
	2.资源限制
	3.网络访问控制
	4.capability条目
	5.mount控制
	6.Pivot Root 控制
	7. PTrace 控制
	8.Signal 控制
	9.dbus 控制
	10. unix socket 控制
	11.change_profile控制

一、文件系统的访问控制

选项说明
rRead mode
wWrite mode
aAppend mode
mAllow executable mapping

示例:

# Last Modified: Wed Feb 12 19:25:31 2020
#include <tunables/global>

/usr/bin/vim.tiny {
  #include <abstractions/base>

  /lib/x86_64-linux-gnu/ld-*.so mr,
  /usr/bin/vim.tiny mr,
  /var/tmp/** rw,
  /var/tmp/test1.txt r,
  /var/tmp/test2.txt ar,
  /var/tmp/test3.txt wr,
}

二、资源限制
AppArmor可以设置和控制与配置文件相关联的资源限制,可以参照setrlimit(2)手册页。
AppArmor rlimit控制允许设置限制并限制它们的更改,这些操作可以被审计。在强制模式下,这些限制被标准内核强制限制。
示例:

         set rlimit data <= 100M,
         set rlimit nproc <= 10,
         set rlimit nice <= 5,
三、网络控制
     AppArmor支持简单的粗粒度网络中介。。网络规则可以限制所有基于socke(2)的基本操作。对一个给定类型和族的套接子进行创建、读、写的检测。无法对tcp, udp, raw协议上的端口号进行控制。
 示例:

         network,               #allow access to all networking
        network tcp,           #allow access to tcp
        network inet tcp,      #allow access to tcp only for inet4 addresses
        network inet6 tcp,     #allow access to tcp only for inet6 addresses
        network netlink raw,   #allow access to AF_NETLINK SOCK_RAW

 



  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值