`
二当家的
  • 浏览: 25707 次
文章分类
社区版块
存档分类
最新评论

Linux的selinux

 
阅读更多

SELinux 的运作模式

主体 (Subject):SELinux 主要想要管理的就是程序,因此你可以将『主体』跟 process 划上等号;

目标 (Object): 主体程序能否存取的『目标资源』一般就是文件系统。因此这个目标项目可以等文件系统划上等号;

政策 (Policy): 由于程序与档案数量庞大,因此 SELinux 会依据某些服务来制订基本的存取安全性政策。这些政策内还会有详细的规则 (rule) 来指定不同的服务开放某些资源的存取与否。在目前的 CentOS 6.x 里面仅有提供两个主要的政策如下,一般来说,使用预设的 target 政策即可。
targeted:针对网络服务限制较多,针对本机限制较少,是预设的政策;
mls:完整的 SELinux 限制,限制方面较为严格。

安全性本文 (security context): 我们刚刚谈到了主体、目标与政策面,但是主体能不能存取目标除了要符合政策指定之外,主体与目标的安全性本文必须一致才能够顺利存取。 这个安全性本文 (security context) 有点类似文件系统的 rwx 啦!安全性本文的内容与设定是非常重要的! 如果设定错误,你的某些服务(主体程序)就无法存取文件系统(目标资源),当然就会一直出现『权限不符』的错误讯息了!


(1)主体程序必须要通过 SELinux 政策内的规则放行后,就可以与目标资源进行安全性本文的比对, (2)若比对失败则无法存取目标,若比对成功则可以开始存取目标。


安全性本文 (Security Context)



身份识别 (Identify): 相当于账号方面的身份识别!主要的身份识别则有底下三种常见的类型:
root:表示 root 的账号身份,如同上面的表格显示的是 root 家目录下的数据啊!
system_u:表示系统程序方面的识别,通常就是程序啰;
user_u:代表的是一般使用者账号相关的身份。

角色 (Role): 透过角色字段,我们可以知道这个数据是属于程序、档案资源还是代表使用者。一般的角色有:
object_r:代表的是档案或目录等档案资源,这应该是最常见的啰;
system_r:代表的就是程序啦!不过,一般使用者也会被指定成为 system_r 喔!

类型 (Type): 在预设的 targeted 政策中, Identify 与 Role 字段基本上是不重要的!重要的在于这个类型 (type) 字段! 基本上,一个主体程序能不能读取到这个档案资源,与类型字段有关!而类型字段在档案与程序的定义不太相同,分别是:
type:在档案资源 (Object) 上面称为类型 (Type);
domain:在主体程序 (Subject) 则称为领域 (domain) 了!
domain 需要与 type 搭配,则该程序才能够顺利的读取档案资源啦!


SELinux 的启动、关闭与观察



查看并永久修改selinux的启动和政策




注:如果由 enforcing 或 permissive 改成 disabled ,或由 disabled 改成其他两个,那也必须要重新启动。


SELinux type 的修改

注:单纯的复制文件时,SELinux 的 type 字段是会继承目标目录的(即会变成和所到的目录的一样);如果是移动,那么连同 SELinux 的类型也会被移动过去。




复原成原有的 SELinux type:



默认目录的安全性本文查询与修改

semanage(需要安装:yum install policycoreutils-python):




利用 semanage 设定 /srv/vbird 目录的默认安全性本文为 public_content_t(修改的就是默认值):



政策查询:seinfo(需要安装:yum install setools-console


政策为targeted时,针对httpd制定的规则为:



如果你想要找到有 httpd 字样的安全性本文类别时, 就可以使用『 seinfo -t | grep httpd 』来查询了!如果查询到相关的类别或者是布尔值后,想要知道详细的规则时, 就得要使用 sesearch 这个指令了!
sesearch:



布尔值的查询与修改:(getsebool,setsebool)







整篇最重要的内容

setroubleshoot --> 错误讯息写入 /var/log/messages
需要软件:setroublshoot 与 setroubleshoot-server
原本的 SELinux 信息本来是以两个服务来记录的,分别是 auditd 与 setroubleshootd。既然是同样的信息, 因此 CentOS 6.x 将两者整合在 auditd 当中啦!所以,并没有 setroubleshootd 的服务存在了喔!因此, 当你安装好了 setroubleshoot-server 之后,请记得要重新启动 auditd,否则 setroubleshootd 的功能不会被启动的。

演示:





让 setroubleshoot 主动的发送产生的信息到我们指定的 email:



SELinux 错误克服的总结:
1、在服务与 rwx 权限都没有问题,却无法成功的使用网络服务时;
2、先使用 setenforce 0 设定为宽容模式;
3、再次使用该网络服务,如果这样就能用,表示 SELinux 出问题,请往下继续处理。如果这样还不能用,那问题就不是在 SELinux 上面!请再找其他解决方法,底下的动作不适合你;
4、分析 /var/log/messages 内的信息,找到 sealert -l 相关的信息并且执行;
5、找到 Allow Access 的关键词,照里面的动作来进行 SELinux 的错误克服;
6、处理完毕重新 setenforce 1 ,再次测试网络服务吧!


相关资料:《鸟哥的私房菜》





分享到:
评论

相关推荐

    linux-selinux功能及源码分析

    本书《linux-selinux功能及源码分析》深入探讨了SELinux的核心概念和技术细节,对于想要深入了解SELinux工作原理的专业人士来说是一本不可多得的资源。 #### 操作系统中访问控制模型的演化 - **1.1 访问控制模型的...

    selinux-utils_3.0-1build2_amd64.deb

    ubuntu20.04.1_x86系统安装selinux所需软件包

    操作系统安全:selinux自启动.docx

    操作系统安全是IT领域中至关重要的一个方面,而SELinux(Security-Enhanced Linux)作为一种强制访问控制机制,为Linux系统提供了更为严密的安全保障。本文主要介绍SELinux的工作方式、模式以及如何实现自启动。 ...

    selinux-master

    SELinux(Security-Enhanced Linux)是Linux操作系统中的一种安全模块,它提供了强制访问控制(Mandatory Access Control, MAC),增强了系统的安全性。"selinux-master"这个压缩包可能包含了一个完整的SELinux学习...

    如何关闭linux下selinux服务 txt

    在本篇文章中,我们将深入探讨如何在Linux系统中关闭SELinux服务,并且通过文本手册的形式进行详细介绍。本文将从理解SELinux的基本概念入手,逐步深入到具体的关闭步骤、配置文件详解以及可能遇到的问题与解决方案...

    SELinux-by-Example-Using-Security-Enhanced-Linux

    SELinux by example is the ... It also contains a comprehensive SELinux policy language reference and covers exciting new features in Fedora Core 5 and the upcoming Red Hat Enterprise Linux version 5.

    Linux中selinux基础配置教程详解

    在Linux系统中,Security-Enhanced Linux(SELinux)是一个重要的安全子系统,它通过强化内核来增强系统的安全性。本文将深入讲解如何在Linux环境中配置SELinux的基础知识。 首先,SELinux有三种工作模式: 1. **...

    selinux 大礼包

    selinux 经典书籍 共四本 SELinux NSA's Open Source Security Enhanced Linux SELinux by Example: Using Security Enhanced Linux SELinux简明学习指南.pdf SELinux System Administration Second Edition

    linux让防火墙(selinux)开启端口

    linux让防火墙(selinux)开启端口,开启80 3306 等端口

    SELinux手册 电子书 pdf 英文

    SELinux(Security-Enhanced Linux)是一种基于 Linux 操作系统的访问控制机制,旨在提高系统的安全性和稳定性。它通过 Mandatory Access Control(强制访问控制)机制来控制进程和文件之间的交互,以防止未经授权的...

    关闭selinux Linux之SELinux的开启、关闭

    SELinux 是Security-Enhanced Linux 的简写,意指安全增强的linux。它不是⽤来防⽕墙设置的。但它对Linux系统的安全很有⽤。Linux内核 (Kernel) 从2.6就有了SELinux。 SELinux是内置在许多GNU / Linux 发⾏版中的...

    SELinux详解-中文版.pdf

    《SELinux详解》是一本深度解析安全增强的Linux(SELinux)操作系统的书籍,旨在帮助读者理解、编写、修改和管理SELinux策略,提升Linux系统的安全性。书中详细介绍了SELinux的作用、生效机制以及策略模块的编写,...

    SELinux: NSA's Open Source Security Enhanced Linux By Bill McCarty

    SELinux: NSA's Open Source Security Enhanced Linux By Bill McCarty Publisher: O'Reilly 2004 | 256 Pages | ISBN: 0596007167 | CHM | 1 MB

    SELinux NSAs Open Source Security Enhanced Linux.rar

    **SELinux:国家安全局的开源安全增强Linux** **一、SELinux概述** 安全增强Linux(Security-Enhanced Linux,简称SELinux)是由美国国家安全局(NSA)开发的一个强制访问控制(MAC)系统,它是对标准Linux内核的...

    SELinux:为任何Linux环境带来世界级的安全性! SELinux为Linux/UNIX集成商、管理员和开发人员提供了最

    SELinux:为任何Linux环境带来世界级的安全性! SELinux为Linux/UNIX集成商、管理员和开发人员提供了最先进的平台,用于构建和维护高度安全的解决方案。既然SELinux已经包含在Linux 2.6内核中,并且默认情况下在...

    selinux-example_SELinux_

    **SELinux:Linux安全增强系统详解** 在深入探讨SELinux之前,我们首先需要理解它的全称:Security-Enhanced Linux,即安全增强型Linux。它是一种强制访问控制(MAC)系统,由美国国家安全局(NSA)开发,旨在提高...

    SELinux by Example Using Security Enhanced Linux

    比较新的讲SELinux的入门书籍,包括MLS,是难得得覆盖面很全的书

    在SELinux中保护进程间通信

    本文旨在探讨Linux操作系统下如何通过Security Enhanced Linux(SELinux)来实现安全的进程间通信。 #### SELinux与进程间通信 SELinux是一种在Linux内核上实现的MAC框架,它为系统提供了一种灵活而强大的安全模型...

Global site tag (gtag.js) - Google Analytics