-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 01/03/2013 09:38 AM, Charles Bradshaw wrote:
> I am configuring sendmail authentication using cyrus-sasl on a Fedora 17
> server. The server, when it goes live, will essentially run Apache and mail
> for a number of domains. I intend that selinux will run 'enforcing' with
> 'targeted' policy.
>
> I have installed cyrus-sasl and initially test it as follows: Modify
> /etc/sysconfig/saslauthd MECH=pam -> MECH=shadow
>
> [root@..]# systemctl restart saslauthd.service [root@..]# make reload
> [root@..]# setenforce 0 [root@..]# testsaslauthd -u foo -p foospwd 0: OK
> "Success."
>
> OK saslauthd works, but I get selinux alerts, so:
>
> [root@..]# grep saslauthd /var/log/audit/audit.log | audit2allow -M
> saslpol [root@..]# cat saslpol.te module saslpol 1.0 require {sasl_auth_t;
> class capability { sys_nice dac_read_search dac_override }; class process
> setsched; } allow saslauthd_t self capability { sys_nice dac_override
> dac_read_search }; allow saslauthd_t self process { setsched }
>
> Which looks fine to my un-educated eyes. Before I semodule -i saslpol.pp,
> and taking seriously Bill McCarthys "evil" warning in his discussion of the
> use of audit2allow in the O'Reilly book.
>
> I need to know what I'm doing, right?
>
> Fundamentally I'm going to allow the process saslauthd access to
> /etc/shadow, which by definition is a potential security hole!
>
> The following questions arise:
>
> 0 - I suppose the first question is: Should I be using some other
> authentication mechanism rather than shadow for saslauth? Historically
> I've avoided PAM, allowing only SSH server login using certificates.
> Therefore avoiding the PAM learning curve.
>
> 1 - Given that, in the short term, I am getting too old to fully
> understand the subtle depths and complexities of selinux! How far should I
> trust the resulting above saslpol.te?
>
> 2 - Is it possible to determine what other actions sys_nice,
> dac_read_search, dac_override get allowed for saslauthd?
>
> 3 - Should I test my saslpol is the minimum required? By for example, by
> including each capability targets one at a time and in combination, and
> testing the results at each step?
>
> I hope that's not too many questions in one post. Thanks in advance,
> Charles Bradshaw
>
> -- selinux mailing list selinux@xxxxxxxxxxxxxxxxxxxxxxx
> https://admin.fedoraproject.org/mailman/listinfo/selinux
>
Have you tried the saslauthd_read_shadow boolean?
sesearch -A -C | grep saslauthd_read
DT allow saslauthd_t shadow_t : file { ioctl read getattr lock open } ; [
saslauthd_read_shadow ]
DT allow saslauthd_t etc_t : dir { ioctl read getattr lock search open } ; [
saslauthd_read_shadow ]
DT allow saslauthd_t saslauthd_t : capability dac_override ; [
saslauthd_read_shadow ]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/
iEYEARECAAYFAlDlqtQACgkQrlYvE4MpobOUmACgnDdlu1aL0ERd3E9SyczoArI9
wFsAoJsofgUm7kKsCiwH4TaEWs7pdAgf
=CTe0
-----END PGP SIGNATURE-----
--
selinux mailing list
selinux@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/selinux