允许非 root 不可修改的软件绑定到端口 80 和 443

允许非 root 不可修改的软件绑定到端口 80 和 443

我所在的公司使用 Java 安全应用程序管理器来“保护”其网络邮件和电子协作软件的非内部连接。

除了使用过期的证书和缺少 JAR 文件清单属性的权限之外,该软件运行良好,但它需要绑定到端口 80 和 443,这意味着要运行它,我需要icedtea在 Firefox 中以 root 身份运行该插件。无论如何,我是否可以让这个应用程序访问这些端口,而无需以 root 身份运行(出于安全原因)?

答案1

在后面运行软件反向代理。有很多可供选择。最受欢迎的可能是nginx,但许多 Web 服务器都有办法将它们配置为反向代理。还有专门的反向代理程序,例如Apache 流量服务器

或者,如果您在 Linux 上运行,您可以这样做NAT 端口转发通过iptables

这假设您可以配置软件以绑定到非标准端口。代理或 NAT 会让软件出现绑定到标准 HTTP[S] 端口。

如果软件不可配置,并且您没有内部能力来破解 JAR 文件以使它们在非标准端口上工作,您可以在虚拟机或专用计算机上运行该软件,其后果是以 root 身份运行并没有那么问题。然后,您可以像以前一样:对专用服务器/VM 进行 NAT 或代理,使其看起来像是直接从面向用户的计算机提供服务。

相关内容