中国IT论坛's Archiver

anmyyang 发表于 2009-10-26 12:20

Selinux心得(新手心得)

Selinux是强大的,复杂的。通过一段时间的学习应该说对Selinux的掌握情况不是很好,但是在实际搭建各种服务中遇到的关于Selinux的问题却已经基本上可以全部解决了。 现在特将Selinux的一些基本功能、设置、学习方法总结一下希望能给大家一点帮助。



1、Selinux的三种模式:

Enforcing强制模式:默认模式,按照Selinux的策略来进行验证和管理系统安全。如果发现和Selinux的规定不相符合则强制阻止程序的运行或者访问,同时给出提示。

Permissive允许模式:系统记录所有违反策略的行为并给与一定的提示,同时不中阻止程序的运行。

Disabled禁用模式:关闭Selinux

getenforce:查询当前的Selinux模式

setenforce 0 |1 0:允许模式 1:强制模式

禁用selinux: 修改/etc/sysconfig/selinux 然后重新引导系统。

2、selinux下的环境元素:不同的安全需要使用不同的元素

Ls -Z 查看目标文件或者目录的策略

Ps -Z 查看进程的策略

*目前有5种支持元素,但不一定出现在所有系统中。

User:role:type:sensitivity:category

User_u:object_r:tmp_t:s0:c0

************************************************************

[root@server ~]# ls -Z /home

drwx------ redhat redhat system_u:object_r:user_home_dir_t redhat

drwxrwxrwx root root root:object_r:public_content_rw_t share

**************************************************************

用户(user)

指登陆到系统的用户类型;根用户登陆,则用户类型就是root;其他用户类型是user_u,即便是使用su命令提高访问权限也还是user_u;进程类型是system_u。

角色(role)

定义某个文件、进程、或用户的目的。文件角色是object_r;进程角色是system_r;用户角色也是system_r;

类型(type)

“强制类型”用来指定文件或者进程中数据的性质。策略中的规则指定那个进程类型可以使用哪个文件类型。

敏感性(sensitivity)

被政府、军事等部门使用的安全级别。

类别(cagegory)

与组类似,但可以阻止root访问的保密数据。

备注:类型为unconfined_t得到进程是尚未被selinux限制的进程。

3、Selinux目标策略:

chcon –t tmp_t /path 修改目标对象的安全环境类型。

**********************************************************

[root@server ~]# ls -Z

-rw-r--r-- root root root:object_r:user_home_t test

[root@server ~]# chcon -t etc_t test

[root@server ~]# ls -Z

-rw-r--r-- root root root:object_r:etc_t test

************************************************************

Chcon –reference 对象1 对象2 把对象1的安全环境类型应用到对象2上

************************************************************

[root@server ~]# ls -Z

-rw-r--r-- root root root:object_r:user_home_t install.log

-rw-r--r-- root root root:object_r:etc_t test

[root@server ~]# chcon --reference ./install.log ./test

[root@server ~]# ls -Z

-rw-r--r-- root root root:object_r:user_home_t install.log

-rw-r--r-- root root root:object_r:user_home_t test

************************************************************

restorecon /path 自动判断并应用对象的默认环境策略。

************************************************************

[root@server ~]# ls -Z

-rw-r--r-- root root root:object_r:user_home_t install.log

-rw-r--r-- root root root:object_r:etc_t test

[root@server ~]# restorecon ./*

[root@server ~]# ls -Z

-rw-r--r-- root root root:object_r:user_home_t install.log

-rw-r--r-- root root root:object_r:user_home_t test

********************************************************

4、selinux策略的控制:策略文件位置/selinux/booleans

system-config-selinux 图形模式下修改各个项目的selinux的设置,要重新引导才能生效。

命令法:

1)getsebool 控制策略 :查看某个控制策略启用情况 on 启用 off关闭。

getsebool –a |grep XXX 可以过滤所有XXX的策略的启用情况。

2)setsebool –P 控制策略 on|off

setsebool –P 控制策略=1|0

-P表示始终;开启或者关闭某个策略。



Selinux 总是针对服务和进程出现的,要学好Selinux就不要禁用它。这样在做练习时,才会遇上相关的问题,才能看到Selinux给你解决问题的提示,也只有这样才能学好Selinux。

针对某个服务的Selinux相关设置我都总结在XXX服务的RHCE心得中。

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.