插件窝 干货文章 SELinux查看策略规则的方法有哪些

SELinux查看策略规则的方法有哪些

查看 策略 SELinux 特定 782    来源:    2025-05-01

SELinux 策略规则查看方法

SELinux (Security-Enhanced Linux) 提供了多种工具来查看策略规则。以下是常用的查看方法:

1. 使用 sesearch 命令

sesearch 是查看 SELinux 策略规则的主要工具,属于 setools 软件包。

# 安装 setools
sudo yum install setools  # RHEL/CentOS
sudo apt-get install setools  # Debian/Ubuntu

# 基本用法
sesearch --allow [-s 源类型] [-t 目标类型] [-c 对象类] [-p 权限] [策略文件]

常用示例

# 查看允许某个类型执行的所有规则
sesearch --allow -s httpd_t

# 查看允许访问特定类型文件的所有规则
sesearch --allow -t shadow_t

# 查看特定类型对特定类的权限
sesearch --allow -s httpd_t -t httpd_log_t -c file

# 查看特定权限的规则
sesearch --allow -p read,write

2. 使用 seinfo 命令

查看 SELinux 策略的统计信息和组件:

# 查看策略基本信息
seinfo

# 查看所有类型
seinfo -t

# 统计信息
seinfo --stats

# 查看特定类型的属性
seinfo -t httpd_t -x

3. 使用 semanage 命令

管理 SELinux 策略元素:

# 查看所有文件上下文
semanage fcontext -l

# 查看端口映射
semanage port -l

# 查看布尔值
semanage boolean -l

4. 使用 getsebool 命令

查看 SELinux 布尔值状态:

# 查看所有布尔值
getsebool -a

# 查看特定布尔值
getsebool httpd_enable_homedirs

5. 使用 sepolicy 命令

生成 SELinux 策略报告:

# 查看特定类型的策略信息
sepolicy generate -t httpd_t

# 查看特定命令的访问权限
sepolicy whatprovides -c file -p read -t httpd_log_t

6. 查看审计日志

# 查看 SELinux 拒绝消息
ausearch -m avc -ts recent

# 或使用
grep "avc:" /var/log/audit/audit.log

7. 使用 matchpathcon 命令

检查文件或目录的默认安全上下文:

matchpathcon /var/www/html

8. 查看策略模块

# 列出已加载模块
semodule -l

# 查看模块详情
semodule -l --full

这些工具提供了不同层次的 SELinux 策略信息,可以根据具体需求选择合适的工具来查看和分析策略规则。