【51CTO.com 独家特稿】一、安装SELinux相关的安装包
虽然在有的Linux发行套件中已经缺省安装了SELinux(例如Fedora 10和Red Hat Enterprise Linux 5、6),然而用户还是需要了解具体安装SELinux所需要的安装包,下面对他们进行简要介绍,主要包括如下几个部分:
Policycoreutils:提供与SELinux相关的命令,比如semanage,restorecon,audit2allow,semodule,load_policy,以及setsebool等,来操作和管理SELinux。
Policycoreutils-gui:提供图形化的工具system-config-selinux来管理SELinux。
Selinux-policy:提供SeLinux应用策略。该应用策略包括了所有的SELinux策略,并作为其他诸如目标策略(targeted policy)的基础使用。
Selinux-policy-policy:提供SELinux策略。对于目标策略,安装selinux-policy-targeted包,对于MLS策略,则安装selinux-policy-mls包。需要说明的是:在Fedora 8中,strict策略与目标策略结合在一起。
Setroubleshoot-server:翻译SELinux拒绝操作信息,成为sealert软件可以查看的详细描述信息。
Setools,setools-gui和setools-console:这些安装包提供了与SELinux有关的策略分析和检索、审计日志监控、文件上下文管理等命令和工具。
Libselinux-utils:提供诸如avsstat,getenforce,getsebool,matchpathcon,selinuxconlist,selinuxdefcon,selinuxenabled,setenforce,togglesebools等工具。
Mcstrans:提供对SELinux上下文中级别(比如s0-s0:c0.c1023)信息的翻译工作,在缺省情况下该软件包不安装。
二、使用与SELinux有关的日志文件
SELinux有许多相关的日志文件来记录在运行过程中对操作的拒绝日志,以便用户在后续过程中进行审计评估。在缺省情况下,SELinux将拒绝日志写入到/var/log/audit/audit.log文件中,该文件的部分内容显示如图1所示:
图1 /var/log/audit/audit.log文件的部分内容显示
另外,如果setroubleshooted运行的话,在/var/log/audit/audit.log中的记录将被翻译成容易理解和阅读的方式,保存在/var/log/messages文件中:
图2 var/log/messages文件的部分输出
当然,拒绝信息被送到不同的地方,这要根据不同的守护进程而定表1列出了对应于不同的守护进程的日志文件的路径:
守护进程 | 日志文件 |
auditd on | /var/log/audit/audit.log |
Auditd off; rsyslogd on | /var/log/messages |
Setroubleshootd, rsylogd, auditd on | /var/log/audit/audit.log翻译后存入/var/log/messages |
为了启动上述的守护进程,需要来分别配置auditd,rsyslogd以及setroubleshootd来使他们在系统启动时自动运行,可以以root身份运行下述命令:
#/sbin/chkconfig -levels 2345 auditd on
#/sbin/chkconfig -levels 2345 rsyslogd on
#/sbin/chkconfig -levels 2345 setroubleshootd on
并且,可以使用如下命令检查这些守护进程是否正常运行:
#/sbin/service auditd status
#/sbin/service rsyslogd status
#/sbin/service setroubleshootd status