SElinux

来源:互联网 发布:澳门娱乐网络博客 编辑:程序博客网 时间:2024/06/17 21:03
一 SElinux是什么
    SElinux是美国国家安全局开发为linux安全强化,是在程序、文件等权限设置时依据的一个核心模块。
        自主式存取控制(DAC):根据程序的拥有者和文件rwx权限决定操作者对文件有无存取权限,所以root就可以操作任何文件(不安全,容易误操作)。
        委任式存取控制(MAC):针对特定的程序与特定的程序与文件进行权限控管(root也是)。
        SElinux就是通过MAC方式来控制程序,它有些控管默认的政策和规则。
二SElinux运行模式
    
    
    1)主体程序(进程)必须要通过SELinux政策内的规则放行后,就可以与目标资源进行安全性上下文的比对。
     2)若比对失败则无法存取目标,若比对成功则可以开始存取目标。

    (服务用不了跟SElinux有关的:要么是规则的布林值限制直接定义了,要么就是安全上下文不匹配

    目前的政策一般用targeted。(getsebool -a 可查看规则限制)
   
   SELinux策略包括两点:安全上下文
     SElinux域:对进程资源进行管理(其实算是进程的安全上下文
        ps -Z 查看
        
    SElinux安全性上下文:对系统资源进行限制(文件目录的安全上下文
        安全性上下文存在于主体程序中与目标文件资源中。每个文件都有,存在文件的indoe中。
        ls -Z 可查看
        
        
        可分为三字段:  Identify (_u):role (_r):type (_t) 
        Identify(身份识别):
            1.unconfined_u:不受限用户。
            2.system_u:系统用户。
        role(角色):
            1.object_r:代表文件和目录等文件资源。
            2.system_r:代表程序。
        type(类型)(重要!)
            1.type:在文件资源上
            2.domain:在主体程序上(进程的
            type与domain匹配,程序才能够顺利读取文件资源
三 SElinux模式
    1.enforcing:强制模式。运行,开始限制domain/type.
    2.permissive:宽容模式。运行,不限制只警告
    3.disabled:关闭。
   

    SElinux相关命令(/etc/selinux/config)
        1.getenforce 查看SElinux状态
        2.sestatues 查看SELinux的政策
         -v检测列于 /etc/sestatus.conf 内的文件与程序的安全本文内容
          -b 将目前规则的规则布林值列出,也就是某些规则(role)是否启动(0/1)
        3.SElinux开启与关闭 修改/etc/selinux/config下的SELINUX=(mode)  (要重启,必须的)
        4.setenforce nu 开启状态模式切换 (不用重启)
            0 permissive模式
            1 Enforcing模式

四 SElinux政策里的规则管理(查看SElinux政策的规则是否允许某些服务在某些目录下开发)
    1.getsebool 规则名 查看规则是否启动
      -a 列出所有系统的所有SElinux规则的布林值设置启动
   
    2.setsebool 设置规则的布林值开启/关闭
        -P 永久生效

    (扩充工具应用)
    规则具体限制要查看需seinfo sesearch工具(默认不安装 yum install setools-console-*
    1.seinfo 
      -A 列出SELinux的状态、规则布林值、身份识别、角色、类别
      -u 列出SElinux的所有身份识别(user)种类
      -r 列出SELinux的所有角色(role)种类
      -t 列出SELinux的所有类别(type)种类
      -b 列出所有规则种类
    2.sesearch [-A] [-s 主体类别] [-t 目标类别] [-b 布林值]
        -a 列出后面数据允许"读取或放行"的相关数据
      -t type
      -b SELinux规则
   

五 SElinux安全本文的修改(主要用于文件因SElinux的type不符合要求而无法运行的修改)
    1.chcon file/dir
      -R 连同该目录下的此目录也同时修改
      -t type 指定安全文本的类型字段
       -u Identify 指定身份
       -r role 指定角色
      -v 若有变化,列出变化结果
      --reference=file1(范例文档) 拿某个文档当范例来修改后接文件
    2.restorecon file/dir 把目录下的文件恢复成默认目录的type (常用)
     -R 连同次目录一起修改
     -v 显示过程
      -e 排除目录
      -i 忽略不存在文件
      -F 强制恢复
    3.semanage 默认目录的安全性本文查询与修改
    {login|user|port|interface|fcontext|translation}
     fcontext : 主要用于安全环境。(/etc/selinux/targeted/contexts/
      -l 查询
      -a 增加目录的默认安全性本文设置
      -m 修改
      -d 删除
         -t type 指定安全文本的类型字段
         -u Identify 指定身份
         -r role 指定角色
    修改后,ll -Z 显示不会立即变,可用 restorecon -Rv 目录 恢复立即才会生效
(整理自《鸟哥》《Linux就该这么学》)
    

0 0
原创粉丝点击