Squid 生成的 HTTP 访问拒绝与操作系统的“Permission denied”发生在不同的边界上。判断 Squid 当时是在打开文件、绑定套接字、向外连接,还是在拒绝客户端请求。

关联审计事件

在 SELinux 系统上,将服务错误与其审计记录对应起来。源域、目标类型、对象类和被拒绝的权限表明策略阻止了哪项操作。正确的 Unix 所有权并不能证明安全标签是合适的。

自定义监听端口可能需要相应的端口标签。迁移后的日志或缓存目录可能需要文件标签。对于 Squid 日志路径故障,在将其归咎于标签之前,还要检查目录遍历和写入者权限。异常出站服务的权限又是另一项操作;Red Hat 的 Squid SELinux 示例区分了这些情况。

使用已安装发行版的策略和管理指南。软件包路径、标签和隔离可能因镜像而异。在使用 AppArmor 的系统上,应检查其配置文件,而不是应用 SELinux 命令。

修正证据所指的策略或位置,同时保留主机上的强制执行。修复主机策略问题后,Squid 自身的客户端身份验证和访问规则仍然适用。

相关文章