linux selinux是美国国家安全局对于强制访问控制的实现,是linux历史上最杰出的新安全子系统;selinux是2.6版本的linux内核中提供的强制访问控制系统;大部分使用selinux的人使用的都是selinux就绪的发行版,例如fedora、red hat enterprise linux 、debian或centos。
本教程操作环境:selinux2.6系统、dell g3电脑。
linux selinux是什么?
selinux(security-enhanced linux) 是美国国家安全局(nsa)对于强制访问控制的实现,是 linux历史上最杰出的新安全子系统。nsa是在linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。selinux 默认安装在 fedora 和 red hat enterprise linux 上,也可以作为其他发行版上容易安装的包得到。
selinux 是 2.6 版本的 linux 内核中提供的强制访问控制(mac)系统。对于可用的 linux安全模块来说,selinux 是功能最全面,而且测试最充分的,它是在 20 年的 mac 研究基础上建立的。selinux 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。
大部分使用 selinux 的人使用的都是 selinux 就绪的发行版,例如 fedora、red hat enterprise linux (rhel)、debian或 centos。它们都是在内核中启用 selinux 的,并且提供一个可定制的安全策略,还提供很多用户层的库和工具,它们都可以使用 selinux 的功能。
selinux是一种基于 域-类型 模型(domain-type)的强制访问控制(mac)安全系统,它由nsa编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了selinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在dac情况下没人能阻止他。selinux提供了比传统的unix权限更好的访问控制。
selinux 的工作原理
selinux 定义了每个人对系统上的应用、进程和文件的访问控制。利用安全策略(一组告知 selinux 哪些能访问,哪些不能访问的规则)来强制执行策略所允许的访问。
当应用或进程(称为主体)发出访问对象(如文件)的请求时,selinux 会检查访问向量缓存(avc),其中缓存有主体和对象的访问权限。
如果 selinux 无法根据缓存对权限做出访问决定,它会将请求发送到安全服务器。安全服务器随即检查应用或进程和文件的安全环境,确认其是否匹配 selinux 策略数据库的安全环境。之后便根据检查授予权限或拒绝。
如果被拒绝,/var/log.messages 中将会显示消息avc: denied。
相关推荐:《linux视频教程》
以上就是linux selinux是什么的详细内容。