iptables“--uid-owner”规则被绕过?

iptables“--uid-owner”规则被绕过?

我正在尝试构建一个 iptables 过滤器来阻止除 UID 1000 之外的所有人访问互联网。这是我到目前为止所拥有的:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m owner --uid-owner 1000 -j ACCEPT
-A OUTPUT -j REJECT --reject-with icmp-net-unreachable
-A OUTPUT -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -j DROP
-A FORWARD -j DROP
COMMIT

当我尝试以 root (UID 0) 身份运行以下命令时:

curl http://ipecho.net/plain
curl: (7) Failed to connect to ipecho.net port 80: Network is unreachable

iptables 根据需要阻止它。但是当我以root身份尝试这个时:

curl --proxy socks5h://localhost:7777 http://ipecho.net/plain
_ip_address_

一切顺利。我需要更改什么才能阻止其他用户的所有互联网访问,即使他们使用代理?

答案1

如果您使用本地代理,则传出网络流量将由代理而非最终用户拥有 uid。我假设代理以 uid 1000 运行。您使用什么作为代理?

您需要使用可以配置为仅允许指定本地用户使用的代理。

相关内容