18.12 SELinux策略规则查看的方法

简介: 我们知道,当前 SELinux 的默认策略是 targeted,那么这个策略中到底包含有多少个规则呢?使用 seinfo 命令即可查询。命令如下:

我们知道,当前 SELinux 的默认策略是 targeted,那么这个策略中到底包含有多少个规则呢?使用 seinfo 命令即可查询。命令如下:

[root@localhost ~]# seinfo -b
\#还记得-b选项吗?就是查询布尔值,也就是查询规则名字
Conditional Booleans:187
\#当前系统中有187个规则
allow_domain_fd_use
allow_ftpd_full_access
allow_sysadm_exec_content
allow_user_exec_content
allow_zebra_write_config
…省略部分输出…

seinfo 命令只能看到所有规则的名称,如果想要知道规则的具体内容,就需要使用 sesearch 命令了。

sesearch 命令格式如下:

[root@localhost ~]# sesearch [选项] [规则类型] [表达式]

选项:

- -h:显示帮助信息;


规则类型:

- --allow:显示允许的规则;
- --neverallow:显示从不允许的规则;
- --all:显示所有的规则;


表达式:

- -s 主体类型:显示和指定主体的类型相关的规则(主体是访问的发起者,这个 s 是 source 的意思,也就是源类型);
- -t 目标类型:显示和指定目标的类型相关的规则(目标是被访问者,这个 t 是 target 的意思,也就是目标类型);
- -b 规则名:显示规则的具体内容(b 是 bool,也就是布尔值的意思,这里是指规则名);

下面举几个例子。首先我们演示一下,如果我们知道的是规则的名称,则应该如何查询具体的规则内容。命令如下:

[root@localhost ~]# seinfo -b | grep http
httpd_manage_ipa
…省略部分输出…
\#查询和apache相关的规则,有httpd_manage_ipa规则
[root@localhost ~]# sesearch --all -b httpd_manage_ipa
\# httpd_manage_ipa规则中具体定义了哪些规则内容呢?使用sesearch命令查询一下
Found 4 semantic av rules:
allow httpd_t var_run_t:dir { getattr search open } ;
allow httpd_t memcached_var_run_t:file { ioctl read write create getattr setattr lock append unlink link rename open } ;
allow httpd_t memcached_var_run_t:dir { ioctl read write getattr lock add_name remove_name search open } ;
allow httpd_t var_t:dir { getattr search open } ;
Found 20 role allow rules:
allow system_r sysadm_r;
allow sysadm_r system_r;
…省略部分输出…

每个规则中都定义了大量的具体规则内容,这些内容比较复杂,一般不需要修改,会查询即可。

可是我们有时知道的是安全上下文的类型,而不是规则的名称。比如,我们已知 apache 进程的域是 httpd_t,而 /var/www/html/ 目录的类型是 httpd_sys_content_t。而 apache 之所以可以访问 /var/www/html/ 目录,是因为 httpd_t 域和 httpd_sys_content_t 类型匹配。

那么,该如何查询这两个类型匹配的规则呢?命令如下:

[root@localhost ~]# ps auxZ | grep httpd
unconfined_u:system_r:httpd_t:s0 root 25620 0.0 0.5 11188 36X6 ? Ss
03:44 0:03 /usr/sbin/httpd
\#apache进程的域是httpd_t
[root@localhost ~]# ls -Zd /var/www/html/
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
\#/var/www/html/ 目录的类型是 httpd_sys_content_t
[root@localhost ~]# sesearch --all -s httpd_t -t httpd_sys_content_t Found 13 semantic av rules:
...省略部分输出...
allow httpd_t httpd_sys_content_t : file { ioctl read getattr lock open };
allow httpd_t httpd_sys_content_t : dir { ioctl read getattr lock search open };
allow httpd_t httpd_sys_content_t : lnk_file { read getattr };
allow httpd_t httpd_sys_content_t : file { ioctl read getattr lock open };
...省略部分输出...
\#可以清楚地看到httpd_t域是允许访间和使用httpd_sys_content_t类型的
目录
相关文章
|
3月前
|
监控 网络协议 Linux
防火墙规则动态管理器 - firewalld
【1月更文挑战第11天】
51 0
|
Linux
iptables 设置默认规则
设置默认的规则
751 0
|
安全 Linux 数据安全/隐私保护
18.11 SELinux的3种策略类型
对于 SELinux 来说,所选择的策略类型直接决定了使用哪种策略规则来执行主体(进程)可以访问的目标(文件或目录资源)。不仅如此,策略类型还决定需要哪些特定的安全上下文属性。通过策略类型,读者可以更精确地了解 SELinux 所实现的访问控制。
419 0
18.11 SELinux的3种策略类型
|
Linux
18.13 SELinux策略规则的开启和关闭
默认情况下,并不是所有的规则都处于开启状态,因此,虽然我们无需修改规则的具体内容,但学习如何开启和关闭规则,还是很有必要的。
195 0
18.13 SELinux策略规则的开启和关闭
|
网络协议 安全 Linux
Linux防火墙--IPtables配置策略思路
Linux防火墙--IPtables配置策略思路 防火墙定义:是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。 防火墙发展应用:最早是ipfwadm和ipchains(Redhat7.0), 其次是iptables,Centos7开始后friewalld迅速发展,对iptables进行了 改良,目前还是iptables用的比较多。
377 0
Linux防火墙--IPtables配置策略思路
|
Linux 网络安全
iptables防火墙工作原理及简单配置访问策略
iptables只是管理包过滤规则的工具,可以添加或删除包过滤的规则,真正执行包过滤规则的是netfilter netfilter是Linux核心中的一个通用架构,内部提供一些列的表,每个表由若干条链组成,每条链由一条或多条规则组成,也就是我们常说的四表五链 四表
132 0
|
网络安全
|
网络协议 网络安全 网络虚拟化
|
网络协议
iptables设置时,要注意规则的顺序
iptables设置时,要注意规则的顺序, 如果规则顺序不对,可能同样的规则,会有不一样的效果。
3460 0

热门文章

最新文章