Re: [Nagios-users] RHEL4 selinux and nagios

2007-03-27 Thread Onotsky, Steve x55328
Our current Nagios install (2.0b2) is running on an RHEL3 box.  I'm setting
up a new instance (2.8) on RHEL4; I set SELinux to Warn at install time,
so that we don't get confused trying to figure out why things aren't working
(we haven't had much need for SE before, but are starting to look at it
now).

 

On a somewhat-related note, if anyone is installing RHEL4 into a VM under
VMware ESX 2.5, you've likely encountered the issue where the guest OS clock
lags behind real time, even with ntp and VM guest clock sync set up.  The
fix, as I've discovered, is to update ESX to v2.5.4 build 36502 (three patch
bundles from a stock 2.5.0 install).  Apparently the issue doesn't affect
ESX 3.0+, but we haven't tested - waiting for FY08 to start so we can start
spending the budget and upgrade.  :-)

 

Just thought I'd share...

 

 

Steve Onotsky

Server Support Technologist

ADP Investor Communications

5970 Chedworth Way

Mississauga  ON  L5R 4G5

Tel: (905) 507-5328

Fax: (905) 507-5312

Inet:  mailto:[EMAIL PROTECTED] [EMAIL PROTECTED]

 

Duc, sequere, aut de via decede.

  _  

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: March 27, 2007 12:53
To: nagios-users@lists.sourceforge.net
Subject: [Nagios-users] RHEL4 selinux and nagios

 

Anybody go through the rigamarole of setting up nagios on a RHEL4 box
running targeted selinux?  I don't want to disable selinux just to get
nagios up and running.  If you have notes, suggestions, links, etc...please
post them or email me.  Thanks! 

_
This message and any attachments are intended only for the use of the addressee 
and
may contain information that is privileged and confidential. If the reader of 
the 
message is not the intended recipient or an authorized representative of the
intended recipient, you are hereby notified that any dissemination of this
communication is strictly prohibited. If you have received this communication in
error, please notify us immediately by e-mail and delete the message and any
attachments from your system.
-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___
Nagios-users mailing list
Nagios-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting 
any issue. 
::: Messages without supporting info will risk being sent to /dev/null

Re: [Nagios-users] RHEL4 selinux and nagios

2007-03-27 Thread Sam Hooker
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


SELinux is a beast, but I think it's a worthwhile thing to understand,
so I applaud your desire to make it work for you. Once you start
wrapping your brain around it, it gets easier, although I'm sure we've
only scratched the surface at my shop. My biggest complaint about the
SELinux implementation in RHEL4 is just that the
selinux-policy-targeted-sources RPM isn't included in the standard
rollout, and that can lead to a lot of head-scratching. (I know I want
to change these policies, but can't figure out what to change...)

So, I don't know if some of these items have been discussed on this list
already, but here are some of our generic
Nagios-on-CentOS4-with-SELinux-enabled notes. I also disclaim any
liability for these changes having unintended consequences in your
security context (which I don't know anything about), so Caveat
lector. Also, note that some aspects of these two issues may have been
corrected by the packagers (our Nagios installs on CentOS4/RHEL4 come
from Dag Wieers' package repositories):


1) Enabling the Web Interface

Using the nagios packages from Dag Wieers, there are a couple of tasks
that need to be completed in order to make the nagios web interface
function:

* if it is not already installed, the
selinux-policy-targeted-sources RPM must be installed in order
to allow editing of Selinux policy.
* edit the /etc/selinux/targeted/src/policy/policy.conf file and
jump to the section marked line 172. Add the following
entries:

 #line 172
 allow httpd_sys_script_t var_log_t:dir search;
 allow httpd_sys_script_t var_log_t:file { getattr read };
 allow httpd_sys_script_t var_log_t:file read;
 allow httpd_sys_script_t var_log_t:fifo_file getattr;
 allow httpd_sys_script_t var_log_t:fifo_file { getattr write };

* change the context of the /usr/lib/nagios/cgi directory to
system_u:object_r:httpd_sys_script_exec_t

 chcon -R system_u:object_r:httpd_sys_script_exec_t /usr/lib/nagios/cgi


2) Nagios Hangs When Launched By Init

(Most of this answer was found at
http://article.gmane.org/gmane.network.nagios.user/34668, but successful
implementation required some of our own research.)

The nagios init script as provided by Dag Wieers uses 'su -l ...' to
touch a few crucial files on launch. Unfortunately, this apparently
leaves room for ambiguity where SELinux is concerned, and the SELinux
subsystem consequently needs clarification. If you're running the init
script from the command-line, it will ask, interactively:

 [EMAIL PROTECTED] ~]# service nagios start
 Starting network monitor: nagios
 Your default context is user_u:system_r:unconfined_t.

 Do you want to choose a different one? [n]

