Re: SELinux policy building questions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 11/23/2011 11:45 AM, Dmitry Makovey wrote:
> 
> Hi,
> 
> this year we have decided to adopt SELinux as part of our standard
> platform. However we also build quite a few in-house RPM packages.
> What we're trying to do now is to marry those two efforts, and make
> those packages we build provide SELinux policies. Admittably we're
> using RHEL6 for this purpose. I have already collected some
> information, and it looks like building SELinux modules and
> providing them with the package is the way to go.
> 
> I have started building module from scratch based on what we had to
> do manually to get rid of SELinux warnings (running SELinux in
> permissive mode at the moment):
> 
> $ chcon -R -h -t httpd_sys_content_t -u system_u /usr/libexec/foo*
>  $ chcon -R -t httpd_sys_rw_content_t -u system_u /var/lib/foo $
> setsebool -P httpd_can_network_connect_db on
> 
> which resulted in policy:
> 
> foo.fc:
> 
> /usr/libexec/foo(.*)?
> gen_context(system_u:object_r:httpd_sys_content_t,s0) /var/lib/foo
> gen_context(system_u:object_r:httpd_sys_rw_content_t,s0)
> 
> with foo.if and foo.te pretty much empty.
> 
> What I struggle with are several things:
> 
> 1. can I set up boolean's value from the policy module?
> 
> 2. I had to manually relabel /usr/libexec/foo* and /var/lib/foo via
> "fixfiles" after I added policy via:
> 
> $ semodule -i foo.pp
> 
> Can I create module in a way that upon it's activation it'll
> relabel all needed pieces? (I played with semodule's "-d" and "-e"
> with no effect)
> 
> 3. I have seen several suggestions on how to package and install
> .pp files with RPM:
> 
> http://fedoraproject.org/wiki/PackagingDrafts/SELinux vs 
> http://selinuxproject.org/page/RPM
> 
> latter seems to be more natural at least from logic/syntax
> perspective. Which one is preferred for RHEL6 (I know it's a fedora
> list, but I didn't see/find corresponsing RHEL list and sysadmin@
> ML is kind of low on traffic and answers :( ).
> 
> 
> 
> 
> -- selinux mailing list selinux@xxxxxxxxxxxxxxxxxxxxxxx 
> https://admin.fedoraproject.org/mailman/listinfo/selinux


In stead of adding a local policy module and setting a boolean, I
would do this all in one step.

semanage -S targeted -i - << _EOF
boolean -m --on httpd_can_network_connect_db
fcontext -a -t httpd_sys_content_t '/usr/libexec/foo(.*)?'
fcontext -a -t httpd_sys_rw_content_t '/var/lib/foo(/*)?'
_EOF
restorecon -R -v /usr/libexec/foo /var/lib/foo

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk7T6ioACgkQrlYvE4MpobMCgwCgq24A5jZUP5nvrtkYNYPClDyK
7SsAoNfonFdDliE1NhD5/R5Vu9xPgGOV
=QOmW
-----END PGP SIGNATURE-----
--
selinux mailing list
selinux@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/selinux



[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux