Linux(26)—— SELinux 基本概念及故障排除

目录

一、SELinux :

1、SELinux 如何保护资源:

2、SELinux 用法:

(1)为什么使用 SELinux :

(2)SELinux 的三种模式:

3、SELinux 基本概念:

(1)强制访问控制:

(2)安全规则:

(3)标签:

二、设置 SELinux 执行模式:

1、查看 SELinux 模式:        

2、更改 SELinux 模式:

3、设置默认 SELinux 模式:

三、分析和解决 SELinux 问题:

1、监控 SELinux 冲突:  

(1)sealert -l 命令:

(2)sealert -a /var/log/audit/audit.log 命令:

(3)ausearch -m AVC 命令:

2、使用 Web 控制台进行故障排除:


一、SELinux :

        安全增强型 Linux( SELinux )是 Linux 的一项重要安全功能。

1、SELinux 如何保护资源:

(1)SELinux 可允许或拒绝访问文件及其他资源,且精准度相比用户权限大幅提高。

(2)SELinux 由若干组策略组成,准确声明了对于应用使用的每个可执行文件、配置文件、数据文件以及哪些操作和访问是被允许的,这被称为 targeted policy 。策略声明了各个程序、文件和网络端口的预定义 label

2、SELinux 用法:

(1)为什么使用 SELinux :

        并非所有的安全问题都可以提前预测。SELinux 可以防止因为应用程序漏洞影响其他应用访问。而且 SELinux 除额外的安全层外还有一层复杂结构,执行 policy 时系统某一部分的弱点不会扩散到其他部分

(2)SELinux 的三种模式:

        1)Enforcing :SELinux 强制执行访问控制规则,是红帽企业 Linux 的默认模式。

        2)Permissive :SELinux 加载策略并处于活动状态,但并不强制执行访问控制规则,而是记录违反规则的日志,该模式主要用于测试和故障排除。

        3)Disabled :SELinux 完全关闭(需要系统重启),此时 SELinux 违规不会被拒绝或记录。

注:自 RHEL9 起,只能通过在启动时使用 selinux=0 内核参数来完全禁用 SELinux 。RHEL 不再支持在 /etc/selinux/config 文件中设置 SELINUX=disabled 选项

3、SELinux 基本概念:

(1)强制访问控制:

        SELinux 的主要目标是保护数据,以便被已遭泄露的应用或系统服务访问。大多数 Linux 管理员都熟悉标准的 user/group/other 权限安全模型,即自主访问控制( DAC ),而 SELinux 则提供另一层安全,它基于对象并由更加复杂的规则控制,称为强制访问控制( MAC )。

(2)安全规则:

        要允许远程匿名访问 Web 服务器,就必须打开防火墙端口,这会让恶意人员有机会通过安全漏洞侵入系统。如果成功入侵 Web 服务器进程,就可以获得 apache 用户和 apache 组的权限,该用户和组对文档根目录 /var/www/html 具有读取权限,入侵者还可以访问 /tmp 和 /var/tmp,以及全局可写的任何文件和目录。

        SELinux 策略是安全规则,它定义进程可以访问哪些文件、目录和端口。 每个文件、进程、目录和端口都有专门的安全标签,称为 SELinux 上下文( context ),SELinux 策略使用 context 来确定某个进程能否访问文件、目录或端口。若没有允许规则,将不允许访问。

注:更多有关 SELinux 上下文的内容在 Linux 系列的第27篇:Linux(27)—— SELinux 上下文及布尔值。

       转跳链接如下:https://blog.youkuaiyun.com/m0_68756914/article/details/146770436

(3)标签:

        SELinux 标签具有多种上下文,如:user 、role 、type 和 security level 。目标策略即 RHEL 中启用的默认策略,使用 type 上下文定义规则,type context 名称通常以 _t 结尾。

二、设置 SELinux 执行模式:

1、查看 SELinux 模式:        

        运行 getenforce 命令可确定当前的 SELinux 模式

2、更改 SELinux 模式:

        使用 setenforce 命令可将当前的 SELinux 模式设置为其他 SELinux 模式(临时生效)。

3、设置默认 SELinux 模式:

        /etc/selinux/config 文件可永久设置 SELinux 模式。设置完成后,系统将在启动时读取并配置新的 SELinux 模式。

三、分析和解决 SELinux 问题:

        最常见的 SELinux 问题是使用了不正确的文件上下文或设置了不正确的布尔值

 注:更多有关 SELinux 上下文及布尔值的内容在 Linux 系列的第27篇:Linux(27)—— SELinux 上下文及布尔值。

        转跳链接如下:https://blog.youkuaiyun.com/m0_68756914/article/details/146770436

1、监控 SELinux 冲突:  

        安装 setroubleshoot-server 软件包,可侦听 /var/log/audit/audit.log 中的审计消息,将 SELinux 消息发送至 /var/log/messages 。日志包括 SELinux 冲突的唯一标识符( UUID )。

(1)sealert -l 命令:

        sealert -l UUID 命令可查看特定事件综合报告详细信息。

注:1)sealert 输出描述了事件,包含受影响的进程、访问的文件以及已尝试但被拒绝的操作;

       2)sealert 输出中包含置信度评级(建议的化解拒绝置信度),但此建议未必适合用户的情景。

(2)sealert -a /var/log/audit/audit.log 命令

        使用 sealert -a /var/log/audit/audit.log 命令可以查看所有现有事件

(3)ausearch -m AVC 命令:

        用户也可使用 ausearch -m AVC 命令搜索 /var/log/audit.log 文件。

注:1)-m 选项表示按消息类型执行搜索;

       2)-ts 选项表示按时间执行搜索。

2、使用 Web 控制台进行故障排除:

        RHEL Web Console 包含用于对 SELinux 问题进行故障排除的工具。

        左侧菜单栏中选择 SELinux 。SELinux policy 窗口会显示当前的执行状态,SELinux access control errors 部分则列出了当前的 SELinux 问题。

注:(1)单击 solution details 以显示所有事件详细信息和建议;

       (2)单击 Apply the solution 来应用所给的建议。

        更正问题后,SELinux access control errors 部分应从视图中删除该事件。如果显示 No SELinux alerts 消息,则表示已经更正了当前所有的 SELinux 问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值