Answering this with a simple [ENTER] allows nagios to start correctly.
An unattended boot, however, leaves no room for this method of
interaction. What you'll see in these cases (apart from a Nagios server
that's not emitting any check results) is 'ps -few | grep nagios'
returning a hung initlog process, and possibly something like this:

 root 27790 27787  0 12:32 pts/200:00:00 su -l nagios -c touch
/var/log/nagios/nagios.log /var/log/nagios/status.sav

The Fix

* back up the original file and make sure your backup matches the
original's SELinux context:

 [EMAIL PROTECTED] init.d]# cd /etc/init.d/
 [EMAIL PROTECTED] init.d]# ls -alZ *nagios*
 -rwxrwxr--  root root system_u:object_r:initrc_exec_t  nagios
 [EMAIL PROTECTED] init.d]# cp -a nagios ORIG.nagios
 [EMAIL PROTECTED] init.d]# chcon -u system_u -r object_r -t initrc_exec_t\
ORIG.nagios
 [EMAIL PROTECTED] init.d]# ls -alZ *nagios*
 -rwxrwxr--  root root system_u:object_r:initrc_exec_t  nagios
 -rwxrwxr--  root root system_u:object_r:initrc_exec_t \
ORIG.nagios

* edit the nagios file to replace this line:

 su -l $Nagios -c touch $NagiosVar/nagios.log $NagiosSav

with this one:

 /usr/bin/sudo -u $Nagios /bin/touch $NagiosVar/nagios.log $NagiosSav


That's all we've run into, thusfar. If you have specific questions
beyond these, I'd be happy to take a pass at them. Good luck!

Cheers,

- -sth

sam hooker|[EMAIL PROTECTED]|http://www.noiseplant.com

tail -f /var/llog/llama

 Message: 2
 Date: Tue, 27 Mar 2007 13:02:38 -0400
 From: Onotsky, Steve x55328 [EMAIL PROTECTED]
 Subject: Re: [Nagios-users] RHEL4 selinux and nagios
 To: s cinux [EMAIL PROTECTED],nagios-users@lists.sourceforge.net
 Message-ID:
   [EMAIL PROTECTED]
 Content-Type: text/plain; charset=windows-1252

 Our current Nagios install (2.0b2) is running on an RHEL3 box.  I'm
setting
 up a new instance (2.8) on RHEL4; I set SELinux to Warn at install time,
 so that we don't get confused trying to figure out why things aren't
working
 (we haven't had much need for SE before, but are starting to look at it
 now).



 On a somewhat-related note, if anyone is installing RHEL4 into a VM under
 VMware ESX 2.5, you've likely

Re: [Nagios-users] RHEL4 selinux and nagios

2007-03-27 Thread Rachel Beittenmiller
 
I took a slightly different approach to get SELinux in RHEL4 to work
with Nagios.  We're predominately a Windows shop and the majority of our
system admins has no *nix experience at all, so I was looking for a way
to get them to play nice together without modifying the policy source.
What I ended up doing after beating my head against a wall for a few
days is run the following commands (explanation following each command -
locations assume nagios is installed from the Dag Wieers RPMs):

