如何阻止应用程序使用 iptables 连接到网络?

如何阻止应用程序使用 iptables 连接到网络?

我已经阅读了终端中 iptables 的手册页,但它的语法很复杂,而且我不完全理解如何使用诸如:用户、用户 ID、UUID 等选项。

假设我的用户名是 foobar,我想阻止应用程序连接到任何类型的网络。我该怎么做呢?

答案1

您可以阻止用户的所有流量阻止用户使用owneriptables 模块。

iptables -I INPUT -m owner --uid-owner BLOCKUSER -j REJECT
iptables -I OUTPUT -m owner --uid-owner BLOCKUSER -j REJECT

您也可以使用DROP目标来代替,REJECT但这只会延长由于超时而导致的延迟(请参阅这里以进行更多讨论)。

允许访问也可能是方便/必要的环回设备:

iptables -I INPUT  -m owner --uid-owner BLOCKUSER ! -i lo -j REJECT
iptables -I OUTPUT -m owner --uid-owner BLOCKUSER ! -o lo -j REJECT

关于您的问题:

  • 用户是您用于登录和输出whoami命令的用户名。
  • 用户识别码是数字用户ID(大多数时候你可以简单地使用用户名而不是UID,你可以用命令显示它id)。
  • 通用唯一标识符是一个通用唯一标识符并且不直接在 iptables 中使用。 (--uuid-owner是一个错字)

相关内容