服务器被黑,日志被删除,让我们在发生安全事件后查找原因时很难入手。日志作为一个重要的切入点,如果不能保证其完整性以及正确性,无疑将对分析安全事件加大了难度。因此,搭建一套完整的日志系统是非常必要的。同时,还要养成每天查看日志、检查异常的良好习惯。
利用开源软件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:
#$ModLoad imudp.so? # provides UDP syslog reception
#$UDPServerRun 514 # start a UDP syslog server at standard port 514
并同时在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.*???? :ommysql:127.0.0.1,yourdb,yourname,yourpass;
注意这里是local4来接受远程的syslog在交换机上的配置:
1.华为
info-center loghost?1.1.1.1 facility local4 //local4要和rsyslog.conf 里配置的一致,1.1.1.1为你的syslog服务器地址
info-center loghost source Vlan-interface 11//你的网管VLAN接口,要改的
info-center source SHELL channel loghost log level notifications//只想要操作日志
2.思科
logging?? 1.1.1.1(配置 syslog服务器地址,可以定义多个)?
service timestamps debug datetime localtime show-timezone msec
service timestamps log datetime localtime show-timezone msec?? (syslog 信息包含时间戳)
logging facility local4?? (定义 facility 级别,缺省为local7,可以设置从 local0到 local7)
logging trap warning?? (定义severity 级别缺省为 infor 级别)
到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:
$ModLoad imudp.so? # provides UDP syslog reception
$UDPServerRun 514 # start a UDP syslog server at standard port 514
# MySQL log
$ModLoad ommysql
$template MySQLInsert,"insert into SystemEvent s( ReceivedAt,
DeviceReportedTime,message,FromHost,syslogtag) values('%timegenerated:::
date-mysql%','%timereported:::date-mysql%','%msg%','%fromhost-ip%',
'%syslogtag%')", SQL
local4.*???? :ommysql:127.0.0.1,syslogdatabase,syslogusername,syslogpass;
MySQLInsert
注意笔者使用了%f r o m h o s t - i p %,而不是%HOSTNAME%。
当然针对Liunx服务器,把syslog发送过来就可以了,具体的配置就不详细说明。这里还需要提到的是Windows操作系统,需要安装一个客户端软件NTSyslog2.msi。
配置rsyslog服务器地址如图1所示。
图1 配置rsyslog服务器地址
一个完整的搭建rsyslog服务器以及相应的设备配置就完成了。
(作者单位为南昌理工学院英雄校区计算机系)
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。