From 20405aeb3eb8b1b03cd3a3c32dfb432b724f819b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Nussbaumer?= <rn@google.com> Date: Tue, 29 Jun 2010 14:56:08 +0200 Subject: [PATCH] Adding design-doc for privilege separation work done on Ganeti 2.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: RenΓ© Nussbaumer <rn@google.com> Reviewed-by: Michael Hanselmann <hansmi@google.com> --- doc/design-2.2.rst | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/doc/design-2.2.rst b/doc/design-2.2.rst index a65d9ad4b..7dac2eaad 100644 --- a/doc/design-2.2.rst +++ b/doc/design-2.2.rst @@ -687,6 +687,37 @@ Miscellaneous notes requirements. +Privilege separation +~~~~~~~~~~~~~~~~~~~~ + +Current state and shortcomings +++++++++++++++++++++++++++++++ + +All Ganeti daemons are run under the user root. This is not ideal from a +security perspective as for possible exploitation of any daemon the user +has full access to the system. + +In order to overcome this situation we'll allow Ganeti to run its daemon +under different users and a dedicated group. This also will allow some +side effects, like letting the user run some ``gnt-*`` commands if one +is in the same group. + +Implementation +++++++++++++++ + +For Ganeti 2.2 the implementation will be focused on a the RAPI daemon +only. This involves changes to ``daemons.py`` so it's possible to drop +privileges on daemonize the process. Though, this will be a short term +solution which will be replaced by a privilege drop already on daemon +startup in Ganeti 2.3. + +It also needs changes in the master daemon to create the socket with new +permissions/owners to allow RAPI access. There will be no other +permission/owner changes in the file structure as the RAPI daemon is +started with root permission. In that time it will read all needed files +and then drop privileges before contacting the master daemon. + + Feature changes --------------- -- GitLab