chcon -R -t httpd_sys_script_exec_t /usr/lib/nagios/cgi
(allow apache to execute the CGIs)
chcon -Rh -t httpd_sys_script_ro_t /var/log/nagios
(allow apache to read the nagios logs)
chcon -Rh -t httpd_sys_script_rw_t /var/log/nagios/rw
(allow apache to write to the external commands files)
chcon -h -t httpd_sys_script_ro_t /var/log
(allow apache to traverse /var/log so it can get to the nagios
subdirectory)

I am not overly familiar with SELinux myself, so I am sure that this
opens up additional security holes, but in my company's environment,
heavy modifications would not be understood or maintained.  I'm
especially not happy with the last command, but  httpd_sys_script_ro_t
was the lowest built-in permission type I could give to the /var/log
directory while still having the nagios web interface work.  While it
does not change the type on the contents of /var/log, any new files or
folders will be created with the type httpd_sys_script_ro_t, so chcon -h
-t httpd_sys_script_ro_t /var/log should only be run at the very end of
the configuration process for the server.


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Sam
Hooker
Sent: Tuesday, March 27, 2007 3:11 PM
To: nagios-users@lists.sourceforge.net
Subject: Re: [Nagios-users] RHEL4 selinux and nagios

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


SELinux is a beast, but I think it's a worthwhile thing to understand,
so I applaud your desire to make it work for you. Once you start
wrapping your brain around it, it gets easier, although I'm sure we've
only scratched the surface at my shop. My biggest complaint about the
SELinux implementation in RHEL4 is just that the
selinux-policy-targeted-sources RPM isn't included in the standard
rollout, and that can lead to a lot of head-scratching. (I know I want
to change these policies, but can't figure out what to change...)

So, I don't know if some of these items have been discussed on this list
already, but here are some of our generic
Nagios-on-CentOS4-with-SELinux-enabled notes. I also disclaim any
liability for these changes having unintended consequences in your
security context (which I don't know anything about), so Caveat
lector. Also, note that some aspects of these two issues may have been
corrected by the packagers (our Nagios installs on CentOS4/RHEL4 come
from Dag Wieers' package repositories):


1) Enabling the Web Interface

Using the nagios packages from Dag Wieers, there are a couple of tasks
that need to be completed in order to make the nagios web interface
function:

* if it is not already installed, the
selinux-policy-targeted-sources RPM must be installed in order
to allow editing of Selinux policy.
* edit the /etc/selinux/targeted/src/policy/policy.conf file and
jump to the section marked line 172. Add the following
entries:

 #line 172
 allow httpd_sys_script_t var_log_t:dir search;  allow
httpd_sys_script_t var_log_t:file { getattr read };  allow
httpd_sys_script_t var_log_t:file read;  allow httpd_sys_script_t
var_log_t:fifo_file getattr;  allow httpd_sys_script_t
var_log_t:fifo_file { getattr write };

* change the context of the /usr/lib/nagios/cgi directory to
system_u:object_r:httpd_sys_script_exec_t

 chcon -R system_u:object_r:httpd_sys_script_exec_t /usr/lib/nagios/cgi


2) Nagios Hangs When Launched By Init

(Most of this answer was found at
http://article.gmane.org/gmane.network.nagios.user/34668, but successful
implementation required some of our own research.)

The nagios init script as provided by Dag Wieers uses 'su -l ...' to
touch a few crucial files on launch. Unfortunately, this apparently
leaves room for ambiguity where SELinux is concerned, and the SELinux
subsystem consequently needs clarification. If you're running the init
script from the command-line, it will ask, interactively:

 [EMAIL PROTECTED] ~]# service nagios start
 Starting network monitor: nagios
 Your default context is user_u:system_r:unconfined_t.

 Do you want to choose a different one? [n]

Answering this with a simple [ENTER] allows nagios to start correctly.
An unattended boot, however, leaves no room for this method of
interaction. What you'll see in these cases (apart from a Nagios server
that's not emitting any check results) is 'ps -few | grep nagios'
returning a hung initlog process, and possibly something like this:

 root 27790 27787  0 12:32 pts/200:00:00 su -l nagios -c