c语言编程笔录

首页 >   > 笔记大全

笔记大全

SELinux的三种工作模式是什么

更新时间:2023-11-13
第一段:SElinux的基本介绍和安全策略

SELinux是一个Mandatory Access Control(MAC)机制,它在Linux操作系统中实现了更为严格的安全策略。它的安全策略基于对象、目标和主题之间的关系。对象(object)指的是系统中的任何资源,例如文件、进程、套接字等等;目标(target)是一个自定义策略规则,它定义了主题(subject)对对象进行的访问方式和范围。主题(subject)是指那些试图访问对象的所有实体,如用户或进程。

SELinux的核心在于它的安全策略。根据主题和目标之间的安全策略规则,SELinux会对主题访问对象的方式进行限制。安全策略规则是通过二进制策略模块(binary policy module)提供的,这些模块定义了安全策略和规则集。其中策略的目的在于为SELinux指定一组安全服务器对象(SSC)的目标规则,它们为访问该系统上的资源的进程和用户提供安全性保护和限制。策略规则集定义了针对指定SSC的权限(如进程访问、socket访问、文件访问等)列表。通过使用二进制策略模块,我们可以更改SELinux的安全策略。

# 通过seinfo命令查看生效的SELinux安全策略
seinfo -t
第二段:SELinux的三种工作模式

1. Enforcing Mode

在强制模式中,SELinux执行强制访问控制策略,它禁止并拒绝任何未经授权的访问请求。在这个模式下,SELinux扫描进程的标签,并针对其中指定的规则来授权或拒绝进程的访问。一旦访问未被授权,就会触发SElinux的警告。

# 将SELinux模式切换为强制模式
setenforce 1

2. Permissive Mode

在宽容模式中,SELinux标记并记录了访问对象的权限,但不会阻止任何访问。它是一种监视模式,可用于确定强制模式中的错误,并测试策略中的新规则。在这种模式下,SELinux记录下它可以阻止的所有访问请求,并在日志中发出告警警报。

# 将SELinux模式切换为宽容模式
setenforce 0

3. Disabled Mode

在此模式下,SELinux未启用,完全禁用。在这种模式下,没有SELinux监控和限制进程访问对象的能力。因此,这种模式是最不安全的,不推荐使用。

# 将SELinux模式切换为禁用模式
setenforce 0
第三段:SELinux与安全性的关系

由于SElinux的严格安全策略,它可以防止进程和用户通过欺骗或其他操作方式获取对系统的非授权访问。这可以大大加强系统的安全性,对于一些重要的和需要长期运行的服务器,比如银行、航空公司和公共服务等等,更需要使用SElinux加强安全性。

同时,SElinux和系统内核紧密结合,SElinux可以针对容器和虚拟化环境提供额外的安全保护。由于以上特点,SElinux已被许多Linux发行版广泛采用。

第四段:总结

SElinux是一种严格的MAC机制,可以实现更为严格的安全策略。SElinux有三种工作模式:强制模式、宽容模式和禁用模式。其中,强制模式是最常用的模式,它用于执行强制访问控制策略,核心功能是防止进程和用户通过欺骗或者其他方式获取到系统的非授权访问。宽容模式用于测试策略规则的正确性,同时继续记录所有的未授权访问请求。禁用模式是最不安全的模式,因为它完全禁用了SELinux的所有监控和访问控制功能。SElinux可以大大加强系统的安全性,减少系统遭受攻击的可能性,因此在需要加强安全性的服务器中,值得将SELinux部署在上面。