xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] tools: Restrict configuration of qemu processes
@ 2016-03-15  1:08 Jim Fehlig
  2016-03-15  1:14 ` Jim Fehlig
  2016-03-24 13:53 ` Ian Jackson
  0 siblings, 2 replies; 7+ messages in thread
From: Jim Fehlig @ 2016-03-15  1:08 UTC (permalink / raw)
  To: xen-devel; +Cc: Jim Fehlig

Commit 6ef823fd added '-nodefaults' to the qemu args created by
libxl, which is a good step in restricting qemu's default
configuration. This change takes another step by adding
-no-user-config, which ignores any user-provided config files in
sysconfdir. Together, -nodefaults and -no-user-config allow Xen
to avoid unkown and uncontrolled qemu configuration.

Both options are also added to the qemu invocation in the
xen-qemu-dom0-disk-backend systemd service file.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
---
 tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in | 1 +
 tools/libxl/libxl_dm.c                                            | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in b/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in
index acf61a8..f56775b 100644
--- a/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in
+++ b/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in
@@ -14,6 +14,7 @@ ExecStartPre=/bin/mkdir -p @XEN_RUN_DIR@
 ExecStart=@qemu_xen_systemd@ -xen-domid 0 \
 	-xen-attach -name dom0 -nographic -M xenpv -daemonize \
 	-monitor /dev/null -serial /dev/null -parallel /dev/null \
+	-nodefaults -no-user-config \
 	-pidfile @XEN_RUN_DIR@/qemu-dom0.pid
 
 [Install]
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 4aca38e..cfda24c 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -828,6 +828,12 @@ static int libxl__build_device_model_args_new(libxl__gc *gc,
      */
     flexarray_append(dm_args, "-nodefaults");
 
+    /*
+     * Do not use any of the user-provided config files in sysconfdir,
+     * avoiding unkown and uncontrolled configuration.
+     */
+    flexarray_append(dm_args, "-no-user-config");
+
     if (b_info->type == LIBXL_DOMAIN_TYPE_PV) {
         flexarray_append(dm_args, "-xen-attach");
     }
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] tools: Restrict configuration of qemu processes
  2016-03-15  1:08 [PATCH] tools: Restrict configuration of qemu processes Jim Fehlig
@ 2016-03-15  1:14 ` Jim Fehlig
  2016-03-15 12:28   ` Wei Liu
  2016-03-24 13:53 ` Ian Jackson
  1 sibling, 1 reply; 7+ messages in thread
From: Jim Fehlig @ 2016-03-15  1:14 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson, Wei Liu, Stefano Stabellini

Opps, forgot to cc the tools maintainers, sorry. I can resend if needed.

Regards,
Jim

On 03/14/2016 07:08 PM, Jim Fehlig wrote:
> Commit 6ef823fd added '-nodefaults' to the qemu args created by
> libxl, which is a good step in restricting qemu's default
> configuration. This change takes another step by adding
> -no-user-config, which ignores any user-provided config files in
> sysconfdir. Together, -nodefaults and -no-user-config allow Xen
> to avoid unkown and uncontrolled qemu configuration.
>
> Both options are also added to the qemu invocation in the
> xen-qemu-dom0-disk-backend systemd service file.
>
> Signed-off-by: Jim Fehlig <jfehlig@suse.com>
> ---
>  tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in | 1 +
>  tools/libxl/libxl_dm.c                                            | 6 ++++++
>  2 files changed, 7 insertions(+)
>
> diff --git a/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in b/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in
> index acf61a8..f56775b 100644
> --- a/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in
> +++ b/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in
> @@ -14,6 +14,7 @@ ExecStartPre=/bin/mkdir -p @XEN_RUN_DIR@
>  ExecStart=@qemu_xen_systemd@ -xen-domid 0 \
>  	-xen-attach -name dom0 -nographic -M xenpv -daemonize \
>  	-monitor /dev/null -serial /dev/null -parallel /dev/null \
> +	-nodefaults -no-user-config \
>  	-pidfile @XEN_RUN_DIR@/qemu-dom0.pid
>  
>  [Install]
> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> index 4aca38e..cfda24c 100644
> --- a/tools/libxl/libxl_dm.c
> +++ b/tools/libxl/libxl_dm.c
> @@ -828,6 +828,12 @@ static int libxl__build_device_model_args_new(libxl__gc *gc,
>       */
>      flexarray_append(dm_args, "-nodefaults");
>  
> +    /*
> +     * Do not use any of the user-provided config files in sysconfdir,
> +     * avoiding unkown and uncontrolled configuration.
> +     */
> +    flexarray_append(dm_args, "-no-user-config");
> +
>      if (b_info->type == LIBXL_DOMAIN_TYPE_PV) {
>          flexarray_append(dm_args, "-xen-attach");
>      }


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] tools: Restrict configuration of qemu processes
  2016-03-15  1:14 ` Jim Fehlig
