SELinux MAC安全机制简介

SELinux MAC安全机制

SELinux MAC

  • Security Enhanced Linux(SELinux),使用Mandatory Access Control(MAC)方式对权限进行管控。
  • MAC强制访问控制,针对特定的程序与特定的文件资源进行权限管理。
  • MAC采用政策(Policy)\规则(Rule)、安全上下文,主体对目标的访问,需要满足政策、安全上下文,才可以访问。

SElinux运行机制

  • 主体(Subject):等同于进程。
  • 目标/对象(Object):被主体访问的资源,如文件、设备、端口等等。
  • 政策和规则(Policy & Rule):SElinux定制的基本的安全管制政策,Ubuntu16.04中有三套政策
# SELINUXTYPE字段
/etc/selinux/config  

# 等同于targeted,对大部分网络服务进程进行管制。常用。
default 
# 多级安全保护,对所有进程进行管制,不常用。
mls 
# 自定义
src
  • 工作模式:/etc/selinux/config SELINUX字段
# 强制模式, SELinux security policy is enforced.
enforcing
# 宽容模式,SELinux prints warnings instead of enforcing.
permissive
# 关闭SElinux。
disable
  • 安全上下文(security context): 主体对客体的访问,除了政策/规则外,相互之间的安全上下文必须相符。
    在这里插入图片描述

安全上下文(Security Context)

  • 安全上下文存在于主体和目标中,可以通过 ls -Z查看客体安全上下文,通过ps -Z查看主体安全上下文。
ls -Z
# 安全上下文为 system_u:object_r:file_t:s0
system_u:object_r:file_t:s0 file.txt

ps -Z
LABEL                             PID TTY          TIME CMD
system_u:system_r:kernel_t:s0    4185 pts/0    00:00:00 bash
system_u:system_r:kernel_t:s0    5357 pts/0    00:00:00 ps

安全上下文由4个部分组成:

  • 身份标识(user):角色(role):类型(type) : 级别(level)

  • 身份标识(User):
    system_u 系统服务进程/系统服务创建的文件
    unconfined_u 不受管制进程/文件

  • 角色(Role):
    object_r文件资源
    system_r系统服务进程

  • 类型(Type):
    默认targeted中,主要对安全上下文的类型进行匹配。
    对于主体,它的类型称为domain,域。
    对于客体,它的类型称为Type,类型。
    只有domain和Type搭配,主体才可以对客体进行访问。

  • 级别(Level):
    仅在MLS策略下生效,默认为S0。由于MLS晦涩难懂,这里不介绍。

主客体访问实例
  • MAC targeted策略下,主客体间是否可以进行读写,主要在于Type的类型是否匹配。
  • 下面以apache为例,具体说明一下Type间的验证。
ll -Zd /usr/sbin/apache2 /var/www/html

system_u:object_r:file_t:s0  /usr/sbin/apache2
system_u:object_r:file_t:s0  /var/www/html/

在这里插入图片描述

  • file_t域可读取的客体,已经MAC targeted政策下被默认定义。我们可以通过sesearch命令查询。
sesearch -A -s file_t
Found 6 semantic av rules:
  allow file_type tmpfs_t : filesystem associate ; 
  allow file_type fs_t : filesystem associate ; 
  allow file_type noxattrfs : filesystem associate ; 
  allow file_type tmp_t : filesystem associate ; 
  allow file_type ramfs_t : filesystem associate ; 
  allow file_t file_t : filesystem associate ;    该政策声明file_t domain可对 file_t类型的文件资源进行访问
  • 至于apache2是否可以读写/var/www/html还需要看其DAC权限设置,也就常见的读、写、执行权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值