开源中文网

您的位置: 首页 > SELinux > 正文

SELinux简介

来源:  作者:

SElinux 在linux内核级别上提供了一个灵活的强制访问控制系统(MAC),这个强制访问控制系统是建立在自由访问控制系统(DAC)之上的。

  DAC是指系统的安全访问控制都是由系统管理员root自由管理的,不是系统强制行为

  MAC运行的时候,比如一个应用程序或者一个线程以某个用户UID或者SUID运行的时候同样对一些其他的对象拥有访问控制限制,比如文件,套接子(sockets)或者其他的线程

  通过运行SElinux MAC内核可以保护系统不受到恶意程序的侵犯,或者系统本身的bug不会给系统带来致命影响(把影响限定在一定范围内)

  SElinux为每一个用户,程序,进程,还有文件定义了访问还有传输的权限。然后管理所有这些对象之间的交互关系

  对于SELinux设定的对象全限是可以根据需要在安装时候规定严格程度,或者完全禁用

  在大多数情况下,SElinux对于用户来说是完全透明的,普通用户根本感觉不到Selinux的存在,只有系统管理员才需要对这些用户环境,以及策略进行考虑。这些策略可以按照需要宽松的部署或者应用严格的限制,Selinux提供了非常具体的控制策略,范围覆盖整个linux系统

  比如,当一个对象如应用程序要访问一个文件对象,内核中的控制程序检查访问向量缓存(AVC),从这里寻找目标和对象的权限,如果在这里没有发现权限定义,则继续查询安全定义的上下关联,以及文件权限,然后作出准许访问以及拒绝访问的决定。如果在var/log/messages出现avc: denied信息,则表明访问拒绝。

  目标和对象通过安装的策略来决定自身的安全关联,同时这些安装的策略也负责给系统产生安全列表提供信息。

  除了运行强制模式以外,SELinux可以运行在许可模式,这时候,检查AVC之后,拒绝的情况被记录。Selinux不强制使用这种策略.

  以下介绍一下SELinux相关的工具

  /usr/bin/setenforce 修改SELinux的实时运行模式
  setenforce 1 设置SELinux 成为enforcing模式
  setenforce 0 设置SELinux 成为permissive模式
  如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0 ,或者在/etc/grub.conf中添加这个参数
  /usr/bin/setstatus -v
  察看系统的状态
  以下是运行输出,请参考
  SELinux status: enabled
  SELinuxfs mount: /selinux
  Current mode: enforcing
  Policy version: 18

Tags:SELinux 简介
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明