TCP包裝器集成
介紹
本文檔說明了如何輕松地在Nagios Core中為TCP包裝程序拒絕的連接嘗試生成警報。例如,如果未經授權的主機嘗試連接到SSH服務器,則您可以在Nagios Core中收到警報,其中包含被拒絕的主機的名稱。如果在Linux / Unix機器上實現此功能,您會驚訝于可以在網絡中檢測到多少個端口掃描。
這些指示假定:
您已經熟悉被動檢查及其工作方式。
您已經熟悉易失性服務及其工作方式。
您要為其生成警報的主機(即,正在使用TCP包裝器的主機)是遠程主機(在本示例中稱為firestorm)。如果要在Nagios Core正在運行的同一主機上生成警報,則需要對我提供的示例進行一些修改。
您已在監視服務器上安裝了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
…
}
關于上述服務定義,需要注意一些重要事項:
該揮發性選項啟用。我們希望啟用此選項,因為我們希望為每個傳入的警報生成通知。
服務的主動檢查被禁用,而被動檢查被啟用。這意味著該服務永遠不會被Nagios Core主動檢查-所有警報信息都必須從外部來源被動接收。
該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
Nagios Core中文使用教程
推薦文章: