SELinux教程:命令与管理

日期: 2011-02-16 作者:Khurram Shiraz翻译:Mark 来源:TechTarget中国 英文

当你考虑在服务器上使用SELinux时,了解一些基本命令和管理工具会有所帮助。本文是三本SELinux教程的一部分,在这里,我们将提供一些命令来帮助你确保Linux服务器的安全。 功能 命令 chcon用于用特定的安全环境标注一个或多个文件。 chcon checkpolicy是一个用于将政策来源编译到二进制政策文件中的工具。

一般不直接命名它,而是以该政策的生成文件称呼它。 checkpolicy newrole命令用于切换角色。一般来说,该命令会发布成newrole -r sysadm_r来转换到sysadm_r角色完成管理任务。 newrole sestatus显示SELinux当前的状态……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

当你考虑在服务器上使用SELinux时,了解一些基本命令和管理工具会有所帮助。本文是三本SELinux教程的一部分,在这里,我们将提供一些命令来帮助你确保Linux服务器的安全。

功能

命令

chcon用于用特定的安全环境标注一个或多个文件。

chcon

checkpolicy是一个用于将政策来源编译到二进制政策文件中的工具。一般不直接命名它,而是以该政策的生成文件称呼它。

checkpolicy

newrole命令用于切换角色。一般来说,该命令会发布成newrole -r sysadm_r来转换到sysadm_r角色完成管理任务。

newrole

sestatus显示SELinux当前的状态,包括状态(允许或禁止)、政策版本和所有政策布尔运算的设置。

sestatus

getsebool 显示SELinux布尔运算条件

getsebool

setsebool 设置SELinux布尔运算条件

setsebool

ffixfiles可用来重新标注整个基于现有政策的文件系统或重新标注基于包括在该应用的rpm数据包中信息在内的打包应用文件。

fixfiles

  除了这些新的SELinux命令,一些内置的Linux命令,如cp、mv、ls和ps,都随着SELinux的启动变成使用–Z标记。标识符命令也被修改来显示连同用户默认安全属性的用户安全环境。

  SELinux配置决窍

  除了Linux服务器上文件和单独流程的安全环境,SELinux还有更多安全功能。在这篇文章中涵盖所有SELinux功能和基本的安全模式几乎是不可能的,但这里我会强调关键的那些。

  端口管理:你可以通过SELinux管理对系统端口的访问。默认情况下,SELinux允许应用访问默认端口(如ssh可访问端口22),不过一旦禁用SELinux,你也可以重新配置任一应用来访问任一非默认端口。

  为了得到SELinux管理端口的完整清单,你可以使用以下命令:
#/home/root>semanage port –l

  将ssh的访问端口从22改成24
#/home/root> semanage port –a –t ssh_port_t –p tcp 24

  然后重启ssh相关的服务。

  用户管理:有了SELinux严格用户管理功能的帮助,你可以让你的服务器“确实难以攻破”。它们可以在任一SELinux政策中担任重要角色。但在目标政策中(默认的SELinux政策),每个域运行一个单一角色且TE用来从其它流程中分离出受限的流程。

  因此,在目标SELinux政策中,流程和对象问题以system_u的形式出现,而所有的默认Linux用户是user_u,就像下面显示的:

SELinux,命令,管理

  但在严格政策中,一些系统帐户可以运行在普通的、无特权的user_u身份下,而其它帐户可以在政策数据库中有直接身份。
自定义政策模块(Customized Policy Modules):有时候我们在在建立SELinux时面对的情况是政策和布尔运算条件可能不足。在这种情况下,我们可以利用audit2allow命令来定义我们的自定义SELinux政策。举例来说,如果否定错误登入到所有ftp相关服务的审计日志中,我们可以用以下句子来形成我们的自定义SELinux政策模块:
#/home/root> # grep ftpd_t /var/log/audit/audit.log | audit2allow -M ftplocal

  这个自定义ftp相关政策模块之后可以如下方式下载到现有的SELinux目标政策:
#/home/root> semodule –i ftplocal

  由于SELinux缺乏文档编制和技巧,很多管理员都忽略了它。但是有默认目标政策的SELinux模式对很多管理员来说都是一个安全的起始点。如果你准备测试它,我建议先运行几天,观察所有错误和警告的日志,如果没有错误,切换到执行模式。

  如果你正运行一些特定的数据库或应用(如MySql或Oracle),也要注意,在服务器上执行SELinux政策之前,你应该为SELinux相关指令查看特定版本的文档编制。

相关推荐

  • Linux管理员需要了解的SELinux命令

    SELinux经常给Linux管理员带来麻烦。通常,管理员的解决方法是放弃并关闭服务器上的SELinux。其实,不必完全关闭,SELinux审计信息不是那么难以理解。

  • 为什么我离不开Linux?

    本文是为那些想要尝试Linux的用户所写,不过如果你已经是一名Linuxer,这里也有一些你应该知道并为之自豪的事实。为什么离不开Linux?

  • 如何解决SELinux阻止虚拟机访问文件?

    我用的Fedora 17和KVM,虚拟机运行得很好。我就尝试访问主机系统上的一个文件,但SELinux阻止虚拟化访问除了/var/lib/libvirt/images里的其他文件。我该肿么办?

  • 揭秘Linux系统安全性的过人之处

    Linux操作系统的安全性是有目共睹的,相比Windows操作系统,到底Linux有哪些过人之处?