文/虞国全
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服务器以及相应的设备配置就完成了。
(作者单位为南昌理工学院英雄校区计算机系)