Linux安全中阶教程之SElinux(适合有一定水平的管理员) ...

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux安全中阶教程之SElinux(适合有一定水平的管理员)

一:SElinux(安全增强linux简介)

1:使用SElinux可以将进程放入在特定的SElinux域,同时赋予系统上的资源(如文件,网络套接字,系统调用等)SElinux上下文。装入SElinux的策略(通常作为系统启动过程的一部分),然后决定哪个进程域可以访问哪些资源上下文。

2:在红帽企业版linux 5中,有关SElinux的选择有下面几种:

(1)

我是否需要启用SElinux

(2)

一旦启用,我需要SElinux处于允许(permissive)还是强制(enforcing)状态。

(3)

我需要在文件上赋予什么样的SElinux上下文。

3:在实际工作中,红帽企业版linux 5支持一种SElinux策略,叫目标策略(targeted).这个策略在大多数应用之中。在目标策略之中,只有目标进程受到SElinux的影响。而其他进程运行在非限制模式下。目标策略只影响常用的网络应用程序。受到限制的服务在200个以上,有增加的趋势。SElinux限制的典型应用程序如下:

(1)

dhcp

(2)

httpd

(3)

mysqld

(4)

named

(5)

nscd

(???)

(6)

ntpd

(???)

(7)

portmap

(8)

postgres

(???)

(9)

snmpd

(???)

(10)

squid

(11)

syslogd

4:启用SElinux

/etc/sysconfig/selinux

setenforce

getenforce

/etc/sysconfig/selinux

(1)

强制(enforcing):任何违法SElinux的操作都被禁止。

(2)

允许(permissive):任何违反SElinux的操作都会受到一个警告信息。但是行动可以继续。

(3)

停用(disabled):不启用SElinux策略。

Setenforce和getenforce命令

Setenforce 0/1

0 表示允许;1 表示强制

Getenforce

查看当前SElinux的状态。

5:查看SElinux上下文

使用命令 ps –Z 和 ls –Z

每个进程都属于个SElinux域;

每个文件都被赋予一个SElinux上下文。

相关的域和上下文可以使用ls和ps命令的命令选项–Z 来显示

进程SElinux域和SElinux上下文,具有以下格式:

System_u:object_r:httpd_exec:s0

说明:

上面的字段以冒号作为分隔符,

第一个字段:用户

第二个字段:角色

第三个字段:类型

第四个字段:与MLS,MCS有关

说明:

SEliunx目标策略只于第三个字段有关,即类型字段(TYPE).

二:SElinux介绍

SElinux是美国国家安全局为linux系统设计的一项开放源码项目,主要是希望将其作为系统的最后一道防线,来抵御黑客的攻击和入侵系统。

1.

常见的读取控制

1.1

DAC (Discretionary Access Control)”任意式读取控制”。在DAC的架构下,每个对像都会记录一个拥有者的信息。只要是对象的拥有者,就可以获得该对象的完全控制权限。DAC 允许拥有者完全权限。其他需要读取该对象时候,必须授予适当的权限。但是每个对象仅有一组拥有者的信息,如果需要更复杂的读取控制能力,必须使用ACL。ACL的全名是“访问

控制列表(Access Control List)”.是DAC的延伸。在ACL环境下,你可以不同的用户设置一组权限。如此一来,就可以对不同的用户设置不同的权限了。

1.2

MAC (Mandatory Access Control)“强制性读取控制”.在MAC架构下,会为每一个对象添置一个安全的上下文(Security Context).进程和用户除了具备传统的的权限之外,还必须获得SElinux的授权,方能读取对象。

1.2.1

RBAC

RBAC全称是“角色基础读取控制”(Role-based Access Control),在此架构下,是以用户所属的角色进行读取权限判定的动作的。如:老板的可以读取哪些对象,经理可以读取哪些对象。等

1.2.2

MLS

MLS全名是“多层次安全”(Mulit-Level Security),在此架构下,是以对象的机密等级来决定进程对该物的读取权限的。

2:SElinux

SElinux是一个在内核中执行,提供MAC能力的子系统,以弥补传统的DAC架构的不足。SElinux子系统以“类型强制性”读取控制机制为主,并融合RBAC,MLS与MCS 3种MAC读取控制机制的特性。

2.1 什么是类型强制性的读取控制机制?

在SElinux世界里,定义了许多的类型(TYPE).每一个进程,文件,设备,网络连线等,都必须标示其所属的类型。进程仅能读取相同类型的文件,如果非相关的类型,且SEliunx 不允许读取时,则无法读取。这就是类型强制性的读取控制机制。

警告:SElinux的类型读取控制是在传统的DAC权限之后进行的。换言之,就是说在取得了DAC权限之后,再由SElinux来进行类型的强制性控制了。

3:SElinux的术语

3.1 对象

在SElinux里,所有可被读取的的皆为对象。

3.2 主体

在SElinux里,把进程理解为主体

3.3 类型

SElinux允许你为系统中的每一个主体或对象定义一个类型。

3.4 领域

3.5 用户

相关文档
最新文档