gue*_*rda 72 iptables firewall
我想用一个软件来控制哪个程序可以连接到互联网。我知道这种行为与“防火墙”这个词有关,但是如果有人要求使用个人防火墙,一些 Linux 用户会非常不高兴。我不想因为要求这样的程序而使您心烦意乱。
我不想“保护端口”或个人防火墙在 Windows 上承诺的其他内容。我看了看,iptables
但它不符合我的要求。
我在这里看到了一个很好的答案(“如何阻止葡萄酒应用程序的互联网访问”),但设置它非常不舒服。
是否有软件询问每个程序是否可以访问互联网?
小智 38
注意:Douane 不再积极开发,据报道在更高的 Ubuntu 版本中不起作用。此解决方案可能不起作用,但由于历史原因,答案保持原样。
如果您仍在寻找此类应用程序,我目前正在开发该应用程序:http : //douaneapp.com/ https://gitlab.com/douaneapp/Douane
我的应用程序会阻止任何未知应用程序(已授权应用程序的新版本被阻止)并询问您是允许还是拒绝其流量。
看看网站;-)
Tim*_*Tim 34
我找到了一个方便的解决方案来解决这个问题。您创建了一个永远不允许使用 Internet 的组,并以该组的成员身份启动该程序。
创建一个组no-internet
。不要不加入这个组
sudo addgroup no-internet
Run Code Online (Sandbox Code Playgroud)向 iptables 添加规则,以防止属于该组的所有进程no-internet
使用网络(ip6tables
也用于防止 IPv6 流量)
sudo iptables -A OUTPUT -m owner --gid-owner no-internet -j DROP
Run Code Online (Sandbox Code Playgroud)sudo -g no-internet YOURCOMMAND
而不是YOURCOMMAND
.您可以轻松编写一个使用 sudo 的包装脚本。您可以通过添加来摆脱密码提示
%sudo ALL=(:no-internet) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)
或者,类似的东西 sudo visudo
使用iptables-save
和iptables-restore
来保留防火墙规则。
Dim*_* II 11
另一种选择是firejail。它在沙箱内运行应用程序,您可以在其中控制应用程序是否可以看到网络:
firejail --net=none firefox
Run Code Online (Sandbox Code Playgroud)
此命令将在没有互联网访问的情况下启动 Firefox 浏览器。请注意,Ubuntu 存储库中的 firejail 发行版已过时- 最好从 firejail 主页下载其最新的 LTS 版本。
Ubuntu 中已经有防火墙ufw
,但默认情况下是禁用的。您可以通过命令行或其前端gufw启用和使用它,该前端可直接从 Ubuntu 软件中心安装。
如果您需要阻止对特定应用程序的互联网访问,您可以尝试LeopardFlower,它仍处于测试版并且在 Ubuntu 软件中心不可用:
在另一个用户下运行程序将使用该用户的配置文件,而不是您的。
这是一个不需要修改防火墙规则的解决方案,它在同一用户(通过sudo
)下运行,并在修改后的环境中运行,您的用户所在的位置my_user
和您要运行的应用程序是my_app
:
# run app without access to internet
sudo unshare -n sudo -u my_user my_app
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅man unshare
和此答案。
如果您正在寻找 GUI 防火墙,我在OpenSnitch 上取得了不错的结果——它还没有出现在 ubuntu 存储库中,我不会称其为生产级,但遵循github页面中的构建步骤对我有用。
归档时间: |
|
查看次数: |
92075 次 |
最近记录: |