目录

2022-04-23-搭建syslog日志服务器

搭建syslog日志服务器

0x00 背景

为了方便日志监控并防止日志被篡改,通常工作环境中会使用rsyslog架设日服务器用于存放其它服务器的日志。rsyslog支持日志的远程发送和接收。

rsyslog客户端:负责发送日志到远程日志服务器,支持udp,tcp,relp协议。

rsyslog服务器:负责接收客户端发来的日志并存储在本地,支持文件存储和数据库存储方式。

对于入侵排查工作来说,操作系统的认证日志、计划任务日志和历史命令是非常重要的。为加强日志管理,要求将各系统的相应日志信息保存到专用的rsyslog日志服务器,保存日志的路径格式为:源IP地址/设施名(日志类别)/年月.log。

对于进行安全审计或者数据分析,需要将各类设备的日志发送到日志服务器。

0x01 Windows搭建syslog日志服务器

1 安装kiwisyslog软件

当然我们也可以选择其他日志服务器的软件进行安装,具体参考其帮助文档。

官方网站:

https://i-blog.csdnimg.cn/blog_migrate/4b6a6f068bdb9dc9a9dc24a4c007b54a.png

2 配置kiwisyslog软件

配置日志服务器监听的IP地址,如下所示:

https://i-blog.csdnimg.cn/blog_migrate/b743c4a28080e4d08a6feb76c7428f34.png

配置日志服务器允许接收的远程服务器IP地址,只有允许远程服务器的IP,远程服务器才能发送日志到我们的日志服务器。

https://i-blog.csdnimg.cn/blog_migrate/0a9940641fac95c7e52b542fd8a31eb3.png

备注:必须设置来源IP,才可以接收日志;其他信息请阅读帮助文档。

0x02 linux搭建syslog服务器

此处基于centos 7 和rsyslog 进行部署,rsyslogd是syslogd的升级版

1 安装rsyslog软件

yum install -y  rsyslog

https://i-blog.csdnimg.cn/blog_migrate/5fe92b351ef2848293c740c0842ddcf1.png

2 配置rsyslog.conf文件

vi /etc/rsyslog.conf

“#### MODULES ####”  在此下面的进行修改,注释打开,启用udp,tcp协议,监听514端口。

修改前:

Provides UDP syslog reception

#$ModLoad imudp

#$UDPServerRun 514

Provides TCP syslog reception

#$ModLoad imtcp

#$InputTCPServerRun 514

配置修改后,如下所示:

https://i-blog.csdnimg.cn/blog_migrate/2ded357edfb869f554b02b1033cf1a23.png

Use default timestamp format   在下面配置接收日志的存放目录和文件命名规则

修改前:

https://i-blog.csdnimg.cn/blog_migrate/5eec7eec8acc8cfa027d9e818d5acfaa.png

修改内容如下所示,如下图所示:

https://i-blog.csdnimg.cn/blog_migrate/10a4901acfd3556890a7c8d9fe95dfe8.png

Use default timestamp format

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

##这里是服务端添加的配置 begin

使用RemoteLogs模板接受客户端的日志,保存到本地的/var/log/remote目录下,然后是每台客户端的ip_年份_月份_日期的log

$template RemoteLogs,"/var/log/remote/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log"

所有服务所有级别的日志都记录

. ?RemoteLogs

#服务端本机的日志不记录

:fromhost-ip, !isequal, “127.0.0.1” ?Remote

#指示rsyslog在将消息写入文件后停止处理消息。如果不包含"& ~",则消息将被写入本地文件,导致消息被记录2次。

& ~

## 在这里,有些情况会导致rsyslog服务重启或者启动失败。

##这里是服务端添加的配置 end

所以可以使用以下配置解决:

#如果不取消此处的配置,日志会被写入指定的文件和/var/log/messages里面,将导致日志消息被记录2次。

*.info;mail.none;authpriv.none;cron.none                /var/log/messages

#.info;mail.none;cron.none;auth.;authpriv.;cron.               /var/log/messages

保存,退出,重启rsyslog服务

systemctl restart rsyslog

查看我们的配置的目录下是否存在日志,以验证我们的安装配置是正确运行的。

https://i-blog.csdnimg.cn/blog_migrate/c77275ab33f34112d4785ba26d17d035.png

3.rsyslog 客户端

主要用于转发本地各类日志到日志服务器。

编辑rsyslog.conf文件

vi /etc/rsyslog.conf

end of the forwarding rule

添加以下规则:

https://i-blog.csdnimg.cn/blog_migrate/57e5f89c9bd91c552111c3a410577bf9.png

表示将用户登录日志和定时任务日志发送到10.10.7.7的514端口,默认采用TCP进行发送。

保存退出重启rssyslog服务并同时重启防火墙,使用配置生效更新。

systemctl restart rsyslog

systemctl restart firewalld

到日志服务器进行查看日志

0x04 参考文档

日志目录和文件命名规则

centos7/redhat7 搭建rsyslog日志服务器

CentOS 7配置rsyslog服务发送和接收日志

68747470733a2f2f62:6c6f672e6373646e2e6e65742f71715f32393237373135352f:61727469636c652f64657461696c732f313234323738353539