From: KaiGai Kohei <kaigai@kaigai.gr.jp>
To: "Christopher J. PeBenito" <cpebenito@tresys.com>
Cc: Kohei KaiGai <kaigai@ak.jp.nec.com>, selinux@tycho.nsa.gov
Subject: Re: [PATCH] SE-PostgreSQL Security Policy
Date: Sun, 09 Mar 2008 23:24:59 +0900 [thread overview]
Message-ID: <47D3F33B.5010209@kaigai.gr.jp> (raw)
In-Reply-To: <1204922912.20251.58.camel@gorn.columbia.tresys.com>
Christopher J. PeBenito wrote:
> On Fri, 2008-03-07 at 10:52 +0900, Kohei KaiGai wrote:
>> Christopher J. PeBenito wrote:
>>> On Wed, 2008-02-27 at 17:00 +0900, Kohei KaiGai wrote:
>>>> The attached patch provides security policies related to
>>>> SE-PostgreSQL.
> [...]
>>>> +typeattribute unlabeled_t sepgsql_database_type;
>>>> +typeattribute unlabeled_t sepgsql_table_type;
>>>> +typeattribute unlabeled_t sepgsql_procedure_type;
>>>> +typeattribute unlabeled_t sepgsql_blob_type;
>>> Usage of unlabeled_t here is not permitted.
>> Is it appropriate manner to deploy optional_policy at kernel/kernel.te?
>
> Why is this needed at all?
Database objects have persistent security context, as filesystem doing.
If their security contexts are invalidated by policy reloading etc, it is
necessary them to be relabeled.
Above rules enables administrative domains to access and relabel these objects
in this case.
>>>> +########################################
>>>> +#
>>>> +# SE-PostgreSQL Administrative domain local policy
>>>> +# (sepgsql_unconfined_type)
>>>> +
>>>> +tunable_policy(`sepgsql_enable_unconfined',`
>>>> + allow sepgsql_unconfined_type sepgsql_database_type : db_database *;
>>>> + allow sepgsql_unconfined_type sepgsql_module_type : db_database { install_module };
>>>> + allow sepgsql_unconfined_type sepgsql_table_type : { db_table db_column db_tuple } *;
>>>> + allow sepgsql_unconfined_type { sepgsql_procedure_type - sepgsql_user_proc_t } : db_procedure *;
>>>> + allow sepgsql_unconfined_type sepgsql_user_proc_t : db_procedure { create drop getattr setattr relabelfrom relabelto };
>>>> + allow sepgsql_unconfined_type sepgsql_blob_type : db_blob *;
>>>> + allow sepgsql_unconfined_type postgresql_t : db_blob { import export };
>>>> +
>>>> + type_transition { sepgsql_unconfined_type - sepgsql_server_type } sepgsql_database_type : db_procedure sepgsql_proc_t;
>>>> +',`
>>>> + type_transition { sepgsql_unconfined_type - sepgsql_server_type } sepgsql_database_type : db_procedure sepgsql_user_proc_t;
>>>> +')
>>> Why is this tunable? Why is there a different type_transition behavior?
>> I intend that users can turn off this tunable during its operation phase
>> after initial database setting up, to prevent applying unconfined accesses.
>>
>> When sepgsql_enable_unconfined is disabled, sepgsql_unconfined_type works
>> as if they are sepgsql_client_type, because sepgsql_unconfined_domain() interface
>> associates a domain with sepgsql_(unconfined|client)_type.
>
> The problem is that this is inconsistent with the way other
> *_unconfined() access works.
However, this feature to disclaim widespread permissions is worthwhile in database
management system, because it is less frequently required in operation phase different
from construction phase.
So, I think the default security policy should provide a way to restrict permissions
for administrative domain.
If you concerned about its name is confusable with other *_unconfined() interfaces,
`sepgsql_enable_unconfined' can be renamed to `sepgsql_enable_administrative' and
ditto for the name of interface.
In the latest my patch, newly created tables are labeled as sepgsql_FOO_table_t
when client does not belong to administrative domains. Because unconfined_t loses
the grounds of its widespread permission when the boolean is disabled, it works as
a generic domain. It also includes behavior changing in type_transition for tables.
Thanks,
--
KaiGai Kohei <kaigai@kaigai.gr.jp>
--
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:[~2008-03-09 14:25 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-13 9:29 [PATCH] SE-PostgreSQL Security Policy Kohei KaiGai
2008-02-25 16:30 ` Christopher J. PeBenito
2008-02-26 3:07 ` Kohei KaiGai
2008-02-27 8:00 ` Kohei KaiGai
2008-03-04 15:16 ` KaiGai Kohei
2008-03-06 15:27 ` Christopher J. PeBenito
2008-03-06 18:51 ` Joshua Brindle
2008-03-07 2:20 ` Kohei KaiGai
2008-03-07 16:16 ` Joshua Brindle
2008-03-08 1:33 ` KaiGai Kohei
2008-03-07 1:52 ` Kohei KaiGai
2008-03-07 9:32 ` Kohei KaiGai
2008-03-07 20:48 ` Christopher J. PeBenito
2008-03-09 14:24 ` KaiGai Kohei [this message]
2008-03-11 12:57 ` Christopher J. PeBenito
2008-03-11 16:57 ` KaiGai Kohei
2008-03-12 8:42 ` Kohei KaiGai
2008-03-17 9:31 ` [PATCH] SE-PostgreSQL Security Policy (try #3) Kohei KaiGai
2008-03-19 14:45 ` Christopher J. PeBenito
2008-03-21 4:32 ` KaiGai Kohei
2008-03-21 5:11 ` KaiGai Kohei
2008-03-24 18:44 ` Christopher J. PeBenito
2008-03-25 10:35 ` KaiGai Kohei
2008-03-25 13:24 ` Christopher J. PeBenito
2008-03-27 9:52 ` KaiGai Kohei
2008-03-27 13:23 ` Christopher J. PeBenito
2008-03-28 4:50 ` KaiGai Kohei
2008-05-05 13:48 ` Christopher J. PeBenito
2008-05-12 2:31 ` KaiGai Kohei
2008-05-12 14:33 ` KaiGai Kohei
[not found] ` <1210615044.11188.17.camel@gorn>
2008-05-13 2:39 ` KaiGai Kohei
2008-03-10 7:52 ` [PATCH] SE-PostgreSQL Security Policy Kohei KaiGai
2008-03-11 12:30 ` Christopher J. PeBenito
2008-03-11 13:03 ` KaiGai Kohei
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=47D3F33B.5010209@kaigai.gr.jp \
--to=kaigai@kaigai.gr.jp \
--cc=cpebenito@tresys.com \
--cc=kaigai@ak.jp.nec.com \
--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.