如何阻止应用程序的互联网访问

如何阻止应用程序的互联网访问

我会寻找一种方法来运行应用程序,阻止它访问互联网,可能不需要安装特定程序来做到这一点。我找到的大多数答案都提到帖子,所以我尝试了这个解决方案。简而言之,我创建了一个无网络组(与相关命令)并使用此组启动应用程序。但这并不完全有效,可能是因为该帖子是 2009 年的,iptables 中的某些内容已更改(我使用的是 Ubuntu 14.04)。例如,如果我运行ni "ping google.com"输出是ping: sendmsg: Operation not permitted,则解决方案很有效。但使用其他程序,如 Firefox 或 wget(例如ni firefox),互联网连接仍然有效。我该如何解决?

答案1

您可以使用apparmor它来拒绝某些应用程序的网络流量。首先您必须安装apparmorapparmor-utils..

sudo apt-get install apparmor*

之后,您可以为您的应用程序生成配置文件...

sudo aa-genprof /usr/bin/google-chrome

下一步是将Networking配置文件中的一部分更改为:

sudo nano /etc/apparmor.d/usr.bin.chromium-browser

audit deny network,
audit deny network inet stream,
deny network inet6 stream,
deny @{PROC}/[0-9]*/net/if_inet6 r,
deny @{PROC}/[0-9]*/net/ipv6_route r,
deny capability net_raw,

接下来,使用 apparmor_parser 检查配置并重新加载配置

sudo apparmor_parser -r /etc/apparmor.d/usr.bin.chromium-browser

将此应用程序的模式从 更改complainenforce即开启apparmor

sudo aa-complain /etc/apparmor.d/usr.bin.chromium-browser

您可以找到更多手册这里这里这里

相关内容