每个进程防火墙?

每个进程防火墙?

我一直在阅读,但似乎找不到创建每进程防火墙规则的方法。我知道,iptables --uid-owner但这仅适用于传出流量。我考虑过编写脚本netstatiptables但这似乎效率非常低,因为如果一个进程仅在很短的时间内处于活动状态,则脚本可能会错过它。基本上我想在进程上强制执行有关端口和目标的特定限制,同时使其他进程不受影响。有任何想法吗?


作为参考,selinux 可以做到这一点,而且效果相当好。不过,设置有点痛苦。

答案1

你的问题非常类似于https://stackoverflow.com/questions/5451206/linux-per-program-firewall-similar-to-windows-and-mac-counterparts

--cmd-owneriptables 的所有者模块,但由于无法正常工作而被删除。现在是第一个测试版豹花可用,这通过用户空间守护进程解决了问题。

一般来说,每个进程的防火墙不是很有用,除非你真正隔离和限制程序。为此,您应该考虑诸如 TOMOYO Linux、SELinux、AppArmor、grsecurity、SMACK 等安全解决方案。

答案2

很简单,在不同的用户下运行您的进程并使用“--uid-owner”:)

答案3

查看 man 8 iptables-extensions 和“cgroup”选项,它可能允许过滤与特定 cgroup2 层次结构关联的套接字。如果您可以使用唯一的 cgroup 来运行特定进程,则这可能适用于 OUTPUT 和 INPUT 链;然而,手册页给出了将其与 INPUT 链一起使用的警告,因此一定要根据进程/程序进行测试和 YMMV。

答案4

虽然不(完全)基于iptables,但您可以使用。它在每个应用程序的基础上工作,尽管它确实有一些其他选项。

查看维基百科用于安装和其他故障排除。

相关内容