Linux SELinux 介绍详解


SElinux 简介

  SElinux (Security Enhanced Linux)是由美国国家安全局(NSA)开发的。它已被植入到了Linux系统的内核当中,主要作用是通过安全策略将系统应用软件及用户程序对系统文件目录的访问限制。已MAC(Mandatory Access Control)的委任试存储方式作为安全处理。


SElinux 运作模式

  • 主体(Subject)

    • 主体相当于系统中的执行程序process,SElinux主要管理的就是程序。
  • 目标(Object)

    • 系统文件以及目录。
  • 策略(Policy)

    • 由于程序目录数量比较多,因此SELinux会一局某些服务来定制基本的存取安全策略。CentOS 7.x里面仅有提供三个主要的策略分别是:

      • targeted:针对网络服务限制较多,针对本地限制较少,是预设的策略;
      • minimum:由 target 修订而来,只针对选择的程序来保护!
      • mls:完整的 SELinux 限制,限制方面较为严格。

运作图:


SElinux 三种身份

查看当前目录下的SElinux信息(前提SElinux已经打开)

# 查看Selinux信息
[root@study ~]# ls -Z
-rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg
-rw-r--r--. root root system_u:object_r:admin_home_t:s0 initial-setup-ks.cfg
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 regular_express.txt
Identify:role:type
身份识别:角色:类型
  • 身份识别(Identify)
  • 代表:相當於帳號方面的身份識別!主要的身份識別常見有底下幾種常見的類型:
    • unconfined_u:不受限的用户,也就是說,該檔案來自於不受限的程序所產生的!一般來說,我們使用可登入帳號來取得 bash 之後, 預設  的 bash 環境是不受 SELinux 管制的~因為 bash 並不是什麼特別的網路服務!因此,在這個不受 SELinux 所限制的 bash 程序所產生的檔案, 其身份識別大多就是 unconfined_u 這個『不受限』用戶囉!
    • system_u:系統用戶,大部分就是系統自己產生的檔案囉!
  • 角色(Role)
  • 代表:透過角色欄位,我們可以知道這個資料是屬於程序、檔案資源還是代表使用者。一般的角色有:
    • object_r:代表的是檔案或目錄等檔案資源,這應該是最常見的囉;
    • system_r:代表的就是程序啦!不過,一般使用者也會被指定成為 system_r 喔!
  • 类型(Type)
  • 代表:在預設的 targeted 政策中, Identify 與 Role 欄位基本上是不重要的!重要的在於這個類型 (type) 欄位! 基本上,一個主體程序能不能讀取到這個檔案資源,與類型欄位有關!而類型欄位在檔案與程序的定義不太相同,分別是:
    • type:在檔案資源 (Object) 上面稱為類型 (Type);
    • domain:在主體程序 (Subject) 則稱為領域 (domain) 了!

 SElinux 三种启动模式

  • enforcing:强制模式、代表SELinux运行中,且已经正确的开放限制 domain/type。
  • permissive:宽容模式、代表SELinux运行中,不过金会有警告信息并不会直接限制 domian/type。
  • disabled:关闭模式、SELinux 关闭状态。


 来源地址:http://linux.vbird.org/linux_basic/0440processcontrol.php#selinux

最新文章

  1. hdu 5057 Argestes and Sequence(分块算法)
  2. [Java] 内部类的用法
  3. php调试工具firephp
  4. HDU 1496 Train Problem I 火车问题1(桟,水)
  5. Cassandra + Eclipse + Hadoop
  6. jQuery基础学习7——层次选择器find()方法
  7. 超实用,你get了吗?再也不怕本地文件更新到环境用Linux命令重启服务器了。。。
  8. cocos2dx3.3在Windows环境搭建以及新工程创建
  9. CSS奇思妙想图形(心形、气泡三角形、切角、梯形、饼图等)
  10. JavaWeb小项目(一)
  11. springboot 配置文件
  12. 有了GPRS为什么还要LoRa和NB-IoT?【转】
  13. 微信小程序电商实战(-)商城首页
  14. web应用与web框架
  15. python class根据配置自定义函数
  16. 题目1091:棋盘游戏(DFS)
  17. window 服务(一)
  18. test20181024 kun
  19. Vivado的helloword程序:软件工程部分
  20. matplotlib极坐标系应用之雷达图

热门文章

  1. ASP.NET Core基于K8S的微服务电商案例实践--学习笔记
  2. WPF——如何为项目设置全局样式。
  3. django中're_path'的用法
  4. Netty与RPC
  5. 同样是高并发,QQ/微博/12306的架构难度一样吗?
  6. JavaScript深入浅出第1课:箭头函数中的this究竟是什么鬼?
  7. JavaScript 数学
  8. CarTool 使用,获取图片资源
  9. 使用 gitlab 进行代码管理
  10. MySQL第三课