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

ᴜsᴇ*_*sᴇʀ 8 firewall internet

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

270*_*974 3

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

sudo apt-get install apparmor*
Run Code Online (Sandbox Code Playgroud)

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

sudo aa-genprof /usr/bin/google-chrome
Run Code Online (Sandbox Code Playgroud)

下一步是将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,
Run Code Online (Sandbox Code Playgroud)

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

sudo apparmor_parser -r /etc/apparmor.d/usr.bin.chromium-browser
Run Code Online (Sandbox Code Playgroud)

将模式从 更改为complain也称为enforce打开apparmor此应用程序。

sudo aa-complain /etc/apparmor.d/usr.bin.chromium-browser
Run Code Online (Sandbox Code Playgroud)

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