Hi Martin

I have complete the pull request [1], and was looking for further discussion 
from anyone who is interested.

Cheers
Adam

[1] https://github.com/Solo5/solo5/pull/271

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On 13 August 2018 3:05 PM, Adam Steen <a...@adamsteen.com.au> wrote:

> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> On 13 August 2018 1:47 AM, Martin Lucina mar...@lucina.net wrote:
>
> > Hi Adam,
> > apologies for the delayed reply, I've been on vacation.
> > On Sunday, 22.07.2018 at 22:36, Adam Steen wrote:
> >
> > > Hi All
> > > After a quick discussion with Hannes and attempting to implement coredump 
> > > on OpenBSD[1], i found there was no easy way to determine if use_coredump 
> > > was true. ie coredump was enabled.,
> > > I had to remove a tight pledge, privilege drop and chroot just to enable 
> > > coredump, i wasn't sure it was worth it. Hannes suggested turning the 
> > > security changes on or off if coredump was enabled, but we both couldn't 
> > > find a easy way to do this.
> > > So i am posting here to get the discussion started about, what we can do 
> > > to make this easier.
> > > The only things i could come up with, with the current code, was to 
> > > disable the security if the dumpcore module was compile in (available). 
> > > see [2] and [3].
> > > I wanted to raise this discussion not around my coredump code but about 
> > > determining which module(s) are enabled in the ukvm main/system code
> >
> > This is a good question. With the current model of determining modules to
> > enable at compile time, I would use the same approach for determining
> > whether or not to "drop privileges" (not sure what best to call this
> > functionality, suggestions please?).
> > Specifically:
> >
> > 1.  Add a compile-time #define, e.g. UKVM_DROP_PRIVILEGES. In a suitable
> >     header, say ukvm/ukvm.h since that is included by all modules, define 
> > this
> >     to 1 if not already defined. I.e. default to dropping privileges.
> >
> > 2.  ukvm-configure can then manually add -DUKVM_DROP_PRIVILEGES=0 to CFLAGS
> >     if dumpcore has been requested.
> >
> > 3.  If UKVM_DROP_PRIVILEGES=1, you get the current behaviour in your code.
> >
> > 4.  If UKVM_DROP_PRIVILEGES=0, privilege dropping is disabled AND ukvm
> >     prints a stern warning to this effect at startup, including something 
> > about
> >     not being recommended for production, etc.
> >     Separately from this, and with a view to adding some amount of privilege
> >     dropping by default on other systems besides OpenBSD, I think that:
> >
> > 5.  The privilege dropping code should be moved into its own top-level
> >     function, e.g. ukvm_hv_drop_privileges(), which goes into 
> > ukvm_hv_<os>.c.
> >
> > 6.  This function is clearly called from ukvm/ukvm_main.c, just before
> >     entering the VCPU loop(?). This would also be where the #if printing the
> >     warning if disabled (see (4) above) goes.
> >
> >
> > As for what privileges should exactly be dropped on other OSes by default,
> > I need to think about that a bit more and will follow up during the week.
> > However, this should be enough to get you started.
> > Would this approach work for you? Any other opinions?
> > Cheers,
> > -mato
>
> this approach works really well, i like it!
>
> I hope to have something along these lines this week!
>
> Cheers
> Adam


Reply via email to