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