@ 2016-03-15 12:28   ` Wei Liu
  2016-03-22 20:12     ` Jim Fehlig
  0 siblings, 1 reply; 7+ messages in thread
From: Wei Liu @ 2016-03-15 12:28 UTC (permalink / raw)
  To: Jim Fehlig; +Cc: Ian Jackson, Stefano Stabellini, Wei Liu, xen-devel

On Mon, Mar 14, 2016 at 07:14:12PM -0600, Jim Fehlig wrote:
> Opps, forgot to cc the tools maintainers, sorry. I can resend if needed.
> 
> Regards,
> Jim
> 
> On 03/14/2016 07:08 PM, Jim Fehlig wrote:
> > Commit 6ef823fd added '-nodefaults' to the qemu args created by
> > libxl, which is a good step in restricting qemu's default
> > configuration. This change takes another step by adding
> > -no-user-config, which ignores any user-provided config files in
> > sysconfdir. Together, -nodefaults and -no-user-config allow Xen
> > to avoid unkown and uncontrolled qemu configuration.
> >
> > Both options are also added to the qemu invocation in the
> > xen-qemu-dom0-disk-backend systemd service file.
> >
> > Signed-off-by: Jim Fehlig <jfehlig@suse.com>

Acked-by: Wei Liu <wei.liu2@citrix.com>

> > ---
> >  tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in | 1 +
> >  tools/libxl/libxl_dm.c                                            | 6 ++++++
> >  2 files changed, 7 insertions(+)
> >
> > diff --git a/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in b/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in
> > index acf61a8..f56775b 100644
> > --- a/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in
> > +++ b/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in
> > @@ -14,6 +14,7 @@ ExecStartPre=/bin/mkdir -p @XEN_RUN_DIR@
> >  ExecStart=@qemu_xen_systemd@ -xen-domid 0 \
> >  	-xen-attach -name dom0 -nographic -M xenpv -daemonize \
> >  	-monitor /dev/null -serial /dev/null -parallel /dev/null \
> > +	-nodefaults -no-user-config \
> >  	-pidfile @XEN_RUN_DIR@/qemu-dom0.pid
> >  
> >  [Install]
> > diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> > index 4aca38e..cfda24c 100644
> > --- a/tools/libxl/libxl_dm.c
> > +++ b/tools/libxl/libxl_dm.c
> > @@ -828,6 +828,12 @@ static int libxl__build_device_model_args_new(libxl__gc *gc,
> >       */
> >      flexarray_append(dm_args, "-nodefaults");
> >  
> > +    /*
> > +     * Do not use any of the user-provided config files in sysconfdir,
> > +     * avoiding unkown and uncontrolled configuration.
> > +     */
> > +    flexarray_append(dm_args, "-no-user-config");
> > +
> >      if (b_info->type == LIBXL_DOMAIN_TYPE_PV) {
> >          flexarray_append(dm_args, "-xen-attach");
> >      }
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] tools: Restrict configuration of qemu processes
  2016-03-15 12:28   ` Wei Liu
@ 2016-03-22 20:12     ` Jim Fehlig
  0 siblings, 0 replies; 7+ messages in thread
