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 ,再次測试网络服务吧。


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

     转载请标明原文出处:http://blog.csdn.net/u012367513/article/details/40663227




版权声明:本文博客原创文章,博客,未经同意,不得转载。



本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4653813.html,如需转载请自行联系原作者


相关文章
|
安全 Linux 开发工具
16.5.4 【Linux】SELinux 政策内的规则管理
16.5.4 【Linux】SELinux 政策内的规则管理
70 0
|
7月前
|
安全 Linux 数据安全/隐私保护
Linux 学习笔记十八:SELinux 相关概念
Linux 学习笔记十八:SELinux 相关概念
|
安全 Linux Shell
16.5.3 【Linux】SELinux 三种模式的启动、关闭与观察
16.5.3 【Linux】SELinux 三种模式的启动、关闭与观察
355 0
|
安全 Linux Shell
16.5 【Linux】SELinux 初探
16.5 【Linux】SELinux 初探
58 0
|
Shell Linux
第十六章、【Linux】程序管理与SELinux初探
第十六章、【Linux】程序管理与SELinux初探
45 0
|
运维 安全 Unix
百度搜索:蓝易云【Linux系统开启或关闭SELinux。】
SELinux(Security-Enhanced Linux)是一个强制访问控制(MAC)机制,用于对 Linux 操作系统进行更加细粒度的访问控制,可防范许多攻击方式。
89 0
|
安全 关系型数据库 MySQL
关于 linux 文件权限控制-SELinux
关于 linux 文件权限控制-SELinux
240 0
关于 linux 文件权限控制-SELinux
|
安全 Linux 数据安全/隐私保护
Linux 学习笔记十八:SELinux 相关概念
大家好,我是阿萨。前几天在Linux 上安装一个软件,碰到了一个问题就是安装软件一直有问题。找开发看了后,发现是SELinux 相关问题导致的。今天就来学习下这个SELinux。
124 0
|
网络协议 Linux Apache
linux selinux策略管理与标签
linux selinux策略管理与标签
|
Linux 网络安全
修改Linux SSH的端口与SELinux究竟是什么
修改Linux SSH的端口与SELinux究竟是什么
修改Linux SSH的端口与SELinux究竟是什么