• [TimLinux] selinux sesearch命令详解


    1. 描述

    sesearch用于搜索SELinux安全策略规则集,命令来自包:yum install setools-console。

    2. 命令

    命令使用方法:
    sesearch [OPTIONS] RULE_TYPE [RULE_TYPE ...] [EXPRESSION] [POLICY ...]
    
    OPTIONS:
        -d, --direct        不搜索 type 的属性
        -R, --regex         使用正则表达式进行匹配
        -n, --linenum       显示每条可用规则的行号
        -S, --semantic      搜索语义(semantically)规则替代语法(syntactically)规则
        -C, --show_cond     显示条件规则的条件表达式
        -h, --help          帮助信息
        -V, --version       版本号
    
    RULE_TYPES:
        -A, --allow         允许(allow)的规则
        --neverallow        从不允许(neverallow)的规则
        --auditallow        审计(auditallow)的规则
        -D, --dontaudit     不审计的规则
        -T, --type          type_trans, type_member, 和 type_change (我也不懂这个干啥,待补充!)
        --role_allow        角色允许的规则
        --role_tans         role_transition 规则
        --range_trans       range_transition 规则
        --all               所有规则,不论是:type, class, 或 perms(seinfo可获取class, type值)
    
    EXPRESSIONS:
        -s NAME, --source=NAME        具有类型、属性值为 NAME 的规则作为源头(进程主体的概念)
        -t NAME, --target=NAME        具有类型、属性值为 NAME 的规则作为目标(文件,端口等类型的概念)
        --role_source=NAME            具有角色值为 NAME 的规则作为源头
        --role_target=NAME            具有角色值为 NAME 的规则作为目标
        -c NAME, --class=NAME         具有 class 值为 NAME 的规则作为对象类(the object class)
        -p P1[,P2,...], --perm=P1[,P2,...]
                                      具有特定权限的规则
        -b NAME, --bool=NAME          具有 NAME 值在表达式中的条件规则

    3. 示例

    #1. 显示所有 allow 的规则
    [root@tim ~]# sesearch --allow 
    Found 101724 semantic av rules:
       allow logrotate_t systemd_passwd_var_run_t : sock_file { ioctl read write create getattr setattr lock...
       allow dmidecode_t virtd_t : fd use ;
       allow ssh_keygen_t anaconda_t : fd use ;
       allow logadm_t systemd_passwd_var_run_t : sock_file { ioctl read write create getattr setattr lock app...
       allow unconfined_dbusd_t unconfined_dbusd_t : x_device { getattr setattr use read write getfocus setfo...
    .....
    
    
    #2. 显示 httpd_t (-s xx)域允许(--allow)访问的规则(-d 含义是只显示直接管理搜索结果)
    [root@tim ~]# sesearch -s httpd_t --allow -d 
    Found 1294 semantic av rules:
       allow httpd_t system_dbusd_t : unix_stream_socket connectto ;
       allow httpd_t dirsrv_config_t : file { ioctl read write create getattr setattr lock append unlink link rename op...
       allow httpd_t dirsrv_config_t : dir { ioctl read write create getattr setattr lock unlink link rename add_name r...
       allow httpd_t httpd_squirrelmail_t : file { ioctl read write create getattr setattr lock append unlink link rena...
    .....
    
    
    #3. 显示允许(--allow)访问 httpd_sys_script_exec_t (-t xx)类型的规则
    [root@tim ~]# sesearch -t httpd_sys_script_exec_t --allow -d 
    Found 11 semantic av rules:
       allow httpd_sys_script_t httpd_sys_script_exec_t : file { ioctl read getattr lock execute execute_no_trans entryp...
       allow httpd_sys_script_t httpd_sys_script_exec_t : dir { ioctl read getattr lock search open } ;
       allow httpd_sys_script_exec_t httpd_sys_script_exec_t : filesystem associate ;
       allow openshift_domain httpd_sys_script_exec_t : file { ioctl read getattr lock execute execute_no_trans open } ;
       allow openshift_domain httpd_sys_script_exec_t : dir { getattr search open } ;
    .....
    
    #4. 显示能够写(-p write)shadow_t 类型文件(-c file)的规则
    [root@tim ~]# sesearch -t shadow_t -c file -p write --allow 
    Found 11 semantic av rules:
       allow updpwd_t shadow_t : file { ioctl read write create getattr setattr lock append unlink link rename open } ;
       allow yppasswdd_t shadow_t : file { ioctl read write create getattr setattr lock relabelfrom relabelto append unl...
       allow pegasus_openlmi_account_t shadow_t : file { ioctl read write create getattr setattr lock relabelfrom relabe...
       allow files_unconfined_type file_type : file { ioctl read write create getattr setattr lock relabelfrom relabelto...
       allow sysadm_passwd_t shadow_t : file { ioctl read write create getattr setattr lock relabelfrom relabelto append...
    .....
    
    #5. 显示含二元值 samba_enable_home_dirs (-b xx)开关的条件规则
    [root@tim ~]# sesearch -b samba_enable_home_dirs --allow -d 
    Found 23 semantic av rules:
       allow smbd_t home_root_t : dir { ioctl read getattr lock search open } ;
       allow smbd_t home_root_t : lnk_file { read getattr } ;
       allow smbd_t user_home_type : file { ioctl read write create getattr setattr lock append unlink link rename open  ...
       allow smbd_t user_home_type : dir { ioctl read write create getattr setattr lock unlink link rename add_name remov...
       allow smbd_t user_home_type : lnk_file { ioctl read write create getattr setattr lock append unlink link rename } ;
    .....

     引用:https://www.server-world.info/en/note?os=CentOS_7&p=selinux&f=11

  • 相关阅读:
    RocketMQ主从搭建
    Spring Cloud Sleuth
    Spring Cloud Eureka
    Nacos配置中心使用
    Nacos注册中心使用
    Nacos快速入门
    Nginx配置SSL
    并发工具类
    关于类的线程安全
    Docker 入门学习笔记(一)
  • 原文地址:https://www.cnblogs.com/timlinux/p/10373397.html
Copyright © 2020-2023  润新知