请教:如何阻止特定应用程序访问网络?

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
头像
chinaz
帖子: 238
注册时间: 2007-02-07 9:23

请教:如何阻止特定应用程序访问网络?

#1

帖子 chinaz » 2021-05-20 22:54

环境:debian9
工具:gufw
目的:阻止wps(或其他应用程序)访问网络。
要求:不考虑端口知识,只要将某个程序加入列表,它就没有权限访问网络,就这样。
请教高人,如果有简单办法,麻烦给个建议,谢谢!
宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。
头像
astolia
论坛版主
帖子: 6536
注册时间: 2008-09-18 13:11

Re: 请教:如何阻止特定应用程序访问网络?

#2

帖子 astolia » 2021-05-21 9:44

一个不需要额外软件的方法是,iptables阻止output规则加上--uid或--gid限制条件,然后以特定的用户/组启动程序。
apparmor也可以做到完全禁止某个程序的联网,但我不清楚debian9的内核中的apparmor模块有没有包含这块功能。https://gitlab.com/apparmor/apparmor/-/ ... work-rules

其他能禁止特定程序联网的第三方网络防火墙程序:
Douane https://gitlab.com/douaneapp/Douane
OpenSnitch https://github.com/evilsocket/opensnitch
Firejail https://github.com/netblue30/firejail

其中,OpenSnitch是功能上最接近windows下的个人防火墙软件的,可以针对性阻断/放行特定程序对特定地址的通信。但只有它最新的1.4版加上5.8+内核,并启用eBPF功能,才能真正做到完全监控。
头像
chinaz
帖子: 238
注册时间: 2007-02-07 9:23

Re: 请教:如何阻止特定应用程序访问网络?

#3

帖子 chinaz » 2021-05-21 13:55

astolia 写了: 2021-05-21 9:44 一个不需要额外软件的方法是,iptables阻止output规则加上--uid或--gid限制条件,然后以特定的用户/组启动程序。
apparmor也可以做到完全禁止某个程序的联网,但我不清楚debian9的内核中的apparmor模块有没有包含这块功能。https://gitlab.com/apparmor/apparmor/-/ ... work-rules

其他能禁止特定程序联网的第三方网络防火墙程序:
Douane https://gitlab.com/douaneapp/Douane
OpenSnitch https://github.com/evilsocket/opensnitch
Firejail https://github.com/netblue30/firejail

其中,OpenSnitch是功能上最接近windows下的个人防火墙软件的,可以针对性阻断/放行特定程序对特定地址的通信。但只有它最新的1.4版加上5.8+内核,并启用eBPF功能,才能真正做到完全监控。
谢谢提供线索,这就研究一下。
宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。
shimingzhou
帖子: 269
注册时间: 2008-06-28 6:14

Re: 请教:如何阻止特定应用程序访问网络?

#4

帖子 shimingzhou » 2021-08-30 15:31

一种是iptables采用网络防火墙功能实现。另一种是内核强制访问工具,如selinux,apparmor,tomoyo等都可以,我是用tomoyo来控制的。另一种通过控制网络namespace和系统调用功能实现,如firejail。
tomoyo可以实现你的想法,把软件的可执行程序列入相应的清单即可。
回复