From: Jim Fehlig @ 2016-03-22 20:12 UTC (permalink / raw)
  To: Wei Liu; +Cc: xen-devel, Ian Jackson, Stefano Stabellini

On 03/15/2016 06:28 AM, Wei Liu wrote:
> On Mon, Mar 14, 2016 at 07:14:12PM -0600, Jim Fehlig wrote:
>> Opps, forgot to cc the tools maintainers, sorry. I can resend if needed.
>>
>> Regards,
>> Jim
>>
>> On 03/14/2016 07:08 PM, Jim Fehlig wrote:
>>> Commit 6ef823fd added '-nodefaults' to the qemu args created by
>>> libxl, which is a good step in restricting qemu's default
>>> configuration. This change takes another step by adding
>>> -no-user-config, which ignores any user-provided config files in
>>> sysconfdir. Together, -nodefaults and -no-user-config allow Xen
>>> to avoid unkown and uncontrolled qemu configuration.
>>>
>>> Both options are also added to the qemu invocation in the
>>> xen-qemu-dom0-disk-backend systemd service file.
>>>
>>> Signed-off-by: Jim Fehlig <jfehlig@suse.com>
> Acked-by: Wei Liu <wei.liu2@citrix.com>

If there are no remaining issues, can this patch be applied?  Thanks!

Regards,
Jim

>
>>> ---
>>>  tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in | 1 +
>>>  tools/libxl/libxl_dm.c                                            | 6 ++++++
>>>  2 files changed, 7 insertions(+)
>>>
>>> diff --git a/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in b/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in
>>> index acf61a8..f56775b 100644
>>> --- a/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in
>>> +++ b/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in
>>> @@ -14,6 +14,7 @@ ExecStartPre=/bin/mkdir -p @XEN_RUN_DIR@
>>>  ExecStart=@qemu_xen_systemd@ -xen-domid 0 \
>>>  	-xen-attach -name dom0 -nographic -M xenpv -daemonize \
>>>  	-monitor /dev/null -serial /dev/null -parallel /dev/null \
>>> +	-nodefaults -no-user-config \
>>>  	-pidfile @XEN_RUN_DIR@/qemu-dom0.pid
>>>  
>>>  [Install]
>>> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
>>> index 4aca38e..cfda24c 100644
>>> --- a/tools/libxl/libxl_dm.c
>>> +++ b/tools/libxl/libxl_dm.c
>>> @@ -828,6 +828,12 @@ static int libxl__build_device_model_args_new(libxl__gc *gc,
>>>       */
>>>      flexarray_append(dm_args, "-nodefaults");
>>>  
>>> +    /*
>>> +     * Do not use any of the user-provided config files in sysconfdir,
>>> +     * avoiding unkown and uncontrolled configuration.
>>> +     */
>>> +    flexarray_append(dm_args, "-no-user-config");
>>> +
>>>      if (b_info->type == LIBXL_DOMAIN_TYPE_PV) {
>>>          flexarray_append(dm_args, "-xen-attach");
>>>      }
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] tools: Restrict configuration of qemu processes
  2016-03-15  1:08 [PATCH] tools: Restrict configuration of qemu processes Jim Fehlig
  2016-03-15  1:14 ` Jim Fehlig
@ 2016-03-24 13:53 ` Ian Jackson
  2016-05-09 16:35   ` Ian Jackson
  1 sibling, 1 reply; 7+ messages in thread
From: Ian Jackson @ 2016-03-24 13:53 UTC (permalink / raw)
  To: Jim Fehlig; +Cc: xen-devel

Jim Fehlig writes ("[Xen-devel] [PATCH] tools: Restrict configuration of qemu processes"):
> Commit 6ef823fd added '-nodefaults' to the qemu args created by
> libxl, which is a good step in restricting qemu's default
> configuration. This change takes another step by adding
> -no-user-config, which ignores any user-provided config files in
> sysconfdir. Together, -nodefaults and -no-user-config allow Xen
> to avoid unkown and uncontrolled qemu configuration.
> 
> Both options are also added to the qemu invocation in the
> xen-qemu-dom0-disk-backend systemd service file.

Queued, thanks.  Also listed for backport.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] tools: Restrict configuration of qemu processes
  2016-03-24 13:53 ` Ian Jackson
