使用CentOS 6

我有2个Apache httpd服务正在运行 . 第一个提供REST接口和UI来管理操作系统(启动/停止服务,使用suid执行系统命令,修改系统设置等) . 此httpd服务(在端口5555上运行)只能从某个IP范围(防火墙)访问,因为它将用于管理目的 .

第二个httpd服务(端口80和443)将在Internet上可见 . 它将为外部客户提供Web应用程序 .

第一个httpd需要selinux策略,使其能够更多地访问操作系统文件/进程 . 第二个需要selinux策略,这些策略对于在其上下文中允许执行的操作是严格的 . 第二种方法需要通过这种方式来提高Web应用程序的安全性,并防止任何Web应用程序漏洞甚至无法触及操作系统 .

两个httpd进程都以不同的用户身份运行 .

  • 对于同一个httpd可执行文件,selinux可以与2组不同的策略一起使用吗?

  • 当httpd启动时,如何设置httpd进程上下文以切换到另一组策略?

  • 这只是制作httpd二进制文件的副本并更改其使用所有新策略的selinux上下文的问题(重新标记httpd二进制文件,但我相信它会花费更多)?

  • 将现有httpd selinux设置复制到新名称的步骤是什么?

我认为这归结为需要一个httpdpublic和httpdprivate selinux上下文 . 在此之前做过这样的事情的人可以提供一些指导或建议替代解决方案吗?谢谢