selinux管理和应用

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

1.1 SElinux概述

SELinux(Security-Enhanced Linux) 是美国国家安全局(NAS)对于强制访问控制的实现,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。大部分使用SELinux 的人使用的都是SELinux就绪的发行版,例如Fedora、Red Hat Enterprise Linux (RHEL)、Debian 或Gentoo。它们都是在内核中启用SELinux 的,并且提供一个可定制的安全策略,还提供很多用户层的库和工具,它们都可以使用 SELinux 的功能。

1.1.1 SElinux特点

1.MAC

对访问的控制彻底化,对所有的文件、目录、端口的访问都是基于策略设定的,可由管理员时行设定。

2.RBAC

对于用户只赋予最小权限。用户被划分成了一些role(角色),即使是root 用户,如果不具有sysadm_r角色的话,也不是执行相关的管理。哪里role可以执行哪些domain,也是可以修改的。

3.安全上下文

当启动selinux的时候,所有文件与对象都有安全上下文。进程的安全上下文是域,安全上下文由用户:角色:类型表示。

(1)系统根据pam子系统中的pam_selinux.so模块设定登录者运行程序的安全上下文

(2)rpm包安装会根据rpm包内记录来生成安全上下文,

(3)如果是手工他建的,会根据policy中规定来设置安全上下文,

(4)如果是cp,会重新生成安全上下文。

(5)如果是mv,安全上下文不变。

1.1.2 安全上下文格式

安全上下文由user:role:type三部分组成,下面分别说明其作用:

er identity:类似linux系统中的UID,提供身份识别,安全上下文中的一部分。

三种常见的user:

user_u-: 普通用户登录系统后预设;

system_u-:开机过程中系统进程的预设;

root-: root登录后预设;

在targeted policy中users不是很重要;

在strict policy中比较重要,的有预设的selinux users都以"_u"结尾,root除外。

2.role

文件与目录的role,通常是object_r;

程序的role,通常是system_r;

用户的role,targeted policy为system_r;

strict policy为sysadm_r,staff_r,user_r

用户的role,类似于系统中的GID,不同的角色具备不同的权限;用户可以具备多个role;但是同一时间内只能使用一role;

role是RBAC的基础;

3.type

type:用来将主体与客体划分为不同的组,组每个主体和系统中的客体定义了一个类型;为进程运行提供最低的权限环境。

当一个类型与执行的进程关联时,该type也称为domain,也叫安全上下文。

域或安全上下文是一个进程允许操作的列表,决字一个进程可以对哪种类型进行操作。

1.1.3 SElinux配置文件

vi /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - SELinux is fully disabled.

SELINUX=enforcing

#SELINUX=disabled

# SELINUXTYPE= type of policy in use. Possible values are:

# targeted - Only targeted network daemons are protected.

# strict - Full SELinux protection.

SELINUXTYPE=targeted

#SELINUX有「disabled」「permissive」,「enforcing」3种选择。1.模式的设置

enforcing:强制模式,只要selinux不允许,就无法执行

permissive:警告模式,将该事件记录下来,依然允许执行

disabled:关闭selinux;停用,启用需要重启计算机。

2.策略的设置

targeted:保护常见的网络服务,是selinux的默认值;

stric:提供RBAC的policy,具备完整的保护功能,保护网络服务,一般指令及应用程序。

策略改变后,需要重新启动计算机。

也可以通过命令来修改相关的具体的策略值,也就是修改安全上下文,来提高策略的灵活性。

3.策略的位置

/etc/selinux/<策略名>/policy/

1.2 SElinux命令介绍

1.2.1 查询SElinux状态命令

1.查询selinux状态

[root@redhat ~]# sestatus

SELinux status: enabled

SELinuxfs mount: /selinux

Current mode: enforcing

Mode from config file: enforcing

Policy version: 21

Policy from config file: targeted

2.查询selinux激活状态

[root@redhat ~]# selinuxenabled

[root@redhat ~]# echo $?

如果为-256为非激活状态。

1.2.2 切换SElinux类型

1.切换成警告模式

[root@redhat ~]# setenforce 0或setenforce permissive

[root@redhat ~]# sestatus

SELinux status: enabled

SELinuxfs mount: /selinux

Current mode: permissive

Mode from config file: enforcing

Policy version: 21

Policy from config file: targeted

[root@redhat ~]# getenforce

Permissive

相关文档
最新文档