简介
本文档介绍当系统上的SELinux策略阻止连接器监视系统活动时引起的故障。
背景信息
如果启用了SELinux并处于实施模式,则连接器要求此规则在Secure Enterprise Linux(SELinux)策略中:
allow unconfined_service_t self:bpf { map_create map_read map_write prog_load prog_run };
此规则在基于Red Hat的系统的默认SELinux策略中不存在。在安装或升级期间,连接器尝试通过安装名为cisco-secure-bpf的SELinux策略模块来添加此规则。 如果出现以下情况,则会引发故障 cisco-secure-bpf 无法安装和加载,或者已禁用。 如果连接器引发此故障,则会按照Cisco Secure Endpoint Linux Connector Faults列表中的说明通知用户发生故障19。
适用范围
在重新安装或升级连接器后,或修改系统的SELinux策略后,可能会发生此故障。
操作系统
- Red Hat Enterprise Linux 7
- CentOS 7
- Oracle Linux(RHCK/UEK)7
连接器版本
分辨率
有两种方法可以解决此故障:
- 重新安装或升级连接器。
- 手动修改SELinux策略。
安装依赖关系
这两种方法都要求系统上安装“policycoreutils-python”软件包来构建和加载SELinux策略模块。运行此命令可安装此软件包。
yum install policycoreutils-python
重新安装或升级连接器
名为cisco-secure-bpf的SELinux策略模块 在安装或升级连接器期间,将安装以提供所需的SELinux策略修改。按照标准重新安装或升级此解析方法的连接器。
手动修改SELinux策略
系统管理员必须手动构建和加载SELinux策略模块才能修改SELinux策略。执行以下步骤以加载所需的SELinux策略规则:
- 将此文件保存在名为cisco-secure-bpf.te的文件中
module cisco-secure-bpf 1.0;
require {
type unconfined_service_t;
class bpf { map_create map_read map_write prog_load prog_run };
}
#============= unconfined_service_t ==============
allow unconfined_service_t self:bpf { map_create map_read map_write prog_load prog_run };
- 使用这些命令构建和加载模块。
checkmodule -M -m -o "cisco-secure-bpf.mod" "cisco-secure-bpf.te"
semodule_package -o "cisco-secure-bpf.pp" -m "cisco-secure-bpf.mod"
semodule -i "cisco-secure-bpf.pp"
- 重新启动连接器以清除故障。
验证SELinux策略修改
运行此命令以检查是否安装了cisco-secure-bpf SELinux策略模块。
semodule -l | grep cisco-secure-bpf
如果输出报告“cisco-secure-bpf 1.0”,则发生SELinux策略修改.
运行此命令以检查是否存在所需的SELinux策略规则。
sesearch -A | grep "unconfined_t unconfined_t : bpf"
如果输出报告“allow uncontained_service_t self:bpf { map_create map_read map_write prog_load prog_run };”,则故障在连接器重新启动后清除。