nagios linux pbnj 網路管理 nmap

掌握網路服務狀態 以利察覺主機可疑活動

2015-04-21
網路管理人員必須全面掌握目前主機上所有運行中的網路服務資訊,以避免有未控管的網路服務自行運作,因而發生潛在的資安問題。若想確切掌握系統上運作的網路服務,建議採用nmap結合pbnj模組的解決方案。
由於本文僅是利用nmap的網路服務掃描功能來取得受測主機的網路服務資訊,因此就不多談nmap其他參數的使用方式,僅就nmap的網路服務掃描功能做討論。

執行指令「nmap -sV <主機位址>」即可取得受測主機的網路服務資訊,如圖3所示。


▲圖3 執行「nmap -sV <主機位址>」指令取得受測主機的網路服務資訊。

安裝nmap後,由於所輸出的資訊僅能導向至檔案,使用上較為不便,因此接下來繼續安裝pbnj模組,將nmap所輸出的網路服務資訊導向至資料庫,以利於運用。

動手安裝pbnj

pbnj是一個Perl模組,主要用來封裝nmap程式,並將nmap輸出的資訊導向至MySQL資料庫。在安裝pbnj之前,必須先安裝相關所需的Perl模組,可執行如下的指令來安裝pbnj所需的相關模組:


安裝好所需的模組後,再執行「svn co https://pbnj.svn.sourceforge.net/svnroot/pbnj/branch pbnj」指令來取得pbnj模組最新的版本。接下來,利用下列指令安裝pbnj模組(#為註解):


成功安裝pbnj模組後,需建立相關的資料庫表格。在本文中,pbnj模組所使用的資料庫名稱為「pbnj」。建好資料庫後,再建立相關的資料庫表格,如下所示(#為註解):


緊接著設定pbnj的組態檔,檔名為「/root/.pbnj-2.0/config.yaml」,設定成如下列的資料庫組態:


在相關程式以及資料庫均建立完成之後,接下來說明pbnj所提供的執行檔。本文主要是使用scanpbnj程式進行掃描,因此這裡僅說明主程式(scanpbnj)的用法。

scanpbnj是主要的掃描程式,用來掃描主機,並將相關的資訊置入到資料庫中,它可簡單掃描單台主機或者使用CIDR的形式,相關指令格式為「scanpbnj 」,例如執行指令「scanpbnj 192.168.1.0/24」即是掃描192.168.1整個網段。

如圖4所示為掃描結果,除了顯示結果外,另外也會將相關的資訊寫進資料庫內。


▲圖4 執行「scanpbnj 」指令後所顯示的結果畫面。

scanpbnj所提供之常用選項,分別介紹如下:

-i :根據儲存在檔案內的IP資訊進行掃描。
-x :用來解析nmap所輸出的XML檔案。
-n <目錄名稱>:指定nmap執行檔案所在的目錄。
-p <主機IP> :指定以PING的方式掃描主機是否還存活(alive)。

在實務運用上,建議將執行此程式的指令寫入排程指令中(如cron等程式),讓它每隔一段時間就運作一次,並將網路服務相關資寫入資料庫,而後即可自行撰寫資料庫的存取程式來運用相關的網路服務資訊。

結語

一般網路服務監控系統總是著重在已知服務的監控,但從另一個角度來看,管理人員除了需要監控相關網路服務的運作情形外,對於目前主機上運作的所有網路服務資訊更要有所掌握,以避免有管理人員不知道的網路服務偷偷在運作而造成系統潛在的資安問題。本文中所介紹nmap結合pbnj模組的解決方案,即可協助管理人員全面掌握目前系統上所運作的網路服務資訊,藉此消除這一類潛在的資安問題。

<本文作者:吳惠麟,多年資安經驗,喜好利用開源碼建構相關解決方案,著有「資訊安全原理與實驗」等書。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!