当前位置: 首页 > Linux

SELinux详解

时间:2023-04-06 20:29:51 Linux

SELinux(Security-EnhancedLinux)是美国国家安全局(NSA)制定的一种强制访问控制机制。它主要集成在Linux内核中,是一种对特定进程和指定文件资源进行权限控制的系统。主要是增强传统Linux操作系统的安全性,解决传统Linux系统中自主访问控制(DAC)系统的各种权限问题(如root权限过高等)。请注意,root用户需要遵守SELinux的规则才能正确访问系统资源。另外,root用户可以修改SELinux的规则。也就是说,用户不仅要遵守系统的读、写、执行权限,还要遵守SELinux规则,才能正确访问系统资源。在传统的Linux系统中,默认的权限是控制文件或目录的属主、属组等的读、写和执行权限。这种控制方式称为自主访问控制(DAC)方式;而在SELinux中,使用强制访问控制(MandatoryAccessControl,MAC)系统,即控制进程是否有访问特定文件系统上的文件或目录的权限,判断进程是否可以访问文件或目录的依据取决于在SELinux中设置的设置有很多策略规则。下面分别介绍两种控制方式:1.DiscretionaryAccessControl(DAC)DAC是Linux默认的访问控制方式,即根据用户的身份以及该身份对文件和目录的rwx权限进行判断是它无障碍。但是使用这种方式通常会遇到以下问题:root权限过高,使用rwx权限对root用户不生效。一旦root用户被盗用或者root用户自身被滥用,都会给Linux系统带来严重的安全问题。Linux的默认权限太简单了。只有属主、所属组等身份,权限只有读、写、执行,不利于权限的细分和设置。不合理的权利分配会导致严重的后果。2、强制访问控制(MandatoryAccessControl,MAC)MAC是通过SELinux默认的策略规则来控制特定进程对系统文件资源的访问。也就是说,即使你是root用户,在访问文件资源的时候,如果使用了错误的进程,也会无法访问。SELinux的强制访问控制并不能完全取代自主访问控制。强制访问控制是Linux系统安全的附加安全层。在使用SELinux时,仍然会使用自由访问控制,并且会优先使用。如果允许访问,则使用SELinux策略;否则,如果自治如果访问控制规则拒绝访问,则无需使用SELinux策略。SELinux的作用如下:SELinux使用了被认为是最强大的访问控制方法,即MAC控制方法。SELinux授予用户或进程最小的访问权限。也就是说,每个用户或进程仅被授予完成相关任务所需的一组有限权限。通过授予最低访问权限,您可以防止对其他用户或进程产生不利影响。在SELinux管理过程中,每个进程都有自己的运行区域,每个进程只在自己的区域运行,除非授予特殊权限,否则不能访问其他进程和文件。SELinux的三种工作模式SELinux提供了三种工作模式,分别是Disabled工作模式、Permissive工作模式和Enforcing工作模式。它们的具体介绍如下:1)Disabled工作模式(shutdownmode)在Disabled模式下,SELinux被关闭,采用DAC访问控制方式。此模式适用于不需要增强安全性的环境。请注意,在禁用SELinux之前,您需要考虑系统是否可能再次使用SELinux。如果您以后决定将其设置为Enforcing或Permissive,系统将在系统下次重启时被自动SELinux文件注释。关闭SELinux只需要编辑配置文件/etc/seLinux/config,将文中的“SELINUX=”改为“SELINUX=disabled”即可。重新启动系统后,SELinux将被禁用。2)Permissive工作模式(tolerantmode)在Permissive模式下,SELinux被启用,但不强制执行安全策略规则。当安全策略规则应该拒绝访问时,仍然允许访问。将拒绝访问的消息发送到日志文件。SELinuxPermissive模式主要用于审计当前的SELinux策略规则;它还可以用于测试新的应用程序,当SELinux策略规则应用于程序时会发生什么;以及解决特定服务或应用程序在SELinux下不再正常工作的故障。3)强制工作模式(强制模式)。在Enforcing模式下,SELinux被启用,并强制执行所有的安全策略规则。以上是良序教程网为各位小伙伴分享的SELinux详细介绍。以上就是良序教程网为各位小伙伴们分享的Linux相关知识。