> On 6 Jun 2025, at 12:45 PM, Greg Troxel <g...@lexort.com> wrote:
> 
> I think we need to step back and first establish requirements and goals.
> 
> It makes sense to me to be able to use uid/gid as a selector in firewall
> rules.  I don't agree that making rules about socket creation/binding is
> sufficient.  I can think of a specific use for a program with its
> associated uid that I would want to write per-program (per-uid) rules
> for.
> 
> While not addressing colluding programs, one could run program A as user
> A, and then write rules that user A can only send/receive to some
> particular prefix, or to specific addresses and ports.  This happens on
> Android, e.g. in CalyxOS, where one can turn on/off network access per
> app (which is per uid because that's how apps work on Android),
> selecting wifi/cell/vpn separately.
> 
> The question of what happens to a listen-cloned socket that is handed to
> a non-privileged process from a root-created listen socket is a good
> one.  I see the point of previous comments that the proper uid is not
> obvious and not one-size-fits-all.  But I can very much see the point of
> wanting the unprivileged user to own the socket, or really to be the uid
> that is used in firewall lookups.
> 
> Turning this around, why is a listen socket owned by root anyway, for a
> non-root daemon?  It might be just because of privileged port, and no
> other reason, so perhaps that deserves a changed uid anyway.
> 
> 
> Unix-domain sockets are perahps another matter, and perhaps not.  We
> don't have the ability to firewall them.  Perhaps we should, but it
> doesn't seem pressing.
Maybe that’s for another day.
> 

A scoffer seeks wisdom in vain, but knowledge is easy for a man of 
understanding.
Emmanuel





Reply via email to