我一直在试图强化Nagios(如果有这样的事情……),但是还没有发现什么东西太明确,甚至不知道该看甚么。
我非常谨慎地保持Nagios的运行,直到我对其潜在的安全漏洞以及如何最好地消除这些漏洞,或者至less加强它,以便减less潜在的问题。
据我所知,我目前已经禁用了Nagios,直到我能find方法加强它。 没有Nagios进程正在运行,并且我运行了chkconfig nagios off
。
我的configuration如下:
以下是我的问题:
还有什么我需要检查,以确保Nagios被禁用?
在默认configuration下运行Nagios有哪些可能的安全漏洞?
我可以采取什么措施来使Nagios变硬?
我在Nagios文档中发现了一些专门处理安全性的技巧:
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文档。
回答你的具体问题:
ps -aux | grep -v grep | grep nagios
有关插件/ Web UI的一般安全问题,请参阅上文,并查看Nagios安全文档 。
回顾一下上面的内容,考虑一下你的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最近得到了重大更新。 查看这里的更新日志。