我可以使用 Firewalld 阻止单个应用程序的互联网访问吗?

我可以使用 Firewalld 阻止单个应用程序的互联网访问吗?

是否可以使用防火墙阻止单个应用程序访问互联网?

确切地说,我有一个打包为 AppImage 的应用程序,当前安装在我的主目录中,我希望它被阻止互联网访问。

Firewalld GUI 仅允许我配置 IP、MAC、服务等,但我找不到管理单个应用程序的方法。这有可能吗?

如果重要的话,我正在使用 openSUSE。

有办法吗?

答案1

如果我没记错的话,不是的——即使服务基本上也是基于端口的规则——它实际上是一个XML 文件. 因此,这是小的比较棘手,但也不是那么棘手。

您可以使用 netstat 或其他方法来确定应用程序使用了哪些端口。

netstat -p | grep program就是一个简单的例子。

然后为应用程序编写自己的单元来阻止端口。

据我所知,firewalld 不是基于应用程序的,它只是基于端口的防火墙的前端,带有一些不错的附加组件,例如区域。

可能可以使用 SElinux 或 Apparmour 之类的工具来实现这一点,尽管这自然与您尝试的方法不同。

答案2

有办法吗?

一个名为 firejail 的软件(可在 Ubuntu 存储库中找到)可以阻止 appimage 程序访问互联网。使用以下代码:

firejail --appimage --noprofile path/to/appimage

相关内容