All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dominick Grift <dominick.grift@defensec.nl>
To: Stephen Smalley <stephen.smalley@gmail.com>
Cc: selinux@vger.kernel.org
Subject: Re: [PATCH] scripts/selinux: modernize mdp
Date: Wed, 20 Feb 2019 20:35:06 +0100	[thread overview]
Message-ID: <20190220193505.GA28292@brutus.lan> (raw)
In-Reply-To: <CAB9W1A0642u1T=7iwQpOqDEqjvGq=wV9042e6P1C6=_-2OFnVw@mail.gmail.com>

On Wed, Feb 20, 2019 at 02:25:16PM -0500, Stephen Smalley wrote:
> On Wed, Feb 20, 2019 at 2:21 PM Stephen Smalley
> <stephen.smalley@gmail.com> wrote:
> >
> > On Wed, Feb 20, 2019 at 9:48 AM Dominick Grift
> > <dominick.grift@defensec.nl> wrote:
> > >
> > > On Wed, Feb 20, 2019 at 03:09:22PM +0100, Dominick Grift wrote:
> > > > On Wed, Feb 20, 2019 at 01:33:54PM +0100, Dominick Grift wrote:
> > > > > The MDP example no longer works on modern systems.
> > > > >
> > > > > Add support for devtmpfs. This is required by login programs to relabel terminals.
> > > > > Compile the policy with deny_unknown allow status to anticipate user space object managers in core components such as systemd.
> > > > > Add default seusers mapping and failsafe context for the SELinux PAM module.
> > > >
> > > > There are a couple more possible improvements that i have identified:
> > > >
> > > > Fail gracefully if checkpolicy does not exist
> > > > Run setfiles with -F. There *might* be one scenario where this might be a good idea. Where the filesystem is labeled with invalid contexts but where SELinux is disabled.
> > > > In that case setfiles will reset, but only types (I suppose)
> > >
> > > This also does not make sense to me:
> > >
> > >         if [ -f /sbin/setfiles ]; then
> > >            SF="/usr/setfiles"
> > >
> > > I think "-f /usr/setfiles" was meant here? I suppose `which setfiles` only searches "PATH", and so it wouldnt find /usr/setfiles.
> > > But then, who uses /usr/setfiles?
> >
> > No one AFAIK. So I agree that this does not make sense.  Might have
> > been a broken attempt to support either /sbin/setfiles or
> > /usr/sbin/setfiles as the install location of setfiles, since that did
> > change at some point.
> 
> Or if as you say it was just an attempt to deal with a PATH that omits
> /sbin, then maybe they should both be /sbin/setfiles.

We should probably remove those particular file tests altogether?

If which does not find it then you have a problem that I am not we want to support?

Not to mention that we just dont know the reason for this and what is right or what is wrong?

> 
> >
> > >
> > > >
> > > > >
> > > > > Signed-off-by: Dominick Grift <dominick.grift@defensec.nl>
> > > > > ---
> > > > >  scripts/selinux/install_policy.sh | 6 +++++-
> > > > >  scripts/selinux/mdp/mdp.c         | 1 +
> > > > >  2 files changed, 6 insertions(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/scripts/selinux/install_policy.sh b/scripts/selinux/install_policy.sh
> > > > > index 0b86c47baf7d..334fcf8903d5 100755
> > > > > --- a/scripts/selinux/install_policy.sh
> > > > > +++ b/scripts/selinux/install_policy.sh
> > > > > @@ -20,14 +20,18 @@ CP=`which checkpolicy`
> > > > >  VERS=`$CP -V | awk '{print $1}'`
> > > > >
> > > > >  ./mdp policy.conf file_contexts
> > > > > -$CP -o policy.$VERS policy.conf
> > > > > +$CP -U allow -o policy.$VERS policy.conf
> > > > >
> > > > >  mkdir -p /etc/selinux/dummy/policy
> > > > >  mkdir -p /etc/selinux/dummy/contexts/files
> > > > >
> > > > > +echo "__default__:user_u" > /etc/selinux/dummy/seusers
> > > > > +echo "base_r:base_t" > /etc/selinux/dummy/contexts/failsafe_context
> > > > > +
> > > > >  cp file_contexts /etc/selinux/dummy/contexts/files
> > > > >  cp dbus_contexts /etc/selinux/dummy/contexts
> > > > >  cp policy.$VERS /etc/selinux/dummy/policy
> > > > > +
> > > > >  FC_FILE=/etc/selinux/dummy/contexts/files/file_contexts
> > > > >
> > > > >  if [ ! -d /etc/selinux ]; then
> > > > > diff --git a/scripts/selinux/mdp/mdp.c b/scripts/selinux/mdp/mdp.c
> > > > > index 073fe7537f6c..cf06d5694cbc 100644
> > > > > --- a/scripts/selinux/mdp/mdp.c
> > > > > +++ b/scripts/selinux/mdp/mdp.c
> > > > > @@ -131,6 +131,7 @@ int main(int argc, char *argv[])
> > > > >
> > > > >     fprintf(fout, "fs_use_trans mqueue user_u:base_r:base_t;\n");
> > > > >     fprintf(fout, "fs_use_trans devpts user_u:base_r:base_t;\n");
> > > > > +   fprintf(fout, "fs_use_trans devtmpfs user_u:base_r:base_t;\n");
> > > > >     fprintf(fout, "fs_use_trans hugetlbfs user_u:base_r:base_t;\n");
> > > > >     fprintf(fout, "fs_use_trans tmpfs user_u:base_r:base_t;\n");
> > > > >     fprintf(fout, "fs_use_trans shm user_u:base_r:base_t;\n");
> > > > > --
> > > > > 2.21.0.rc1
> > > > >
> > > >
> > > > --
> > > > Key fingerprint = 5F4D 3CDB D3F8 3652 FBD8 02D5 3B6C 5F1D 2C7B 6B02
> > > > https://sks-keyservers.net/pks/lookup?op=get&search=0x3B6C5F1D2C7B6B02
> > > > Dominick Grift
> > >
> > > --
> > > Key fingerprint = 5F4D 3CDB D3F8 3652 FBD8 02D5 3B6C 5F1D 2C7B 6B02
> > > https://sks-keyservers.net/pks/lookup?op=get&search=0x3B6C5F1D2C7B6B02
> > > Dominick Grift

-- 
Key fingerprint = 5F4D 3CDB D3F8 3652 FBD8 02D5 3B6C 5F1D 2C7B 6B02
https://sks-keyservers.net/pks/lookup?op=get&search=0x3B6C5F1D2C7B6B02
Dominick Grift

  reply	other threads:[~2019-02-20 19:35 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-20 12:33 [PATCH] scripts/selinux: modernize mdp Dominick Grift
2019-02-20 14:09 ` Dominick Grift
2019-02-20 14:47   ` Dominick Grift
2019-02-20 19:21     ` Stephen Smalley
2019-02-20 19:25       ` Stephen Smalley
2019-02-20 19:35         ` Dominick Grift [this message]
2019-02-20 15:19 ` [PATCH v2] " Dominick Grift
2019-02-20 15:34 ` [PATCH v3] " Dominick Grift
2019-02-20 19:34   ` Stephen Smalley
2019-02-20 19:36     ` Dominick Grift
2019-02-20 20:25     ` Dominick Grift
  -- strict thread matches above, loose matches on Subject: below --
2019-02-21 18:42 [PATCH] " Stephen Smalley
2019-02-21 19:34 ` Stephen Smalley
2019-02-21 19:44   ` Dominick Grift
2019-02-21 20:28     ` Stephen Smalley
2019-02-21 20:56       ` Dominick Grift
2019-02-22 15:13         ` Stephen Smalley
2019-02-22 15:35           ` Dominick Grift
2019-02-22 15:46             ` Stephen Smalley
2019-02-21 20:11 ` Dominick Grift
2019-02-21 20:22   ` Stephen Smalley
2019-02-21 20:32     ` Dominick Grift
2019-02-21 20:46     ` Dominick Grift

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190220193505.GA28292@brutus.lan \
    --to=dominick.grift@defensec.nl \
    --cc=selinux@vger.kernel.org \
    --cc=stephen.smalley@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.