Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->Linux安全 ->正文

RedHat Enterprise Linux 4新安全机制

来源: 作者: 时间:2007-04-11 点击: [收藏] [投稿]
如果读者了解chroot,那么就能很好的理解SELinux chroot 就是把某程序置于文件系统下的某一处,而当运行的时候,就不会离开这个文件系统的部份,也就是不会影响整个的文件系统。就好比如果把所有的对象都分配到不同的domain(域)中。而不同的 domain 却彼此独立,而且如果没有经过授权的对象就不可以在domain之间传递数据,也就是说对象不能没有授权就由domain A 跳到 domain B中,情况就如 chroot 一样。
在传统的类Unix中,root拥有着所有权限,有些用户使用采用SELinuxLinux时发现自己就是root,但为何有些事情却不允许执行。其实说穿了就是因为 root 所属的 domain 没有授权可以跳到所需要执行某程序的domain下,也就无法做希望的工作了。
 SELinux系统启动的时候,会加载一个叫做 policy,* 的安全策略权限文件,这文件内中就定义了相关权限。如果你之前设定了 SELinux 是不能在开机后转回 permissive 模式的话,那你的 root 则可能无法修改当中的设定!也就是说rootSELinux中已经不具有默认的所有权限。那到底这有什么好处呢?其实好处就如 chroot 一样把系统内任何东西都加上一层保护层。那就算是入侵进入了你的计算机,也只能在他破坏他入侵的这个domain环境!
对于RHEL4系统,怎么样检测是否已经安装了SELinux呢。首先检查你的Linux系统的核心是否有支持ACL的功能。因为Linux系统并不是每一个版本的核心都有支持ACL的功能,而最简单的方法就是检查系统目前的核心能否支持:
 
# cat /boot/config-2.6.9-11.EL | grep ACL
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_FS_POSIX_ACL=y
注:config-2.6.9-11.EL位置根据系统的不同而不同,这里用的是RHEL4.1
  
此时如果能看到上面的几项则表示已经编译到核心中,ext3文件系统已支持ACL功能,这些功能在编译核心选项中也可以找到。
 
五.传统Linux SELinux
传统Linux的安全认证基于内核的DAC机制,这种机制在遇到一个有缺陷或是恶意编写的程序时就会导致很大的问题出现,尤其是对于setuid/setgid这种权限的设计。有些程序员在程序设计时,当需要设置执行权限的时候,为了省事就直接用 setuid root,这样的好处是给予程序最大的用户权限root来运行,避免了因权限引起的问题,大大简化程序的设计,但是这种方式是极其危险的。本文已经提及过,类Unix系统中的root拥有绝对的权限,如果某个有缺陷的程序以root用户运行,可能会破坏系统文件甚至系统核心部分。如果是网络服务程序,其漏洞很容易被黑客利用并发起攻击,造成不可预知的后果。
SELinux的安全认证基于内核外的MAC机制,这种机制使得系统管理员可以定义整个系统的安全策略,这个策略可以基于其他因素,例如用户的角色、程序的可信性及预期使用、程序把要使用的数据的类型等等,来限制对象所具有的权限。当你正确配置了SELinux系统,不正常的应用程序只会影响自己权限内的domain,而对其它domain中的对象没有丝毫影响。其它用户程序的安全性和他们的后台程序仍然可以正常运行,并保持着它们的安全系统结构。例如你某个服务是以 root 的权限执行的。而此服务存在着一个极严重的 bug ,而使得入侵者可以通过这个服务的漏洞进入系统。但如果你的 Linux 系统有SELinux 保护的话,那么入侵者仍没有办法破坏整个系统,因为它被这个服务所属的 domain 

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:详述必学的Linux操作系统安全命令   下一篇:浅谈Linux优化及安全配置个人体会总结

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号