Security hardening: force EXTERNAL auth in session.conf on Unix
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Tue, 12 May 2015 10:54:50 +0000 (11:54 +0100)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Tue, 12 May 2015 10:54:50 +0000 (11:54 +0100)
commitd9ab8931822999336b84cac0499a12e11c11e298
tree77757008414f64639428af6ed36a787618e0bd15
parent77e1b3110a2bbb1a0dc2edba18558fa6026ab4fa
Security hardening: force EXTERNAL auth in session.conf on Unix

DBUS_COOKIE_SHA1 is dependent on unguessable strings, i.e.
indirectly dependent on high-quality pseudo-random numbers
whereas EXTERNAL authentication (credentials-passing)
is mediated by the kernel and cannot be faked.

On Windows, EXTERNAL authentication is not available,
so we continue to use the hard-coded default (all
authentication mechanisms are tried).

Users of tcp: or nonce-tcp: on Unix will have to comment
this out, but they would have had to use a special
configuration anyway (to set the listening address),
and the tcp: and nonce-tcp: transports are inherently
insecure unless special steps are taken to have them
restricted to a VPN or SSH tunnelling.

Users of obscure Unix platforms (those that trigger
the warning "Socket credentials not supported on this Unix OS"
when compiling dbus-sysdeps-unix.c) might also have to
comment this out, or preferably provide a tested patch
to enable credentials-passing on that OS.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=90414
bus/session.conf.in
cmake/CMakeLists.txt
configure.ac