我正在尝试使用命令在 Debian 11 上配置特定于一组用户的网络访问限制iptables -A OUTPUT -m owner --gid-owner APIGROUP -j REJECT
。
这APIGROUP
是一个小组。该组中存在的用户应在OUTPUT
链中被拒绝。但是当我浏览论坛时,我读到该组指的是用户的主要组。
更改用户的主要组是一个好习惯吗?对这些用户的权限有影响吗?
有什么方法可以使用 iptables 实现我想要的吗?
参考:
答案1
该功能已经存在:--suppl-groups
。
最近的 Linux 内核有一个更新的功能,允许匹配补充组。添加它是为了解决 OP 中的问题类别内核5.32019 年中期,该功能已在 Debian 11 的 5.10.x 内核中可用。
网络过滤器
[...]
xt_owner:添加补充组选项犯罪
iptables 的匹配更新存在从1.8.4开始so 在 Debian 11 的 1.8.7 中可用:
iptables 遗留:
- 将 --suppl-groups 选项添加到所有者匹配中。
作为有记录的在手册中:
--suppl-groups
导致指定的组
--gid-owner
也在进程的补充组中进行检查。
语法变为(似乎必须将--suppl-groups
后 --gid-owner APIGROUP
):
iptables -A OUTPUT -m owner --gid-owner APIGROUP --suppl-groups -j REJECT
注意:这似乎是一种罕见的情况iptables最近收到了一个新功能,但是nftables没有收到:目前似乎无法使用nftables。因为它是一个扩展表功能,一如既往,它仍然可用者iptables-nft
此外iptables-legacy
。