SELinux 模式设置

简介: 1、SELinux是什么?SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。

1、SELinux是什么?
SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。
众所周知,标准的UNⅨ安全模型是"任意的访问控制"DAC。就是说,任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他!
而MAC情况下的安全策略完全控制着对所有资源的访问。这是MAC和DAC本质的区别。
SELinux提供了比传统的UNⅨ权限更好的访问控制。
2、SELinux 的启动、关闭与查看
1,并非所有的 Linux distributions 都支持 SELinux 的
目前 SELinux 支持三种模式,分别如下:
•enforcing:强制模式,代表 SELinux 运作中,且已经正确的开始限制 domain/type 了;
•permissive:宽容模式:代表 SELinux 运作中,不过仅会有警告讯息并不会实际限制 domain/type 的存取。这种模式可以运来作为 SELinux 的 debug 之用;
•disabled:关闭,SELinux 并没有实际运作。
 
查看SELinux的模式:
# getenforce 
Enforcing  <==就显示出目前的模式为 Enforcing 
 
查看 SELinux 的政策 (Policy):
[root@master oracle]# sestatus 
SELinux status:                 enabled    <==是否启动 SELinux
SELinuxfs mount:                /selinux   <==SELinux 的相关文件资料挂载点
Current mode:                   enforcing  <==目前的模式
Mode from config file:          enforcing  <==设定档指定的模式
Policy version:                 21
Policy from config file:        targeted   <==目前的政策为何?

 
3、通过配置文件调整SELinux的参数
[root@www ~]# vi /etc/selinux/config
SELINUX=enforcing     <==调整 enforcing|disabled|permissive
SELINUXTYPE=targeted  <==目前仅有 targeted 与 strict
 
SELinux 的启动与关闭
【重要常识】上面是预设的政策与启动的模式!你要注意的是,如果改变了政策则需要重新开机;如果由 enforcing 或 permissive 改成 disabled ,或由 disabled 改成其他两个,那也必须要重新开机。这是因为 SELinux 是整合到核心里面去的, 你只可以在 SELinux 运作下切换成为强制 (enforcing) 或宽容 (permissive) 模式,不能够直接关闭 SELinux 的!
同时,由 SELinux 关闭 (disable) 的状态到开启的状态也需要重新开机啦!所以,如果刚刚你发现 getenforce 出现 disabled 时, 请到上述文件修改成为 enforcing 吧!
 
【重点】如果要启动SELinux必须满足以下两个点:
所以,如果你要启动 SELinux 的话,请将上述的 SELINUX=enforcing 设定妥当,并且指定 SELINUXTYPE=targeted 这一个设定, 并且到 /boot/grub/menu.lst 这个文件去,看看核心有无关闭 SELinux 了呢?
[root@www ~]# vi /boot/grub/menu.lst
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-92.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet selinux=0
        initrd /initrd-2.6.18-92.el5.img
# 如果要启动 SELinux ,则不可以出现 selinux=0 的字样在 kernel 后面!
【问题】通过上面的学习我们知道,如果将启动着的SELinux改为禁用,需要重启电脑,我们不想重启电脑又不想开启SELinux该怎么办呢?
【答案】将强制模式改为宽松模!
[root@www ~]# setenforce [0|1]
选项与参数:
0 :转成 permissive 宽容模式;
1 :转成 Enforcing 强制模式
 
范例一:将 SELinux 在 Enforcing 与 permissive 之间切换与查看
[root@www ~]# setenforce 0
[root@www ~]# getenforce
Permissive
[root@www ~]# setenforce 1
[root@www ~]# getenforce
Enforcing
 
6,查看已启动程序的type设定
[root@master oracle]# ps aux -Z
LABEL                           USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
system_u:system_r:init_t        root         1  0.0  0.4   2060   520 ?        Ss   May07   0:02 init [5
system_u:system_r:kernel_t      root         2  0.0  0.0      0     0 ?        S<   May07   0:00 [migra]
system_u:system_r:kernel_t      root        11  0.0  0.0      0     0 ?        S<   May07   0:00 [kacpi]
system_u:system_r:auditd_t      root      4022  0.0  0.4  12128   560 ?        S<sl May07   0:01 auditd
system_u:system_r:auditd_t      root      4024  0.0  0.4  13072   628 ?        S<sl May07   0:00 /sbin/a
system_u:system_r:restorecond_t root      4040  0.0  4.4  10284  5556 ?        Ss   May07   0:00 /usr/sb
 
说明:其实这些东西我们都不用管,都是SELinux内置的。只要学会在强制和宽松模式间转换就行了!

相关文章
|
5月前
|
Linux Android开发
代码里永久关闭selinux
代码里永久关闭selinux
104 0
|
5月前
|
弹性计算 运维 Shell
关闭SELinux
【4月更文挑战第29天】
38 0
|
5月前
|
弹性计算 运维 Shell
关闭 SELinux
【4月更文挑战第29天】
35 0
|
安全 Apache
18.7 SELinux安全上下文的修改和设置
安全上下文的修改是我们必须掌握的,其实也并不难,主要是通过两个命令来实现的。
444 0
18.7 SELinux安全上下文的修改和设置
|
编解码 缓存 安全
18.3 SELinux 的3种工作模式
通过对 SELinux 的介绍,初学者可以这样认为,在传统 Linux 系统使用访问控制方式的基础上,附加使用 SELinux 可增强系统安全。 那么,SELinux 是如何运行的呢?
529 0
18.3 SELinux 的3种工作模式
18.5 SELinux工作模式设置
除了通过配置文件可以对 SELinux 进行工作模式的修改之外,还可以使用命令查看和修改 SELinux 工作模式。
158 0
18.5 SELinux工作模式设置
|
安全 Linux 数据安全/隐私保护
18.2 SELinux的主要作用
我们知道,传统的 Linux 系统安全,采用的是 DAC(自主访问控制方式),而 SELinux 是部署在 Linux 系统中的安全增强功能模块,它通过对进程和文件资源采用 MAC(强制访问控制方式)为 Linux 系统提供了改进的安全性。
168 0
18.2 SELinux的主要作用
|
安全 Linux 数据安全/隐私保护
18.11 SELinux的3种策略类型
对于 SELinux 来说,所选择的策略类型直接决定了使用哪种策略规则来执行主体(进程)可以访问的目标(文件或目录资源)。不仅如此,策略类型还决定需要哪些特定的安全上下文属性。通过策略类型,读者可以更精确地了解 SELinux 所实现的访问控制。
480 0
18.11 SELinux的3种策略类型
|
Linux
18.13 SELinux策略规则的开启和关闭
默认情况下,并不是所有的规则都处于开启状态,因此,虽然我们无需修改规则的具体内容,但学习如何开启和关闭规则,还是很有必要的。
250 0
18.13 SELinux策略规则的开启和关闭
SELinux 开启和关闭
查看SELinux状态: 1、/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态 SELinux status:                 enabled 2、getenforce                 ##也可以用这个命令检查 关闭SELinux: 1、临时关闭(不用重启机器): sete
1528 0