nagios设置无身份验证登录

在生产环境中,我们当然需要为nagios监控服务设置安全机制,以此来控制服务器的安全。但是也不排除有特殊的需求。本人最近正好碰到了一个需要,具体要求为:直接输入nagios的地址就可以访问内部nagios监控界面,不用身份认证!!

操作环境如下:

[root@server13 httpd]# cat /etc/redhat-release
CentOS release 6.5 (Final)
CentOS release 6.5 (Final)
[root@server13 httpd]# uname -r
2.6.32-431.el6.x86_64
[root@server13 httpd]# uname -m
x86_64

apache版本:

[root@server13 httpd]# rpm -qa httpd
httpd-2.2.15-29.el6.centos.x86_64

nagios版本:

Version 3.5.1

经过一番折腾和多次的实验,最终发现修改如下几个参数即可实现无身份认证登录,具体做法如下:

一、修改配置文件

1、修改配置文件/usr/local/nagios/etc/cgi.cfg(需和自己安装路径一致)

use_authentication=1

修改为:

use_authentication=0

2、修改配置文件/etc/httpd/conf.d/nagios.conf(需和自己安装路径一致,可以通过find命令查找)

去掉注释后的配置文件内容为:

ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
 

   Options ExecCGI
   AllowOverride None
   Order allow,deny
   Allow from all
   AuthName "Nagios Access"
   AuthType Basic
   AuthUserFile /usr/local/nagios/etc/htpasswd.users
   Require valid-user

 
Alias /nagios "/usr/local/nagios/share"
 

   Options None
   AllowOverride None
   Order allow,deny
   Allow from all
   AuthName "Nagios Access"
   AuthType Basic
   AuthUserFile /usr/local/nagios/etc/htpasswd.users
   Require valid-user

将如下两行注释掉:

#Require valid-user

一般来说,修改上面的两个文件就已经能够实现无认证登陆功能,但是也也能出现新的坑,我就在这里被坑了很久......

3、配置文件/etc/httpd/httpd.conf

报错信息如下:

Forbidden
You don't have permission to access /nagios/ on this server.

我在这个地方也是被坑了很久,经过一番的折腾才找到的这个参数:


    AllowOverride none
    Require all denied     #<==访问控制,被拒绝了

将这个配置修改为:


    AllowOverride none
    Require all granted     #<==将denied修改为granted

 

二、重启服务

重启nagios服务:

/etc/init.d/nagios restart

重启apache服务:

/etc/init.d/httpd restart

重启完成后,即可实现无需身份认证登录,直接访问的功能,注意清除一下浏览器缓存!!