服务器被黑,日志被删除,让我们在发生安全事件后查找原因时很难入手。日志作为一个重要的切入点,如果不能保证其完整性以及正确性,无疑将对分析安全事件加大了难度。因此,搭建一套完整的日志系统是非常必要的。同时,还要养成每天查看日志、检查异常的良好习惯。 利用开源软件rsyslog在Linux操作系统上进行安装调试。大致的步骤如下: 1.下载并安装最新版本的 rsyslog。目前最新的版本是rsyslog 6.1.7 (v6-devel) released,下载地址:http://www.rsyslog.com/rsyslog-6-1-7-v6-devel/ 2.安装 (1)把源代码解压,并进入源代码中执行: ./configure --enable-mysql (2)依次执行:make和make install 3.配置rsyslog.conf 在源代码下有一个示例文件,把它拷贝到/etc (1)接受远程设备的syslog则要把以下三行的#去掉:
# UDP Syslog Server: 并同时在iptables中开放514端口 (2)配置rsyslog自动启动 (3)记录到mysql 如果要使用sql来记录日志则先要建表,找到rsyslog-3.20.0\plugins\ommysql下的createDB.sql文件,打开它, 把里面的建表语句在数据库里执行,当然也可以自建一个新数据库。之后加载mysql模块,一定要确认ommysql.so在lib文件夹里存在,如果之前使用./configure --enable-mysql进行配置则会在/usr/local/lib/rsyslog下存在ommysql.so文件(操作系统不同,目录可能不一 样),然后在rsyslog.conf文件中加上:
$ModLoad ommysql 注意这里是local4来接受远程的syslog在交换机上的配置: 1.华为
info-center loghost?1.1.1.1 facility local4 //local4要和rsyslog.conf 里配置的一致,1.1.1.1为你的syslog服务器地址 2.思科
logging?? 1.1.1.1(配置 syslog服务器地址,可以定义多个)? 到mysql 服务器查看: select * from SystemEvents 但这里还有个小Bug,我们会发现fromhost的这个字段不正确,并不是所用交换机的地址,这是rsyslog的一个bug,那么如何解决?可以自定义模板,不用其默认的模板。定义一个模板:MySQLInsert并用它来执行sql语句,关于模板的概念,请参考ht t p://www.r syslog.com/docrsyslog_conf.html这 里有详细的解释 参考rsyslog.conf:
# UDP Syslog Server: 注意笔者使用了%f r o m h o s t - i p %,而不是%HOSTNAME%。 当然针对Liunx服务器,把syslog发送过来就可以了,具体的配置就不详细说明。这里还需要提到的是Windows操作系统,需要安装一个客户端软件NTSyslog2.msi。 配置rsyslog服务器地址如图1所示。
图1 配置rsyslog服务器地址 一个完整的搭建rsyslog服务器以及相应的设备配置就完成了。 (责任编辑:IT) |