TCP包装器集成

介绍

本文档说明了如何轻松地在Nagios Core中为TCP包装程序拒绝的连接尝试生成警报。例如,如果未经授权的主机尝试连接到SSH服务器,则您可以在Nagios Core中收到警报,其中包含被拒绝的主机的名称。如果在Linux / Unix机器上实现此功能,您会惊讶于可以在网络中检测到多少个端口扫描。

这些指示假定:

  1. 您已经熟悉被动检查及其工作方式。

  2. 您已经熟悉易失性服务及其工作方式。

  3. 您要为其生成警报的主机(即,正在使用TCP包装器的主机)是远程主机(在本示例中称为firestorm)。如果要在Nagios Core正在运行的同一主机上生成警报,则需要对我提供的示例进行一些修改。

  4. 您已在监视服务器上安装了NSCA守护程序,并在生成TCP包装警报的远程计算机上安装了NSCA客户端(send_nsca)。

定义服务

如果尚未创建,请为远程主机创建一个主机定义firestorm)。

接下来,在您的一个对象配置文件中为主机firestorm上的TCP包装警报定义服务。服务定义可能看起来像这样:

定义服务{
host_name风暴
service_description TCP包装器
is_volatile 1
active_checks_enabled 0
Passive_checks_enabled 1
max_check_attempts 1
check_command check_none

}

关于上述服务定义,需要注意一些重要事项:

  1. 挥发性选项启用。我们希望启用此选项,因为我们希望为每个传入的警报生成通知。

  2. 服务的主动检查被禁用,而被动检查被启用。这意味着该服务永远不会被Nagios Core主动检查-所有警报信息都必须从外部来源被动接收。

  3. max_check_attempts值设置为1,这保证在生成第一个警报时,你会得到一个通知。

配置TCP包装器

现在,你将不得不修改的/etc/hosts.deny文件上轩然大波。为了使TCP包装器在拒绝连接尝试时向监视主机发送警报,您必须在以下行添加类似的行:

全部:全部:RFC931:扭曲(/ usr / local / nagios / libexec / eventhandlers / handle_tcp_wrapper%h%d)&

此行假定有一个脚本调用handle_tcp_wrapper的/ usr /本地/ Nagios的/的libexec /事件处理器/上目录轩然大波。接下来,我们将编写该脚本。

编写脚本

您需要做的最后一件事是在firestorm上编写handle_tcp_wrapper脚本,该脚本会将警报发送回Nagios Core服务器。它可能看起来像这样:

#!/ bin / sh
/ usr / local / nagios / libexec / eventhandlers / submit_check_result firestorm“ TCP Wrappers” 2“拒绝$ 2- $ 1”> / dev / null 2> / dev / null

请注意,handle_tcp_wrapper脚本调用了commit_check_result脚本将警报实际发送回监视主机。假设您的Nagios Core服务器称为monitor,则提交check_result脚本可能如下所示:

#!/ bin / sh
#参数
#$ 1 =服务定义中的主机名
#$ 2 =服务定义中的服务名称/描述
#$ 3 =返回码
#$ 4 =输出
/ bin / echo -e“ $ 1 \ t $ 2 \ t $ 3 \ t $ 4 \ n” | / usr / local / nagios / bin / send_nsca监视器-c /usr/local/nagios/etc/send_nsca.cfg

整理起来

现在,您已经配置了所需的一切,因此您所要做的就是在firestorm上重新启动inetd进程,并在监视服务器上重新启动Nagios Core。而已!当TCP封装风暴拒绝连接尝试,你应该得到的警报在Nagios的核心。警报的插件输出将类似于以下内容:

拒绝sshd2-sdn-ar-002mnminnP321.dialsprint.net

本文章首发在 网安wangan.com 网站上。

上一篇 下一篇
讨论数量: 0
只看当前版本


暂无话题~