Bug 844448

Summary: munin exim selinux configurations missing
Product: Red Hat Enterprise Linux 6 Reporter: arth <art-rh>
Component: selinux-policyAssignee: Miroslav Grepl <mgrepl>
Status: CLOSED ERRATA QA Contact: Michal Trunecka <mtruneck>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.3CC: drjohnson1, dwalsh, ebenes, ingvar, kevin, mmalik, mtruneck, peter.meier
Target Milestone: rc   
Target Release: 6.5   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: selinux-policy-3.7.19-159.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-21 08:27:20 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description arth 2012-07-30 16:53:17 UTC
Description of problem:

munin-node lacks needed selinux rules for reading exim log files, preventing multiple bundled exim plugins from working.

Version-Release number of selected component (if applicable):

1.4.7-5.el6

How reproducible:

First: The entry in /etc/munin/plugin-conf.d/munin-node for exim uses the wrong group (mail) and does not have the required env variables.  (This is needed to discover the SELinux problem, thus why it's listed at the top here here and not as a separate bug)

This will work for a default setup:

[exim*]
group exim
env.logdir /var/log/exim
env.logname main.log
env.exim /usr/sbin/exim

Main problem:
The selinux rules for exim are missing, making it impossible for the bundled exim_mailstats and exim_mailqueue_alt to work.

If modelling the rules on sendmail_log_t, the rules should be:

allow munin_mail_plugin_t exim_log_t : file { ioctl read getattr lock open } ;
allow munin_mail_plugin_t exim_log_t : dir { getattr search open } ;

To reproduce SELinux problem:

Install exim, set "alternatives --config mta" to exim, and start exim.
Allow port 4949 through the firewall.
Install and configure munin-node.
ln -s /usr/share/munin/plugins/exim_mailstats /etc/munin/plugins/
/etc/init.d/munin-node restart

telnet to the node from a remote allowed host on port 4949:

# telnet myhost 4949
Trying 10.10.10.10...
Connected to myhost.mydomain.invalid (10.10.10.10).
Escape character is '^]'.
# munin node at myhost.mydomain.invalid
fetch exim_mailstats
# Bad exit
.
quit
Connection closed by foreign host.

Expected results:

# telnet myhost 4949
Trying 10.10.10.10...
Connected to myhost.mydomain.invalid (10.10.10.10).
Escape character is '^]'.
# munin node at myhost.mydomain.invalid
fetch exim_mailstats
received.value 216
completed.value 217
rejected.value 0
.
quit
Connection closed by foreign host.

If putting the above rules into place, it works.

This bug is also very hard to track down due to there being no messages logged in /var/log/audit/audit.log, even with "setenforce 0".  (Why?)

Comment 1 Kevin Fenzi 2012-07-30 21:53:01 UTC
Moving to selinux-policy for comment.

Comment 3 Miroslav Grepl 2012-07-31 09:26:14 UTC
I added fixes to Fedora. Will backport.

Comment 4 Miroslav Grepl 2012-08-07 23:36:44 UTC
Fixed in selinux-policy-3.7.19-159.el6

Comment 7 errata-xmlrpc 2013-02-21 08:27:20 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-0314.html