All of lore.kernel.org
 help / color / mirror / Atom feed
From: Karl MacMillan <kmacmillan@mentalrootkit.com>
To: "Christopher J. PeBenito" <cpebenito@tresys.com>
Cc: Stephen Smalley <sds@tycho.nsa.gov>,
	Ronan Waide <waider@amazon.com>, SE Linux <selinux@tycho.nsa.gov>
Subject: Re: creating a new role/user to administer a service
Date: Fri, 05 Jan 2007 11:56:03 -0500	[thread overview]
Message-ID: <459E8323.8070808@mentalrootkit.com> (raw)
In-Reply-To: <1168015689.9285.45.camel@sgc.columbia.tresys.com>

Christopher J. PeBenito wrote:
> On Fri, 2007-01-05 at 10:55 -0500, Karl MacMillan wrote:
>> Stephen Smalley wrote:
>>> On Thu, 2007-01-04 at 10:55 +0000, Ronan Waide wrote:
>>>> Hi,
>>>>
>>>> I've been digging through SELinux by example, the list archives, Dan
>>>> Walsh's livejournal, and the Fedora strict policy source, but I'm still
>>>> a bit stumped on how to get this working:
>>>>
>>>> I'd like to create an administrative role/user for BIND. specifically, I
>>>> do not, if possible, want to use something like sysadm_r; I would rather
>>>> that otherwise unprivileged users are either designated as bindadm_u
>>>> from login, or newrole into bindadm_r in order to manage the daemon. The
>>>> former is preferable, as I was hoping to make use of ssh keys to enable
>>>> remote management without multiple password entry.
>>>>
>>>> After several false starts I thought I had something with the following
>>>> (requires trimmed):
>>>>
>>>> ------
>>>> type bindadm_t;
>>>> role bindadm_r types { bindadm_t };
>>>> gen_user( bindadm_u, staff, bindadm_r, s0, s0 - s15:c0.c1023, c0.c1024
>>>> );
>>>>
>>>> semanage login -a -s bindadm_u -r bindadm_r waider
>>>> ------
>>>>
>>>> I began tracking the AVC violations that logging in with this account
>>>> caused, and got as far as being able to get a shell prompt with the
>>>> context bindadm_u:bindadm_r:user_t. At this point I tried getting
>>>> newrole -t bindadm_t to work, but couldn't get past the password check
>>>> requirement (allow bindadm_r chkpasswd_exec_t) since nothing I did
>>>> seemed to resolve the violation.
>>>>
>>>> At this point I am, as I said, stumped. I feel like I'm missing
>>>> something obvious, but after several weeks of reading I'm still no
>>>> closer to the answer. Perhaps someone could shed some light on this, or
>>>> perhaps point me at a suitable role/user-addition document?
>>> At present, I think you need to obtain and modify full policy sources
>>> (from the selinux-policy .src.rpm or the upstream refpolicy tar ball) to
>>> introduce completely new user roles - it is too pervasive of a change to
>>> easily do in a loadable module. Look at
>>> policy/modules/system/userdomain.te and policy/rolemap to see how
>>> current roles are defined.
>>>
>>> Chris (cc'd) has been working on a role infrastructure branch that will
>>> improve the situation, but that isn't mainstream yet afaik. 
>>>
>> And some tools to automate this process with is on my todo list for Madison.
>>
>> I'd like to see this in the FC7 time frame (or F7 I guess since Core is 
>> no more), but we are going to run out of time quickly. Chris - when are 
>> you planning to move the role infrastructure work to mainline? Will it 
>> allow the creation of modules that create new roles without full 
>> sources? That is, in my opinion, a requirement for useful deployment.
> 
> The backend has been merged for a while.  You should be able to do
> something like:
> 
> policy_module(binadm,1.0.0)
> 
> userdom_unpriv_user_template(myuser)
> gen_user(myuser_u,myuser,myuser_r,s0,s0 - mls_systemhigh,mcs_systemhigh)
> 

Great! Couple of questions / suggestions:

1) Can I do this with targeted? I'd like to start giving people a means 
of confining users on targeted.

2) What kind of customizations are available at this point. For example, 
I'd like to customize what applications a user can run (i.e., they can 
only log into an ssh terminal and use basic command line tools).

3) How would tool customizations work - I saw the info about the tags, 
but can you give me a broad overview of how you think this should work?

4) I'd really like to see a minimally confined user role for targeted. 
This would be a role / domain with very broad privileges that the user 
would run all applications in. It would _not_ have access to the trusted 
base (e.g., no access to the kernel image, kernel modules, the policy, 
etc.) so that it could not bypass the policy or effect the basic 
integrity of the system. Ideally, access could be moved into separate 
domains from that broad starting point as desired (e.g., removing 
networking access and run firefox in a confined domain).

Thanks - Karl

--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.

      reply	other threads:[~2007-01-05 16:56 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-04 10:55 creating a new role/user to administer a service Ronan Waide
2007-01-05 15:26 ` Stephen Smalley
2007-01-05 15:55   ` Karl MacMillan
2007-01-05 16:48     ` Christopher J. PeBenito
2007-01-05 16:56       ` Karl MacMillan [this message]

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=459E8323.8070808@mentalrootkit.com \
    --to=kmacmillan@mentalrootkit.com \
    --cc=cpebenito@tresys.com \
    --cc=sds@tycho.nsa.gov \
    --cc=selinux@tycho.nsa.gov \
    --cc=waider@amazon.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.