Linux Selinux详解

介绍

Linux SELinux是一种安全增强的Linux,它可以让用户和管理员对访问控制有更多的控制。它是一种标签机制,可以对文件和其他对象提供高级别的安全保护,防止未授权的进程或者没有必要访问的授权进程进行滥用。SELinux最初是由美国国家安全局(NSA)开发的,作为一系列使用Linux安全模块(LSM)的Linux内核补丁。SELinux于2000年发布给开源社区,并于2003年集成到上游Linux内核中。

SELinux的工作原理是,它为系统上的应用程序、进程和文件定义了访问控制。它使用安全策略,这是一组规则,告诉SELinux什么可以或者不能被访问,来执行策略允许的访问。当一个应用程序或进程(称为主体)发出一个访问一个对象(如文件)的请求时,SELinux会与一个访问向量缓存(AVC)进行检查,其中缓存了主体和对象的权限。如果SELinux无法根据缓存的权限做出访问决定,它就会将请求发送给安全服务器。安全服务器会检查应用程序或进程和文件的安全上下文。安全上下文是从SELinux策略数据库中应用的。然后授予或拒绝权限。如果权限被拒绝,一个“avc: denied”消息将会出现在/var/log/messages中。

SELinux有多种配置方式来保护你的系统。最常见的是目标策略(targeted policy)或多级安全(MLS)。目标策略是默认选项,涵盖了一系列的进程、任务和服务。MLS可以非常复杂,通常只有政府组织使用。你可以通过查看/etc/selinux/config文件来确定你的系统应该运行哪种策略。该文件有一个部分显示了SELinux是处于宽容模式(permissive mode)、强制模式(enforcing mode)还是禁用状态(disabled),以及应该加载哪种策略。SELINUX变量可以设置为disabled、permissive或enforcing来选择其中一个选项。disableddisables会禁用大部分SELinux内核和应用程序代码,使系统在没有任何SELinux保护的情况下运行。permissiveoption会启用SELinux代码,但使其以一种模式运行,即策略会拒绝的访问被允许但被记录。enforcingoption会启用SELinux代码,并使其强制执行并记录访问拒绝。

SELinux还允许在系统上安装多个策略,但只有一个策略可以在任何给定时间处于活动状态。目前,存在多种类型的SELinux策略:targeted, mls等等。

安全上下文

SELinux安全上下文是一种用于标识进程和文件的安全属性的机制,它由五个字段组成:SELinux用户、角色、类型、灵敏度和类别。SELinux用户表示数据或进程的所有者,角色表示数据是文件还是进程,类型表示数据或进程的功能或用途,灵敏度和类别表示数据或进程的保密性等级。SELinux通过比较进程和文件的安全上下文来决定是否允许访问ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的小T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值