注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Nef. spot

Fortune Favours the Bold.

 
 
 

日志

 
 

SELinux实验  

2010-02-03 14:42:00|  分类: Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
转载自http://hi.baidu.com/dugu2008/blog/item/b05d99503564a9571138c250.html
=======================================

实验记录:

[root@RHCE5 /selinux]# sealert -b
[root@RHCE5 /selinux]# sealert -a /var/log/audit/audit.log --- 可以查看selinux错误日志
100% done
found 11 alerts in /var/log/audit/audit.log

[root@RHCE5 /selinux]# semodule -l --- 查看selinux加载的内核模块
amavis 1.1.0
ccs 1.0.0
clamav 1.1.0
dcc 1.1.0
evolution 1.1.0
iscsid 1.0.0
mozilla 1.1.0
mplayer 1.1.0
nagios 1.1.0
oddjob 1.0.1
pcscd 1.0.0
pyzor 1.1.0
razor 1.1.0
ricci 1.0.0
smartmon 1.1.0


[root@RHCE5 /selinux]# system-config-selinux --- SElinux的图形化管理工具
[root@RHCE5 /selinux]# ls -lZF
-rw-rw-rw- root root system_u:object_r:security_t access
dr-xr-xr-x root root system_u:object_r:security_t avc/
dr-xr-xr-x root root system_u:object_r:security_t booleans/ ---所有boolen值档案
-rw-r--r-- root root system_u:object_r:security_t checkreqprot
--w------- root root system_u:object_r:security_t commit_pending_bools
-rw-r--r-- root root system_u:object_r:security_t compat_net
-rw-rw-rw- root root system_u:object_r:security_t context
-rw-rw-rw- root root system_u:object_r:security_t create
--w------- root root system_u:object_r:security_t disable
-rw-r--r-- root root system_u:object_r:security_t enforce --- selinux状态
-rw------- root root system_u:object_r:security_t load
-rw-rw-rw- root root system_u:object_r:security_t member
-r--r--r-- root root system_u:object_r:security_t mls --- MLS
crw-rw-rw- root root system_u:object_r:null_device_t null
-r--r--r-- root root system_u:object_r:security_t policyvers --- 策略数目
-rw-rw-rw- root root system_u:object_r:security_t relabel
-rw-rw-rw- root root system_u:object_r:security_t user

[root@RHCE5 /selinux]# id -Z --- 显示当前用户的Selinux context
system_u:system_r:unconfined_t:SystemLow-SystemHigh

[root@RHCE5 /selinux]# sestatus -bv --- 查看selinux状态
[root@RHCE5 /selinux]# setenforce 0 --- 暂时关闭selinux,可以用来调试

Passwd 查看实验

[root@RHCE5 /selinux]# runcon -t user_home_t cat /etc/passwd
system_u:system_r:user_home_t:SystemLow-SystemHigh is not a valid context
[root@RHCE5 /selinux]# runcon -t httpd_t cat /etc/passwd
...可以查看

HTTPD实验

[root@RHCE5 /selinux]# sestatus -bv | grep httpd
allow_httpd_anon_write off
allow_httpd_mod_auth_pam off
allow_httpd_sys_script_anon_write off
httpd_builtin_scripting on
httpd_can_network_connect on
httpd_can_network_connect_db off
httpd_can_network_relay off
httpd_disable_trans off
httpd_enable_cgi on
httpd_enable_ftp_server off
httpd_enable_homedirs on
httpd_rotatelogs_disable_trans off
httpd_ssi_exec off
httpd_suexec_disable_trans off
httpd_tty_comm off
httpd_unified on


/etc/init.d/httpd start
firefox http://192.168.100.11/ 可以访问
下面配置用户的web站点
[root@RHCE5 /selinux]# getsebool httpd_enable_homedirs
httpd_enable_homedirs --> off
[root@RHCE5 /selinux]# setsebool httpd_enable_homedirs=1 --- 开启用户目录

[wy@RHCE5 ~]$ mkdir /home/wy/public_html
[wy@RHCE5 ~]$ echo TEST > public_html/index.html
[wy@RHCE5 ~]$ ls -Z public_html/
-rw-rw-r-- wy wy system_u:object_r:user_home_t index.html
[wy@RHCE5 ~]$ firefox http://192.168.100.11/~wy
[Forbidden
You don't have permission to access /~wy on this server.]
[wy@RHCE5 ~]$ chcon -R -t httpd_sys_content_t public_html/index.html
[wy@RHCE5 ~]$ firefox http://192.168.100.11/~wy
[TEST] ------- 成功

怎么开启 audit?

audit 是linux系统中用于记录用户底层调用情况的系统,如记录用户执行的open,exit等系统调用. 并会将记录写到日志文件中. audit可以通过使用auditctl命令来添加或删除audit规则. 设置针对某个用户进行记录,或针对某个进程的进行记录. audit主要包含2个命令: auditd audit服务进程; auditctl audit规则设置工具.
使用auditctl命令完成给一个文件设定监控:
[root@host]# auditctl -w /etc/hosts -p war -k hosts-file
在 这里,在/etc/hosts文件上设定了一个监控,针对任意有可能会执行写、读或者改变属性(-p war)的系统调用(syscall)。这将会以keyhosts-file的方式记录下来。key>>可以用来在audit日志中 查找那些操作,使用ausearch命令:

grep httpd_t /var/log/audit/audit.log | audit2allow -M myhttpd; semodule -i
myhttpd.pp

在grub的启动项里kernel那一行的参数后加audit=1,而audit=0就是关闭。如果只是想临时关闭的话,命令行输入auditcl -e 0。

====================
转载

如果你用的是Redhat RHEL5的话,可使用audit2allow和semodule命令建立local policy,并加载到内核中,十分方便。只需:
grep setsebool /var/log/audit/audit.log | audit2allow -M <your_module_name&gt;
semodule -i <your_module_name&gt;

DAC:Discretionary access control 传统Linux采用的访问控制方法,主要通过user/group/other三种用户来实现
MAC:Mandatory access control SELinux采用的方式,由security administrator也就是root来决定控制存取权限
每个process或者object上都有security context,包含identity:role:domain/type
Security Policy(targeted)中定义哪些操作需要哪些context权限
一些命令:
sestatus 查看SELinux启用状态
setenforce 0 将enforcing-->permissive
setenforce 1 将permissive-->enforcing
getsebool httpd_disable_trans 查看httpd是否受到SELinux的保护,RHEL4:inactive受保护,active不受保护;RHEL5:off受保护,on不受保护
setsebool -P httpd_disable_trans=1 boolean值从inactive到active,使httpd不受到SELinux的保护
off-->on,使httpd不受保护
setsebool httpd_disable_trans=1 -P改配置文件,永久设置,没有-P临时设置
/etc/selinux/targeted/booleans RHEL4中布尔值存放该文件中
/selinux/booleans RHEL5该目录中能看到各个booleans命名的文件,内容为11|00
system-config-securitylevel 图形界面配置Firewall/SELinux,修改/etc/sysconfig/iptables和selinux
system-config-securitylevel-tui 文本界面配置Firewall/SELinux,修改/etc/sysconfig/iptables和selinux
system-config-selinux 图形配置SELinux的详细内容,booleans...
ps -Z 查看进程的context
ls -Z 查看文件的context
id -Z 产看用户的context
chcon -t user_home_t install.log 修改install.log的context为user_home_t的类型
runcon 使用特定的context来执行指令
runcon -t httpd_t cat /etc/passwd
grep avc /var/log/messages 看一些selinux相关信息
/var/log/audit/audit.log SELinux日志
  评论这张
 
阅读(452)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017