Nagios硬化

我一直在试图强化Nagios(如果有这样的事情……),但是还没有发现什么东西太明确,甚至不知道该看甚么。

我非常谨慎地保持Nagios的运行,直到我对其潜在的安全漏洞以及如何最好地消除这些漏洞,或者至less加强它,以便减less潜在的问题。

据我所知,我目前已经禁用了Nagios,直到我能find方法加强它。 没有Nagios进程正在运行,并且我运行了chkconfig nagios off

我的configuration如下:

  • CentOS 6.3 x64
  • Nagios Core 3.4.1

以下是我的问题:

  1. 还有什么我需要检查,以确保Nagios被禁用?

  2. 在默认configuration下运行Nagios有哪些可能的安全漏洞?

  3. 我可以采取什么措施来使Nagios变硬?

我在Nagios文档中发现了一些专门处理安全性的技巧:

  1. 使用专用监视框。
  2. 不要运行Nagios作为根。
  3. locking检查结果目录。
  4. locking外部命令文件。
  5. 要求在CGI中进行身份validation。
  6. 实施增强的CGI安全措施。
  7. 在命令定义中使用完整path。
  8. 使用$ USERn $macros隐藏敏感信息。
  9. 从macros观中剥离危险字符。
  10. 安全访问远程代理。
  11. 安全的通信渠道。

Nagios是在部分实现的,我们来看看这些单独的。

有nagios调度器和插件的实现。 这是Nagios为各种主机/服务确定状态的实际工作。 这可以通过许多不同的方式来完成。 特别是你可能想要调查的是SSH。 Nagios可以通过SSH进入远程主机来检查磁盘利用率。 这个ssh帐户通常使用Nagios主机上的私钥和所有要监控的目标Linux机器上的公钥来设置。

Nagios还可以使用其他机制,具体取决于插件。 诸如SNMP,直接连接和NRPE(Nagios远程插件执行器)等方法。 这只是插件的介绍,是Nagios安全性的一个调查领域。

下一个要考虑的领域是UI本身。 默认的UI是使用编译C cgi脚本构build的。 您有一些身份validation/授权步骤来configuration默认CGI之上。 要了解关于CGI安全的更多信息,请查看nagios config目录下的cgi.cfg,通常是/ etc / nagios,和/或阅读关于CGIauthentication的 Nagios文档。

回答你的具体问题:

  1. ps -aux | grep -v grep | grep nagios

  2. 有关插件/ Web UI的一般安全问题,请参阅上文,并查看Nagios安全文档 。

  3. 回顾一下上面的内容,考虑一下你的networking是如何布局的,以及你需要打开各种nagios插件的端口/协议。 考虑使用iptables或其他限制来保护UI以访问UI。

我知道这是一个较老的线程,但是我在Nagios安装上做的一件事,除了其他人已经发布的,是在每个目标主机上实现IPtables规则,只允许Nagios / NRPE通信(端口5666) Nagios服务器。 在nrpe.conf中有一个指令,允许你指定可以连接到目标主机的“allowed_hosts”。 即使如此,我仍然希望在IPtables中添加一个链,只允许来自实际的Nagios服务器的Nagios / NRPEstream量。

除此之外,其他人发布的内容将会严重影响您的Nagios服务器。

除了官方的Nagiosbuild议之外 ,您还应该始终更新到最新版本的Nagios Core。 Nagios最近做了很多安全修复,请查看Nagios Core 4 Change Log以获取更多信息。 除Nagios之外,还应升级相关组件(如代理(nrpe-agent或NSClient ++))和使用的协议(如NSCA和NRPE)。 NRPE最近得到了重大更新。 查看这里的更新日志。