SElinux

一 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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值