Thoughts?

Here are a few thoughts and questions I had after consulting the SE-PostgreSQL documentation.

In SEPG, the contexts for the tables are created by using an extension to the table manipulation statements. For example,

ALTER TABLE drink
        CONTEXT = 'user_u:object_r:sepgsql_secret_table_t';

I propose that we use a similar mechanism for QPid operations. Any time an operation is performed - creating a queue, bind to an exchange, etc - the client app will pass a SELinux context as a named parameter. When QPid calls the ACL module to see if the client is authorized to do the action, the SELinux ACL module will note the context passed as the parameter. If SELinux approves the action, then it will create a record in an internal table with the new object's ID and its security context, for future use. Any objects that are created as persistent will have their context saved to disk.

Some security contexts will need to reside on disk as a bootstrapping mechanism.

In order to ensure the contexts of remote clients, I propose using Labelled IPSec as SEPG does.

Thoughts?

Thanks,
-Josh

--

-----
http://www.globalherald.net/jb01
GlobalHerald.NET, the Smarter Social Network! (tm)

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to