From: Joshua Brindle <method@manicmethod.com>
To: Kohei KaiGai <kaigai@kaigai.gr.jp>
Cc: KaiGai Kohei <kaigai@ak.jp.nec.com>,
SE Linux <selinux@tycho.nsa.gov>,
Stephen Smalley <sds@tycho.nsa.gov>
Subject: Re: sepgsql and process transition
Date: Tue, 30 Aug 2011 19:16:50 -0400 [thread overview]
Message-ID: <4E5D6F62.40900@manicmethod.com> (raw)
In-Reply-To: <CADyhKSVBhXHsfyXVkWZxuJqAZ9-QgPjfhPZOdGyfBEEGb-iVbA@mail.gmail.com>
Kohei KaiGai wrote:
> The reason why we check process:{transition} permission on invocation
> of trusted procedures is an analogy to execution of program with
> domain transition.
Analogy, sure, but not a process and not a domain.
>
> In the case of domain transition, it checks process:{transition}
> permission on a pair of source and target domain, and it also checks
> file:{entrypoint execute} permission on the security label of the file
> to be launched.
>
> Let's replace the file by a database object.
That is the crux. A database object isn't a file and a stored procedure
isn't a process. We've abused kernel object classes before but as far as
I'm concerned we need to stop.
> When a trusted procedure is invoked, it checks process:{transition}
> permission on a pair of source and target *domain*. Please note that
> "sepgsql_trusted_proc_t" is a domain, not an object within
> db_procedure class.
It is a different class then, db_process, db_domain, whatever.
> And, it also checks db_procedure:{entrypoint execute} permission on
> the security label of the procedure to be launched.
>
> Also note that sepgsql_trusted_proc_exec_t is a label to be assigned
> on db_procedure class; as an entrypoint of trusted procedure.
Yes, so db_procedure is more like file, we need a database object class
that is more like process.
>
>
> 2011/8/30 Joshua Brindle<method@manicmethod.com>:
>> Kaigai, I'm taking a look at the latest Postgresql master and I see that you
>> are using process:transition permission to check access to transition from
>> one type to another for trusted procedures.
>>
>> Why didn't you add a transition permission to db_procedure? We are trying
>> not to reuse kernel object classes for userspace object managers these days
>> (I know we haven't been great about that in the past). I know this situation
>> is a little tricky because the beginning type is a process type (domain) and
>> the ending type is a procedure type, which closely maps to a domain type.
>>
>> The beginning type may not always be a domain type though, if a procedure
>> calls another procedure, or if postgres user session types become derived
>> types (user_t -> sepgsql_user_t) we could completely divorce process types
>> from postgres types.
>>
>> Stephen, do you have an opinion on this?
>>
>
>
>
--
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.
next prev parent reply other threads:[~2011-08-30 23:16 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-30 18:36 sepgsql and process transition Joshua Brindle
2011-08-30 20:48 ` Kohei KaiGai
2011-08-30 23:16 ` Joshua Brindle [this message]
2011-08-31 20:02 ` Joshua Brindle
2011-08-31 20:33 ` Kohei KaiGai
2011-09-01 9:33 ` Kohei Kaigai
2011-09-01 14:39 ` Joshua Brindle
2011-09-01 15:51 ` Kohei Kaigai
2011-09-01 18:36 ` Joshua Brindle
2011-09-01 19:13 ` Joshua Brindle
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=4E5D6F62.40900@manicmethod.com \
--to=method@manicmethod.com \
--cc=kaigai@ak.jp.nec.com \
--cc=kaigai@kaigai.gr.jp \
--cc=sds@tycho.nsa.gov \
--cc=selinux@tycho.nsa.gov \
/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.