>> * Can we use error messages that looks like existing privilege errors?
>>    ERRCODE_INSUFFICIENT_PRIVILEGE:
>>      => permission denied to rename database
> 
> Here is a point that we should provide users a hint which enables
> to make clear the reason of access violations. So, I think we should
> contains a mark to show it come from SE-PgSQL.
> 
> Currently, it raises an error on access violation in sepgsql_compute_perms().
> It always prints out "SELinux: security policy violation".

It is just for your information.

SELinux allows end-users to confirm what accesses are violated using audit logs.
In operating system, it is written on the /var/log/audit/audit.log.

See the result of:
  % grep ^type=AVC /var/log/audit/audit.log
            :
  type=AVC msg=audit(1258412043.107:81): avc:  denied  { search } for  pid=1750 
comm="httpd" name="root" dev=sda5 ino=1062881 
scontext=system_u:system_r:httpd_t:s0 
tcontext=system_u:object_r:admin_home_t:s0 tclass=dir
            :

In SE-PgSQL, it writes out detailed information about access violations
on log files. Then, it can be used to revise security policy.

For example:
  postgres=# UPDATE t1 SET a = 1;
  ERROR:  SELinux: security policy violation

It shall be logged as follows:
  LOG:  SELinux: denied { update } 
scontext=unconfined_u:unconfined_r:sepgsql_test_t:Unclassified 
tcontext=system_u:object_r:sepgsql_ro_table_t:Classified tclass=db_table name=t1
  STATEMENT:  UPDATE t1 SET a = 1;
  ERROR:  SELinux: security policy violation
  STATEMENT:  UPDATE t1 SET a = 1;

We can also provide these logs to analyzer programs to pop-up a hint for
trouble-shooting (setroubleshoot), to generate policy module automatically
from access violation logs (audit2allow), and so on.

Thanks,
-- 
OSS Platform Development Division, NEC
KaiGai Kohei <kai...@ak.jp.nec.com>

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to