文/虞國全
RSYSLOG日志服務器的搭建
文/虞國全
服務器被黑,日志被刪除,讓我們在發生安全事件后查找原因時很難入手。日志作為一個重要的切入點,如果不能保證其完整性以及正確性,無疑將對分析安全事件加大了難度。因此,搭建一套完整的日志系統是非常必要的。同時,還要養成每天查看日志、檢查異常的良好習慣。
利用開源軟件rsyslog在Linux操作系統上進行安裝調試。大致的步驟如下:
1.下載并安裝最新版本的 rsyslog。目前最新的版本是rsyslog 6.1.7 (v6-devel) released,下載地址:http://www.rsyslog.com/rsyslog-6-1-7-v6-devel/
2.安裝
(1)把源代碼解壓,并進入源代碼中執行:
(2)依次執行:make和make install
3.配置rsyslog.conf
在源代碼下有一個示例文件,把它拷貝到/etc
(1)接受遠程設備的syslog則要把以下三行的#去掉:
并同時在iptables中開放514端口
(2)配置rsyslog自動啟動
(3)記錄到mysql
如果要使用sql來記錄日志則先要建表,找到rsyslog-3.20.0pluginsommysql下的createDB.sql文件,打開它, 把里面的建表語句在數據庫里執行,當然也可以自建一個新數據庫。之后加載mysql模塊,一定要確認ommysql.so在lib文件夾里存在,如果之前使用./configure --enable-mysql進行配置則會在/usr/local/lib/rsyslog下存在ommysql.so文件(操作系統不同,目錄可能不一 樣),然后在rsyslog.conf文件中加上:
注意這里是local4來接受遠程的syslog
在交換機上的配置:
1.華為
2.思科
到mysql服務器查看:
但這里還有個小Bug,我們會發現fromhost的這個字段不正確,并不是所用交換機的地址,這是rsyslog的一個bug,那么如何解決?可以自定義模板,不用其默認的模板。定義一個模板:MySQLInsert并用它來執行sql語句,關于模板的概念,請參考這里有詳細的解釋
參考rsyslog.conf:
注意筆者使用了%f r o m h o s t-i p%,而不是%HOSTNAME%。
當然針對Liunx服務器,把syslog發送過來就可以了,具體的配置就不詳細說明。這里還需要提到的是Windows操作系統,需要安裝一個客戶端軟件NTSyslog2.msi。
配置rsyslog服務器地址如圖1所示。
圖1 配置rsyslog服務器地址
一個完整的搭建rsyslog服務器以及相應的設備配置就完成了。
(作者單位為南昌理工學院英雄校區計算機系)