我正在通过代理运行 RHEL 7.6。我已在一些配置文件中输入了代理信息,并且通常能够成功访问 RHEL 存储库,尤其是在从命令行使用 yum 时。
但是,我不断收到“新的 SELinux 安全警报,AVC 拒绝,单击图标查看”。我从软件包安装程序 GUI 获得的结果不稳定,所以我想知道这是否是问题所在。
如果我进行以下搜索:
sealert -a /var/log/audit/audit.log
它显示了以下错误消息:
If you want to allow rhsmd to connect to network port 10415
Then you need to modify the port type.
Do
semanage port -a -t PORT_TYPE -p tcp 10415
where PORT_TYPE is one of the following: dns_port_t, dnssec_port_t, http_cache_port_t, http_port_t, netport_port_t, squid_port_t, websm_port_t.
知道哪个 port_type 是正确的吗?我试过 http_port_t,但没有成功。
附言:我也尝试了错误消息中建议的另一个选项,但没有成功:
ausearch -c 'rhsmd' --raw | audit2allow -M my-rhsmd
semodule -i my-rhsmd.pp
编辑:以下是该消息的全部内容:
SELinux 阻止 rhsmd 在 tcp_socket 端口 10415 上进行 name_connect 访问。
***** 插件 connect_ports(置信度 92.2)建议 *********************
如果要允许 rhsmd 连接到网络端口 10415,则需要修改端口类型。
semanage 端口 -a -t PORT_TYPE -p tcp 10415
其中 PORT_TYPE 是以下之一:dns_port_t、dnssec_port_t、http_cache_port_t、http_port_t、netport_port_t、squid_port_t、websm_port_t。
***** 插件 catchall_boolean(置信度 7.83)建议 *******************
如果您想允许 nis 启用,那么您必须通过启用“nis_enabled”布尔值来告知 SELinux。
执行 setsebool -P nis_enabled 1
***** 插件 catchall(1.41 置信度)建议 ***************************
如果您认为默认情况下应允许 rhsmd 在端口 10415 tcp_socket 上进行 name_connect 访问。那么您应该将此报告为错误。您可以生成本地策略模块以允许此访问。现在通过执行以下命令允许此访问:
ausearch -c'rhsmd'--raw|audit2allow-M my-rhsmd
semodule -i my-rhsmd.pp
附加信息:源上下文 system_u:system_r:rhsmcertd_t:s0-s0:c0.c1023 目标上下文 system_u:object_r:unreserved_port_t:s0 目标对象端口 10415 [ tcp_socket ] 源 rhsmd 1,1 顶部
答案1
您应该按照第一个建议操作,因为您使用端口 10415 作为 HTTP 代理。因此您应该告诉 SELinux 允许此类流量到该端口。例如:
semanage port -a -t http_port_t -p tcp 10415