自行架設LogAnalyzer日誌管理伺服器

新版個資法即將上路,各個企業必須及早因應,尤其是公司運作的日誌檔案須妥善保存備份以供隨時備查,因為未來企業必須自行舉證並未違反個資法。為此,建議各公司行號採用LogAnalyzer日誌分析套件來架設日誌管理伺服器,以維護公司自身的權益。

以FreeBSD為實作平台

首先以FreeBSD為實作平台進行設定說明,使其成為日誌伺服器(Syslog Log Server),以便接收各項支援Syslog功能的Log Client設備,所傳送過來的Syslog日誌資訊。

接著,安裝屆時運作LogAnalyzer的環境。至於如何進行LogAnalyzer的初始化安裝和進階設定,由於與CentOS實作平台設定步驟相同,因此將於下一篇文章中合併統一進行說明。

FreeBSD作業系統在預設的情況下,便可以經由設定調整成為日誌伺服器(因為預設日誌服務,只收集本機的Log),緊接著調整及設定FreeBSD內建的Syslogd日誌服務,使FreeBSD主機搖身一變成為Syslog Log Server,以便收集相關設備所傳送過來的Syslog Log運作訊息,以下為此次實作網路環境:

·Log Server(FreeBSD):負責收集Log Client傳送過來的Syslog資訊
主機名稱:bsd.weithenn.org
網卡代號:em0
IP位址:192.168.1.10
Syslog服務:UDP協定/Port 514

·Log Client(Juniper SSG20):指定將設備產生的Syslog資訊傳送至Syslog Server
主機名稱:ssg20.weithenn.org
IP位址:192.168.1.20
Syslog服務:UDP協定/Port隨機(Random Port)

設定Log Client(Juniper SSG20)

啟動Juniper SSG20小型防火牆設備的Syslog功能,以便屆時將設備產生的Syslog日誌記錄,即時傳送至指定的Log Server(也就是FreeBSD主機)上來進行日誌儲存及分析的動作。該設備啟用Syslog功能的設定步驟如下:

STEP 1:登入Juniper SSG20小型防火牆。

STEP 2:點選「Configuration」項目後,接著點選「Report Settings」子項目,最後點選「Syslog」。然後,勾選「Enable syslog messages」項目,並填入Syslog Server相關資訊,如IP/Hostname、Port等等,如下圖所示。待相關資訊填妥及勾選後,按下〔Apply〕按鈕。


▲啟用Juniper SSG20 Syslog功能(指定Syslog Server,成為Log Client)。

STEP 3:最後,完成Log Client(Juniper SSG20)Syslog功能啟用設定。

設定Log Server(FreeBSD)

在設定主機名稱之前,先了解一下命名規則,請使用在「網際網路主機需求-應用程式與支援(RFC-1123)」中定義的任何標準支援字元,相關標準支援字元如下:

大寫字母A到Z
小寫字母a到z
數字0到9
連字號(-)

接著,修改FreeBSD主機設定檔「/etc/hosts」,以便後續修改日誌設定檔「/etc/syslog.conf」時識別Log Client之用。

設定完成後,先測試FreeBSD主機是否可以正確識別剛才設定的主機名稱(Log Client Hostname)。


▲修改FreeBSD主機設定檔,並測試能否正確解析所設定的主機名稱。

修改日誌設定檔(/etc/syslog.conf)
修改FreeBSD日誌設定檔「/etc/syslog.conf」,指定屆時所收集到從Log Client傳送過來的Syslog資訊內容應存放至何處,以下為日誌設定檔內容參數說明及相關用法:

+[Hostname]:指定此台主機名稱或設備傳送過來的日誌訊息,「採用」下一行設定的方式處理並指定存放處。
-[Hostname]:「排除」此台主機或設備所傳送過來的日誌訊息(也就是不收集)。
+@:指定本機(Localhost)產生的日誌訊息,採用下一行設定的方式處理並指定存放處,以便本機的日誌訊息混入Log Client日誌訊息中。
+*:所有設備的日誌存放至指定檔案中,當環境有多台主機,希望將所有設備日誌分開存放,並同時存放在同一個檔案時,便可使用此語法。
請勿使用底線(_)命名:主機名稱識別以及存放的檔案命名,請勿使用底線(_)進行命名,因為屆時將導致日誌無法寫入指定的檔案中。建議使用減號(-)代替。

以此次實作來說,修改後的日誌設定檔「/etc/syslog.conf」內容如下:


▲修改FreeBSD日誌設定檔內容,接收Juniper SSG20傳送過來的日誌訊息。

修改主機服務設定檔(/etc/rc.conf)
FreeBSD系統在預設情況下,便會啟動日誌服務(Syslogd),但啟動時是採用預設的-s參數。-s參數僅會處理本機日誌部分,不接收也不允許Log Client傳送日誌過來,因此無法成為Log Server。

所以,在此透過修改主機服務設定檔「/etc/rc.conf」,將啟動日誌服務的參數改為「-a」,並且指定Log Client的來源網段及Port號,以下為-a參數相關用法說明:

-a 192.168.1.0/24:514:僅接收192.168.1.x網段,且來源Port號為514的Log Client日誌訊息。
-a 192.168.1.0/24:*:僅接收192.168.1.x網段,且來源Port號為Any的Log Client日誌訊息。
-a 0/0:*:接收所有網段及Port號的Log Client傳送過來的日誌訊息,適用於必須接收多個IP網段需求的時候,便可採用此參數配合防火牆進行相關限制。

以此次實作的Juniper SSG20設備為例,啟動該設備的Syslog功能後,雖然可以指定Log Server的Port號為514,但本身在傳送日誌訊息時卻無法指定Port號(為隨機Port號)。


追蹤我們Featrue us

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

我知道了!