@ 2016-05-09 16:35   ` Ian Jackson
  2016-05-09 22:37     ` Jim Fehlig
  0 siblings, 1 reply; 7+ messages in thread
From: Ian Jackson @ 2016-05-09 16:35 UTC (permalink / raw)
  To: Jim Fehlig, xen-devel

Ian Jackson writes ("Re: [Xen-devel] [PATCH] tools: Restrict configuration of qemu processes"):
> Jim Fehlig writes ("[Xen-devel] [PATCH] tools: Restrict configuration of qemu processes"):
> > Commit 6ef823fd added '-nodefaults' to the qemu args created by
> > libxl, which is a good step in restricting qemu's default
> > configuration. This change takes another step by adding
> > -no-user-config, which ignores any user-provided config files in
> > sysconfdir. Together, -nodefaults and -no-user-config allow Xen
> > to avoid unkown and uncontrolled qemu configuration.
> > 
> > Both options are also added to the qemu invocation in the
> > xen-qemu-dom0-disk-backend systemd service file.
> 
> Queued, thanks.  Also listed for backport.

I found this on my backport todo list.  Thinking about it, I have had
second thoughts.

I worry that existing users of stable branches might be relying on the
user config feature (for example by dropping qemu configuration in
~root).  If they are, then applying this would break things for them.

It's not a security problem because in xen the configuration in
question would have to come from ~root.

So I think, probably, that we should leave this be (ie, not backport
the patch).  Does anyone want to try to change my mind ?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] tools: Restrict configuration of qemu processes
  2016-05-09 16:35   ` Ian Jackson
@ 2016-05-09 22:37     ` Jim Fehlig
  0 siblings, 0 replies; 7+ messages in thread
From: Jim Fehlig @ 2016-05-09 22:37 UTC (permalink / raw)
  To: Ian Jackson, xen-devel

On 05/09/2016 10:35 AM, Ian Jackson wrote:
> Ian Jackson writes ("Re: [Xen-devel] [PATCH] tools: Restrict configuration of qemu processes"):
>> Jim Fehlig writes ("[Xen-devel] [PATCH] tools: Restrict configuration of qemu processes"):
>>> Commit 6ef823fd added '-nodefaults' to the qemu args created by
>>> libxl, which is a good step in restricting qemu's default
>>> configuration. This change takes another step by adding
>>> -no-user-config, which ignores any user-provided config files in
>>> sysconfdir. Together, -nodefaults and -no-user-config allow Xen
>>> to avoid unkown and uncontrolled qemu configuration.
>>>
>>> Both options are also added to the qemu invocation in the
>>> xen-qemu-dom0-disk-backend systemd service file.
>> Queued, thanks.  Also listed for backport.
> I found this on my backport todo list.  Thinking about it, I have had
> second thoughts.
>
> I worry that existing users of stable branches might be relying on the
> user config feature (for example by dropping qemu configuration in
> ~root).  If they are, then applying this would break things for them.
>
> It's not a security problem because in xen the configuration in
> question would have to come from ~root.

Good point.

> So I think, probably, that we should leave this be (ie, not backport
> the patch).  Does anyone want to try to change my mind ?

I never asked for a backport, so have no incentive to change your mind. Plus, I
agree with your comment.

Regards,
Jim


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-05-09 22:37 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-15  1:08 [PATCH] tools: Restrict configuration of qemu processes Jim Fehlig
2016-03-15  1:14 ` Jim Fehlig
2016-03-15 12:28   ` Wei Liu
2016-03-22 20:12     ` Jim Fehlig
2016-03-24 13:53 ` Ian Jackson
2016-05-09 16:35   ` Ian Jackson
2016-05-09 22:37     ` Jim Fehlig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).