博客
关于我
LInux:SELinux
阅读量:343 次
发布时间:2019-03-04

本文共 2344 字,大约阅读时间需要 7 分钟。

简介

  • SELinux: Secure Enhanced Linux,工作于Linux内核中
  • DAC:自主访问控制 【Linux自身的访问机制】
    • 以tom用户,去访问text.txt文件,则该进程,就拥有tom用户权限,对mysql.cof,redix.cof文件的权限,及该进程,就能访问到tom权限内的所有文件
    • 这种方式:违反最小权限法则【及:一个进程启动起来,需要访问5个资源,则就最多只能访问这5个资源权限】【SELinux就是解决这个问题的】
  • MAC:强制访问机制【SELinux使用的访问机制】
    • 例子:以tom的用户启动进程去 打开test.txt文件,有三种的打开情况【及安全上下文】
      • 一、文件的属主等于tom用户启动进程的属主,则以文件属主的权限去运行该文件
      • 二、文件的属组包含tom用户启动进程属主,则以文件属组的权限去运行该文件
      • 三、以其他用户权限去运行该文件
    • sandbox:沙箱机制;启动进程后,该进程在一个虚拟环境中(沙箱)运行,即便脱离的控制,也只能访问该沙箱内的资源
      • subject operation object  【主题操作对象】
        • subject: 进程【domain:域】
        • openeration:以文件为可进行的操作例【open, read, write, close, chown, chmod】
        • object: 进程,文件【type:类型】
        • 一个进程(subject)操作一个对象(object),取决于对象(object)所拥有的权限和两则是否在有限区域内(领域)

SELinux工作级别【SELINUXTYPE:安全策略】【重新启动生效】

  • strict: 每个进程都受到selinux的控制
  • targeted: 仅有限个进程受到selinux控制【只监控容易被入侵的进程】
  • minimum :目标政策的修改。只对选中的进程进行保护

SELinux的状态【SELinux :安全状态】【重新启动生效】

  • enforcing: 强制,每个受限的进程都必然受限
  • permissive:启用,每个受限的进程违规操作不会被禁止,但会被记录于审计日志
  • disabled: 关闭

SELinux为每个文件提供了安全标签,也为进程提供了安全标签【作用法则】

  • [root@localhost ~]# ls -Z /tmp
  • [root@localhost ~]# ps -auxZ 
  • system_u:system_r:kernel_t:s0    【安全标签】
    • system_u:SELinux的user
    • system_r:角色(有点类似与组的概念)
    • tyep:类型(域)
    • s0:敏感度

SELinux简介

  • 任何一个进程,到底可以访问那些文件,不是严格按照,进程自己的域和文件类型匹配,而是按照SELinux库中定义的规则【及法无规定则禁止】
    • ​​​​​​​该规则规定了:哪种域能访问哪种或哪些种类型内文件
    • 通过则可以范围该文件,不通过记录到【/var/log/audit/audit.log】文件中
  • ​​​​​​​一个进程可以开启多个功能如:上传和下载功能,下载功能安全级别相对来说比较低,上传的功能安全级别较高
    • ​​​​​​​进程启动起来受限,不仅仅受限于它能访问的权限,还有考虑它能发挥的特性【比如一个进程开启了10中功能,其中4中功能是SELinux认为是安全的,其他6中功能是默认关闭的,要开启需要自己手动去打开(风险自担)】
    • 这中功能称为SELinux中布尔型规则设定
      • [root@localhost ~]# getenbool -a

​​​​​​​SELinux相关命令

  • getenforce: 获取SELinux当前状态【前提SELinux生效】】【仅对当前环境有效】
  • setenforce 0|1 :设置SELinux当前状态【前提SELinux生效】【仅对当前环境有效】
    • 0: 设置为permissive
    • 1: 设置为enforcing
  • SELinux配置文件存发位置
    • /etc/sysconfig/selinux
    •  /etc/selinux/config
  • chcon :给文件重新打标
    • 格式:chcon [OPTION]... [-u USER] [-r ROLE] [-t TYPE] 
    • -t:单个打标
      • 例子:[root@localhost home]# ls -Z a.txt     【在tmp文件下,创建的a.txt,文件标签类型默认为该分组】
        -rw-r--r--. root root unconfined_u:object_r:user_tmp_t:s0 a.txt
      • [root@localhost home]# ls -Z a.txt                【在home文件下,创建的a.txt,文件标签类型默认为该分组】
        -rw-r--r--. root root unconfined_u:object_r:home_root_t:s0 a.txt
      • [root@localhost home]# chcon -t user_tmp_t a.txt
        [root@localhost home]# ls -Z a.txt
        -rw-r--r--. root root unconfined_u:object_r:user_tmp_t:s0 a.txt
    • -R:递归打标
  • 还原文件的默认标签:restorecon [-R] /path/to/somewhere
  • SELinux布尔型规则
    • 布尔型规则:
    • getsebool命令: getsebool [-a] [boolean]
    • setsebool命令:setsebool [ -P] boolean value 【永久有效】
      • setsebool bool1=val1 【当前有效】
                      

 

 

 

转载地址:http://ywre.baihongyu.com/

你可能感兴趣的文章
上周热点回顾(2.19-2.25)
查看>>
云计算之路-阿里云上:博客web服务器轮番CPU 100%
查看>>
云计算之路-阿里云上:服务器CPU 100%问题是memcached连接数限制引起的
查看>>
上周热点回顾(3.26-4.1)
查看>>
上周热点回顾(6.25-7.1)
查看>>
【故障公告】10:30-10:45 左右 docker swarm 集群节点问题引发故障
查看>>
工作半年的思考
查看>>
不可思议的纯 CSS 滚动进度条效果
查看>>
【CSS进阶】伪元素的妙用--单标签之美
查看>>
惊闻NBC在奥运后放弃使用Silverlight
查看>>
IE下尚未实现错误的原因
查看>>
创建自己的Docker基础镜像
查看>>
Python 简明教程 --- 20,Python 类中的属性与方法
查看>>
KNN 算法-理论篇-如何给电影进行分类
查看>>
Spring Cloud第九篇 | 分布式服务跟踪Sleuth
查看>>
CODING 敏捷实战系列课第三讲:可视化业务分析
查看>>
工作动态尽在掌握 - 使用 CODING 度量团队效能
查看>>
CODING DevOps 深度解析系列第二课报名倒计时!
查看>>
数据结构第八节(图(下))
查看>>
基于Mustache实现sql拼接
查看>>