News for hackers. Stuff that matters.
Re:Microsoft is phoning home the content of your PowerPoint ... by doubled112 on Monday November 07, 2022 @02:45PM (#33511296)
I think iptables was supposed to be able to do this, right?

https://linux.die.net/man/8/iptables

    --pid-owner processid
        Matches if the packet was created by a process with the given process id.
But was disappointed by the note:

> NOTE: pid, sid and command matching are broken on SMP

Re:Microsoft is phoning home the content of your PowerPoint ... by yrro on Monday November 07, 2022 @03:14PM (#33511726)
--pid-owner was removed from Linux some time in the 2.4 days IIRC.

That's a really outdated version of the man page. The current one is: https://ipset.netfilter.org/iptables-extensions.man.html

Probably the closest thing these days is to use the cgroup match extension, together with something that makes sure separate apps are moved to their own cgroup. But that cgroup would be under a separate parent cgroup for each user so it's not ideal.

I expect NFQUEUE or some EBPF magic is a better way to do things - you don't want to be constantly adding/removing per-process iptables rules.

Re:Microsoft is phoning home the content of your PowerPoint ... by pvaldes on Monday November 07, 2022 @06:06PM (#33513808)
Iptables is a little old. You may want the newer nftables instead.

The iptables rules can be converted directly to nft with iptables-translate and the syntax is more simple.

Re:Microsoft is phoning home the content of your PowerPoint ... by LinuxBender on Tuesday November 08, 2022 @09:37AM (#33519405)
The owner module can control outbound communication by uid/gid. [1] There are no modules to handle things by PID AFAIK. This can however be accomplished by SELinux and Apparmor custom rules but that is a loaded topic.

Firejail [2] and Bubblewrap [3] can put limits on application capabilities and/or take away network access.

A round-about and heavy handed way to manage communications by PID would be to isolation applications in their own VM or container and map the VM or container to a unique user or group.

[1] - https://ipset.netfilter.org/iptables-extensions.man.html

[2] - https://github.com/netblue30/firejail

[3] - https://github.com/containers/bubblewrap