SELinux

1. SELinux 介绍

安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。

2. SELinux 的工作模式

SELinux 有三种工作模式,分别是:

  • enforcing:强制模式。违反 SELinux 规则的行为将被阻止并记录到日志中。
  • permissive:宽容模式。违反 SELinux 规则的行为只会记录到日志中。一般为调试用。
  • disabled:关闭 SELinux。

SELinux 工作模式可以在 /etc/selinux/config 中设定。

3. 设置 SElinux 模式

libselinux-utils 软件包提供的 getenforce 命令可以查看当前系统 SELinux 当前的模式。使用这个工具,打开一个终端窗口并执行 getenforce 命令。命令会返回 Enforcing、Permissive,或者Disabled。

[root@bogon ~]# getenforce 
Disabled

在实际使用中,用户可根据需求设置 SELinux 的模式。SELinux 关闭会导致的风险,最佳的模式可选为 Enforcing 或者 Permissive。
用户可根据 /etc/selinux/config 文件和 /boot/efi/EFI/loongnix-server/grub.cfg 文件更改 SELinux 的模式。
以 permissive 模式更改为 enforcing 模式为例,具体方法如下:
(1)首先修改 /etc/selinux/config 配置以下内容:
SELINUX=permissive
在 /boot/efi/EFI/loongnix-server/grub.cfg 启动项中增加: security=selinux
(2)重启操作系统,并执行以下命令,生成规则文件:

grep "avc: denied" audit.log >audit.txt 2>&1
audit2allow -m loongson-policy -i audit.txt > loongson-policy.te
cat loongson-policy.te
checkmodule -M -m loongson-policy.te -o loongson-policy.mod
semodule_package -m loongson-policy.mod -o loongson-policy.pp

(3)安装规则文件semodule -i loongson-policy.pp重启操作系统,重复执行步骤2、3,直到 audit.log 中不存在新增的 denied 相关字段。
(4)修改 /etc/selinux/config 配置以下内容:SELINUX=enforcing
(5)重启操作系统并查看 selinux 状态。

[root@bogon ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: actual (secure)
Max kernel policy version: 31

selinux 正常启动。

©龙芯开源社区 all right reserved,powered by Gitbook文档更新时间: 2023-12-21 12:36:52

results matching ""

    No results matching ""

    results matching ""

      No results matching ""