<p dir="ltr">When I write so far I mean the development environment. </p>
<p dir="ltr">In production it's not going to be open to the world, just listening on localhost so I have to open ssh tunnel first, and in both sides of the tunnel I operate on local port that was opened by ssh. If someone hacks my ssh I am screwed anyway, isn't that secure enough?</p>
<p dir="ltr">I can't really rely on stuff like shared home directory as I need my app to conform to 12 factor. </p>
<p dir="ltr">I also need full bus, one of the reason why I use DBus is ability to call ListNames</p>
<p dir="ltr">M. </p>
<div class="gmail_quote">06.06.2016 9:08 PM "Simon McVittie" <<a href="mailto:simon.mcvittie@collabora.co.uk">simon.mcvittie@collabora.co.uk</a>> napisał(a):<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 06/06/16 18:33, <a href="mailto:marcin@saepia.net">marcin@saepia.net</a> wrote:<br>
> I use custom session bus. Really minimal config, just<br>
> tcp, anonymous auth (so far)  and default limits<br>
<br>
It is precisely this sort of setup that led to the Jeep hack. Seriously,<br>
please don't.<br>
<br>
Even if you absolutely need to use TCP due to language/runtime<br>
limitations, please don't expose it beyond localhost and don't use<br>
ANONYMOUS authentication. The DBUS_COOKIE_SHA1 authentication mechanism<br>
uses a shared home directory to prove that a user has the uid they claim<br>
to have.<br>
<br>
It is also entirely possible to proxy D-Bus connections from the<br>
reliable transport of your choice to AF_UNIX (and have the proxy<br>
authenticate with the bus), at which point sole responsibility for<br>
providing security clearly falls on the proxy.<br>
<br>
If your situation does not closely resemble one of the two well-known<br>
buses (session/user or system) then you might be better off running a<br>
DBusServer instead of a dbus-daemon, and using the message-passing layer<br>
of D-Bus without the message bus layer. I don't intend to remove<br>
ANONYMOUS or non-local TCP support from that, only from dbus-daemon.<br>
<br>
> I understand that Ford hack must have been an issue but I think<br>
> disabling ability to listen beyond localhost is a bad idea, as in some<br>
> environments it is exactly what is wanted. Redis server by default is<br>
> also open and the Web hasn't collapsed yet.<br>
<br>
I can understand this point of view, and I'm somewhat sympathetic to it,<br>
but every time someone sets D-Bus up like this and an attacker takes<br>
advantage of it, it harms D-Bus' reputation. I don't want prospective<br>
open source platform builders to think "D-Bus, wasn't that how they got<br>
into the Jeep platform?" (and maybe the equivalent for whatever you're<br>
doing here), and use it as a reason to avoid D-Bus in situations where<br>
it is in fact the right tool for the job.<br>
<br>
D-Bus's two primary use cases are the session/user bus for communication<br>
within a desktop or desktop-like user session (AF_UNIX + EXTERNAL, uid<br>
required to match the server) and the system bus for communication<br>
between users and/or system services (AF_UNIX + EXTERNAL, uid looked up<br>
in the system authentication database). It's useful in analogous roles<br>
on servers and embedded devices - great, please use it like that too. It<br>
is sometimes good for other situations, which we should encourage, but<br>
only when they are not causing a problem for the primary use cases.<br>
<br>
The fact that you have to do specific reconfiguration to open up a bus<br>
to TCP, and then again to enable ANONYMOUS authentication, is clearly<br>
not enough to make everyone suitably wary about it - if developers had<br>
thought about why they were jumping through those hoops and reconsidered<br>
whether it was appropriate to do so, a multi-billion dollar product<br>
recall could have been avoided.<br>
<br>
--<br>
Simon McVittie<br>
Collabora Ltd. <<a href="http://www.collabora.com/" rel="noreferrer" target="_blank">http://www.collabora.com/</a>><br>
<br>
_______________________________________________<br>
dbus mailing list<br>
<a href="mailto:dbus@lists.freedesktop.org">dbus@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/dbus" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/dbus</a><br>
</blockquote></div>