由于我无法控制的原因,我有一个绑定到 TCP“localhost:$PORT”的二进制文件。(Unix 套接字绑定会使这个问题变得毫无意义)。
如果我理解正确,这意味着虽然没有网络机器可以连接,但机器上的其他用户(包括非特权守护程序用户)可以连接到这个端口。
有什么方法可以让我指定只允许以 $me 身份运行的二进制文件连接到这个端口吗?我可以成为 root 以指定配置,但监听二进制文件和连接二进制文件都以非 root $me 用户身份运行
由于我无法控制的原因,我有一个绑定到 TCP“localhost:$PORT”的二进制文件。(Unix 套接字绑定会使这个问题变得毫无意义)。
如果我理解正确,这意味着虽然没有网络机器可以连接,但机器上的其他用户(包括非特权守护程序用户)可以连接到这个端口。
有什么方法可以让我指定只允许以 $me 身份运行的二进制文件连接到这个端口吗?我可以成为 root 以指定配置,但监听二进制文件和连接二进制文件都以非 root $me 用户身份运行
iptables 中有一个
owner
match 扩展,但它只能在 OUTPUT 和 POSTROUTING 链中使用。因此,您可以像这样在 iptables OUTPUT 链的开头添加两个规则(需要 root 访问权限):如果您的系统有一些为您管理 iptables 设置的服务(例如
ufw
,对于 Debian/Ubuntu 或firewalld
RedHat/Fedora 系统),您可能需要配置该服务来为您创建这些 iptables 规则,而不是直接手动添加它们。