如何阻止应用程序访问Internet


8

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

Answers:


3

您可以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

将此模式从更改complainenforceaka打开apparmor

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

您可以在此处此处此处找到更多手册


这没用。请注意,我已经在文件/etc/apparmor.d/usr.bin.APPNAME行之后添加了行,但/usr/bin/APPNAME r,我不知道它是否正确。
2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.