Kurt Garloff wrote:
You're very flexible in your setuid root client.
1. You may restrict the set of users that is able to call the client,
e.g. it might be root:trusted 4750. This would impose the same
restrictions as your group protection mechanism.
With the group-protected unix domain socket, you don't need any code
to do that.
2. The first thing the client does it to acquire the privileged
port and then drop capabilities immediately afterwards. Security
flaws in the client will thus at most grant the exploiter a
privileged socket. (This has nothing to do with xen, just a
general rule for setuid root apps.)
With the group-protected unix domain socket, security flaws in the
client will at most grant a not-used-for-anything-else group membership,
which allows one to connect to the xend socket.
That is, security flaws in the client will never be able to directly
give the attacker root access.
Also, xend can only be attacked by people in the group, where as
xend listening on 127.0.0.1 can be attacked by any local user.
3. The client can impose whatever restrictions it likes, e.g.
checking SSL certificates, asking for passwords, checking
a configuration file, whatever.
That's equally true for unix domain sockets.
I don't see a big difference in neither flexibility nor security.
So you really _want_ to add yet another unnecessary setuid app, where
one really is not needed?
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
Xen-devel mailing list