中标麒麟Linux系统安全配置指南

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个角色为sysadm_r的进程在执行类型为http_exec_t的文件 时将尝试转换为system_r角色,要转换成功角色允许也是必须的 。
➢ 角色控制: dominance{role super_r{role sysadm_r;role secadm_r;}}
角色super_r控制后两者角色,拥有两者合并后的类型。
有的声明是我们自己定义的,以达梦数据库为例,如 dm_t,dm_exec_t, dm_log_t等。
域转换
进程以给定的进程类型运行的能力称为域转换,域转换只有同时满足以下 三个条件时才允许进行:
进程的新域类型对可执行文件有entrypoint访问权; 进程的当前(或旧的)域类型对入口文件类型有execute访问权 ; 进程当前的域类型对新的域类型有transition访问权。
系统类型是sysadm_t,并且可执行文件的类型是dm_exec_t , 将会尝试到一个新域类型(dm_t)的域转变。
角色
➢ 声明角色: role user_r;
➢ 角色关联类型:role user_r type dm_t; ➢ 角色转换:
role_transition sysadm_r http_exec_t system_r ;
例如:allow user_t bin_t :file{read write}; 这个规则包含了两个类型标识符:源类型user_t,目标类型bin_t,标识符file
是定义在策略中的客体类别名称,大括号中包括的许可是文件客体类别有效许 可 的一个子集。这个规则解释如下: 域类型user_t的进程可以读/写具有bin_t类型的文件客体的属性 。 如下图所示:
为了支持默认的域转变,我们在allow规则后面添加一个 type_transition 规 则 , 以 达 梦 数 据 库 为 例 : type_transition sysadm_t dm_exec_t:process dm_t; type_transition规则默认一个execve()系统调用,若调用的
allow sysadm_t dm_exec_t:file{getattr execute}; allow dm_t dm_exec_t:file entrypoint; allow sysadm_t dm_t:process transition;
练习: 写一个office软件的域转换
默认域转换
类型强制访问控制:
在SELinux中,所有访问都必须明确授权,SELinux默认不允许任何访问 , SELinux通过指定主体类型(即域)和客体类型使用allow规则授予访问权限 ,allow规则由四部分组成: 源类型(source type): 通常是尝试访问的进程的域类型 目标类型(target type ):被进程访问的客体的类型 客体类别(object class):指定允许访问的客体类型 许可(permission): 象征目标类型允许源类型访问客体类型的种类
➢ 声明客体类别:class dir;
➢联合许可和客体类别:class dir{search};
➢有效的客体类别:
a、与文件相关的客体类别:
blk_file 块文件
chr_file 字符文件
dir
目录
fd
文件描述符
fifo_file 命名管道
file 普通文件
filesystem 文件系统
lnk_file 符号连接
文件系统客体的安全上下文:
ps -Z显示进程的安全上下文:
id -Z显示了shell的安全上下文(即当前的用户、角色 和类型):
百度文库
➢类型和域:是分配给一个对象并决定谁可以访问这个对 象,域对应进程,类型对应其他对象。域、域类型、
主体类型、进程类型通常指的是一个概念。
练习: 域是什么?它和类型有什么关系? 安全上下文由什么构成?
以达梦数据库为例:
dm_t为声明的进程新域类型,dm_exec_t为可执行文件,sysadm_t为 进程的旧域类型,按照上述的三个条件,我们写的域转换如下:
以达梦数据库为例: dm_t为声明的进程新域类型,dm_exec_t为可执行文
件,sysadm_t为进程的旧域类型,按照上述的三个条件,我 们 写的域转换如下:
练习:
创建一条allow规则,让类型为samba_t的进程对类型为 user_home_t的文件有read,write和getattr的访问权。
声明
基本的声明语句包括类型声明和角色声明,即 类型声明:type user_t ; 角色声明:role user_r ;
我们在添加私有策略文件(.te)的声明时(稍后会介绍),有的声明是 引用的,如sysadm_t,secadm_t等,
➢ 用户、角色和域关系 SELinux用户和角色的关系: 一个用户可以对应多个角色,但是同一时刻只能作为其中一个角色, 角色和域关系: 角色仅仅是一套域类型的集合,方便与用户建立联系,通过 role user_r types user_t进行关联。
客体类别:
策略中必须包括所有SELinux内核支持的客体类别和许可的声明, 以及其他客体管理器,因此必须理解客体类别和许可声明。
中标麒麟Linux服务器操作系统培训系列
中标麒麟Linux系统安全配置指南
技术创新,变革未来
本章目标:
• 了解访问控制: • 熟悉selinux: • 学会配置安全策略:
➢安全上下文:指标记在所有事物上的扩展属性,一个安全上
下文由三部分组成:用户、角色和类型标识符。例如:ls -Z显 示
netlink_tcpdiag_socket 用于监视TCP连接的Netlink套接字
sock_file UNIX域套接字
b、与网络有关的客体类别:
netif
网络接口(如eth0)
netlink_audit_socket 用于控制审核的Netlink套接字
netlink_firewall_socket 用于创建用户空间防火墙过滤器的 Netlink 套接字
netlink_nflog_socket 用于接收Netfilter日志消息的Netlink套 接字
相关文档
最新文档