使用 CentOS 6
我有 2 个 Apache httpd 服务正在运行。第一个提供 REST 接口和 UI 来管理操作系统(启动/停止服务、使用 suid 执行系统命令、修改系统设置等)。此 httpd 服务(在端口 5555 上运行)只能从特定 IP 范围(防火墙)访问,因为它将用于管理目的。
第二个 httpd 服务(端口 80 和 443)将在 Internet 上可见。它将为外部客户提供 Web 应用程序。
第一个 httpd 需要 selinux 策略,使其能够更多地访问操作系统文件/进程。第二个需要 selinux 策略,严格限制它在其上下文中被允许做的事情。第二个需要以这种方式实现更好的 Web 应用程序安全性,并防止任何 Web 应用程序漏洞甚至能够触及操作系统。
两个 httpd 进程都以不同的用户身份运行。
- selinux 可以与同一 httpd 可执行文件的 2 组不同策略一起使用吗?
- 我/是否可以设置 httpd 进程上下文以在 httpd 启动时切换到另一组策略?
- 是否只是制作 httpd 二进制文件的副本并更改其使用所有新策略的 selinux 上下文(重新标记 httpd 二进制文件,但我相信它会花费更多)?
- 将现有的 httpd selinux 设置复制到新名称的步骤是什么?
我认为这归结为需要 httpdpublic 和 httpdprivate selinux 上下文。在此之前有人做过类似的事情可以提供一些指导或建议替代解决方案吗?谢谢