All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Warner <warner@rubix.com>
To: KaiGai Kohei <kaigai@kaigai.gr.jp>
Cc: KaiGai Kohei <kaigai@ak.jp.nec.com>,
	cpebenito@tresys.com, method@manicmethod.com,
	selinux@tycho.nsa.gov, refpolicy@oss.tresys.com
Subject: Re: [RFC] Security policy reworks for SE-PostgreSQL
Date: Tue, 31 Mar 2009 17:11:04 +0200	[thread overview]
Message-ID: <49D23288.2030807@rubix.com> (raw)
In-Reply-To: <49D21FD5.7020600@kaigai.gr.jp>

[-- Attachment #1: Type: text/plain, Size: 3044 bytes --]



KaiGai Kohei wrote:
> Andy Warner wrote:
>   
>> looks good to me.
>>
>> One minor comment. For the superuser permission, this may be common use 
>> of DBMS's but I believe is not a standard SQL feature. RUBIX has no such 
>> concept, so we would generally ignore that permission. Also, it is 
>> unclear to me what abilities the superuser should have (in the general 
>> sense, not necessarily within sepostgresql).
>>     
>
> It is a request from the pgsql-hackers.
>
> In addition, the permission is well symmetrical with root capability
> on operating system.
> In PostgreSQL, database users with superuser privilege are allowed
> various kind of operating, such as ignoring DAC policy, ignoring
> ownership of database objects, installing shared libraries and so on.
> The db_database:{superuser} enables to control these capabilities.
>
>   
Sounds like our DBA role. Basically, its just a different name. I agree
that the superuser is a common concept in OS's, but note that its use is
often discouraged. I'm note sure introducing it for databases is a great
idea. But, as I said before, we would just ignore it as primarily its
there to satisfy postgresql.
>> Is this just a permission 
>> to override SQL DAC, or does it also give administrative abilities like 
>> setting audit configurations, or "all the above." I think you said 
>> before that it would not allow MAC override, correct?
>>     
>
> SELinux does not allow anyone to override MAC.
> The unconfined domain is allowed anything in the result of access controls.
>   
I am referring to things like:

mlsconstrain { db_tuple } { use select }
(( l1 dom l2 ) or
(( t1 == mlsdbreadtoclr ) and ( h1 dom l2 )) or
( t1 == mlsdbread ) or
( t2 == mlstrustedobject ));

where t1 == mlsdbread seems to imply an object is trusted to read
strictly dominating objects. Unless I am missing the meaning here, I
would call this a MAC override. I realize there is no concept of a TE
override, but MLS is part of MAC, no? And, this violates B&L rules. This
is something we would control with a Security Administrator "role". Or,
is this mlsdbread something that is impossible to give to a domain in a
DBMS policy?
>   
>> RUBIX currently has four privileged "roles":
>> Database Administrator: DAC override
>> Security Administrator: MAC override, to some degree. With SELinux much 
>> of this can be done with discrete rules.
>> Audit Administrator: administer audit trail and criteria
>> Database Operator: do the normal day-today administrative DBMS tasks, 
>> like backup.
>>
>> I am curious, if the intended use of the db_database superuser 
>> permission would be an encapsulation of our all of our roles, excluding 
>> the Security Administrator.
>>     
>
> My preference is to adopt common design *as far as possible*.
> If you need finer-grained privileges, please propose it as a characteristic
> part for Trusted RUBIX, as if we did on db_catalog class.
> Anyway, I cannot believe the pgsql-hackers accepts its design changes due
> to the RUBIX's design.
>   
> Thanks,
>   

[-- Attachment #2: Type: text/html, Size: 3981 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: warner@rubix.com (Andy Warner)
To: refpolicy@oss.tresys.com
Subject: [refpolicy] [RFC] Security policy reworks for SE-PostgreSQL
Date: Tue, 31 Mar 2009 17:11:04 +0200	[thread overview]
Message-ID: <49D23288.2030807@rubix.com> (raw)
In-Reply-To: <49D21FD5.7020600@kaigai.gr.jp>



KaiGai Kohei wrote:
> Andy Warner wrote:
>   
>> looks good to me.
>>
>> One minor comment. For the superuser permission, this may be common use 
>> of DBMS's but I believe is not a standard SQL feature. RUBIX has no such 
>> concept, so we would generally ignore that permission. Also, it is 
>> unclear to me what abilities the superuser should have (in the general 
>> sense, not necessarily within sepostgresql).
>>     
>
> It is a request from the pgsql-hackers.
>
> In addition, the permission is well symmetrical with root capability
> on operating system.
> In PostgreSQL, database users with superuser privilege are allowed
> various kind of operating, such as ignoring DAC policy, ignoring
> ownership of database objects, installing shared libraries and so on.
> The db_database:{superuser} enables to control these capabilities.
>
>   
Sounds like our DBA role. Basically, its just a different name. I agree
that the superuser is a common concept in OS's, but note that its use is
often discouraged. I'm note sure introducing it for databases is a great
idea. But, as I said before, we would just ignore it as primarily its
there to satisfy postgresql.
>> Is this just a permission 
>> to override SQL DAC, or does it also give administrative abilities like 
>> setting audit configurations, or "all the above." I think you said 
>> before that it would not allow MAC override, correct?
>>     
>
> SELinux does not allow anyone to override MAC.
> The unconfined domain is allowed anything in the result of access controls.
>   
I am referring to things like:

mlsconstrain { db_tuple } { use select }
(( l1 dom l2 ) or
(( t1 == mlsdbreadtoclr ) and ( h1 dom l2 )) or
( t1 == mlsdbread ) or
( t2 == mlstrustedobject ));

where t1 == mlsdbread seems to imply an object is trusted to read
strictly dominating objects. Unless I am missing the meaning here, I
would call this a MAC override. I realize there is no concept of a TE
override, but MLS is part of MAC, no? And, this violates B&L rules. This
is something we would control with a Security Administrator "role". Or,
is this mlsdbread something that is impossible to give to a domain in a
DBMS policy?
>   
>> RUBIX currently has four privileged "roles":
>> Database Administrator: DAC override
>> Security Administrator: MAC override, to some degree. With SELinux much 
>> of this can be done with discrete rules.
>> Audit Administrator: administer audit trail and criteria
>> Database Operator: do the normal day-today administrative DBMS tasks, 
>> like backup.
>>
>> I am curious, if the intended use of the db_database superuser 
>> permission would be an encapsulation of our all of our roles, excluding 
>> the Security Administrator.
>>     
>
> My preference is to adopt common design *as far as possible*.
> If you need finer-grained privileges, please propose it as a characteristic
> part for Trusted RUBIX, as if we did on db_catalog class.
> Anyway, I cannot believe the pgsql-hackers accepts its design changes due
> to the RUBIX's design.
>   
> Thanks,
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://oss.tresys.com/pipermail/refpolicy/attachments/20090331/25855cfc/attachment.html 

  reply	other threads:[~2009-03-31 15:13 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-31  8:55 [RFC] Security policy reworks for SE-PostgreSQL KaiGai Kohei
2009-03-31  8:55 ` [refpolicy] " KaiGai Kohei
2009-03-31 10:05 ` Andy Warner
2009-03-31 10:05   ` [refpolicy] " Andy Warner
2009-03-31 13:51   ` KaiGai Kohei
2009-03-31 13:51     ` [refpolicy] " KaiGai Kohei
2009-03-31 15:11     ` Andy Warner [this message]
2009-03-31 15:11       ` Andy Warner
2009-03-31 20:34       ` KaiGai Kohei
2009-03-31 20:34         ` [refpolicy] " KaiGai Kohei
2009-03-31 20:39         ` Andy Warner
2009-03-31 20:39           ` [refpolicy] " Andy Warner
2009-03-31 20:46           ` Joshua Brindle
2009-03-31 21:08             ` Andy Warner
2009-03-31 21:08               ` [refpolicy] " Andy Warner
2009-04-01 17:05               ` Joshua Brindle
2009-04-01  0:30 ` KaiGai Kohei
2009-04-01  0:30   ` [refpolicy] " KaiGai Kohei
2009-04-02  8:15 ` KaiGai Kohei
2009-04-02  8:15   ` KaiGai Kohei
2009-04-02 14:27   ` Joshua Brindle
2009-04-02 15:09     ` Christopher J. PeBenito
2009-04-02 15:09       ` Christopher J. PeBenito
2009-04-03  1:17       ` KaiGai Kohei
2009-04-03  1:17         ` KaiGai Kohei
2009-04-03 18:12         ` Joshua Brindle
2009-04-05  0:52           ` KaiGai Kohei
2009-04-05  0:52             ` KaiGai Kohei
2009-04-06  2:15         ` KaiGai Kohei
2009-04-06  2:15           ` KaiGai Kohei
2009-04-06 18:48           ` SELinux packages version (svn2950) Hasan Rezaul-CHR010
2009-04-06 19:18             ` Joshua Brindle
2009-04-06 19:48               ` Hasan Rezaul-CHR010
2009-04-06 20:14                 ` Joshua Brindle
2009-04-06 20:30               ` Hasan Rezaul-CHR010
2009-04-06 20:37                 ` Joshua Brindle
2009-04-12 23:45           ` [refpolicy] [RFC] Security policy reworks for SE-PostgreSQL KaiGai Kohei
2009-04-12 23:45             ` KaiGai Kohei
2009-04-20 20:07           ` Christopher J. PeBenito
2009-04-20 20:07             ` Christopher J. PeBenito
2009-04-20 23:27             ` KaiGai Kohei
2009-04-20 23:27               ` KaiGai Kohei
2009-05-07 12:24               ` Christopher J. PeBenito
2009-05-07 12:24                 ` Christopher J. PeBenito
2009-05-08  3:56                 ` KaiGai Kohei
2009-05-08  3:56                   ` KaiGai Kohei
2009-05-08  4:05                   ` KaiGai Kohei
2009-05-08  4:05                     ` KaiGai Kohei
2009-05-21 11:49                     ` Christopher J. PeBenito
2009-05-21 11:49                       ` Christopher J. PeBenito
2009-05-08  4:12                   ` KaiGai Kohei
2009-05-08  4:12                     ` KaiGai Kohei
2009-05-22 13:38                     ` Christopher J. PeBenito
2009-05-22 13:38                       ` Christopher J. PeBenito
2009-05-21 11:28                   ` Christopher J. PeBenito
2009-05-21 11:28                     ` Christopher J. PeBenito
2009-04-21  2:51             ` KaiGai Kohei
2009-04-21  2:51               ` KaiGai Kohei
2009-05-07 13:08               ` Christopher J. PeBenito
2009-05-07 13:08                 ` Christopher J. PeBenito
2009-04-03  0:25     ` KaiGai Kohei
2009-04-03  0:25       ` 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=49D23288.2030807@rubix.com \
    --to=warner@rubix.com \
    --cc=cpebenito@tresys.com \
    --cc=kaigai@ak.jp.nec.com \
    --cc=kaigai@kaigai.gr.jp \
    --cc=method@manicmethod.com \
    --cc=refpolicy@oss.tresys.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.