zoukankan      html  css  js  c++  java
  • Linux SELinux 介绍详解

    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

  • 相关阅读:
    JOIN条件限制对结果记录的影响
    什么是linux?
    什么是操作系统?
    Internship settled!
    Python dict 调试技巧 —— 利用YAML存储dict内容
    c++ 异常处理
    C#可空类型
    C# 异常处理
    C#值类型与引用类型
    C# 类类型
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/10819681.html
Copyright © 2011-2022 走看看