CentOS7 利用rsyslog建立日志备份(同步)服务

CentOS7 利用rsyslog建立日志备份(同步)服务

  • 前言
  • 0x01 服务端配置
  • 0x02 客户端配置
  • 0x03 测试
  • 0x04 总结


前言

日志是查看系统运行情况的一个重要部分,在应急响应中,服务器的日志文件就扮演了一个特别重要的作用,管理员根据日志可以判断一些恶意的攻击行为,以此来将一些IP拉入黑名单或者对攻击进行溯源等等。为防止日志被恶意删除的行为,日志的备份就显得特别重要。


0x01 服务端配置

服务端:负责接收其他客户端发来的日志,并做好备份保存。

打开rsyslog的配置文件。

vim /etc/rsyslog.conf

CentOS7 利用rsyslog建立日志备份(同步)服务_第1张图片
选择接收的传输协议(UDP或者TCP)和端口号(默认514),我选择了TCP。

默认的存储文件位置是/var/log/messages
不过这样会把本机和客户机的日志都放在一起,可以单独新建一个文件进行存放,在最下方添加:

:fromhost-ip,isequal,"192.168.178.129" /var/log/client/client.log

意思是当主机IP为192.168.178.129时,日志文件保存到 /var/log/client/client.log

最后重启服务:

systemctl restart rsyslog

0x02 客户端配置

同样先打开rsyslog的配置文件。
复制第90行的格式,添加一条设置:

*.* @@192.168.178.10:514
#这一句表达的意思是将所有类型和等级的日志都用TCP服务发给.10主机的514号端口

CentOS7 利用rsyslog建立日志备份(同步)服务_第2张图片

这里详细解释一下各个符号的含义:
各个位分别表示日志类型连接符号日志等级处理方式

日志类型:
auth        –pam产生的日志
authpriv    –ssh,ftp等登录信息的验证信息
cron        –时间任务相关
kern        –内核
lpr         –打印
mail        –邮件
mark(syslog)–rsyslog服务内部的信息,时间标识
news        –新闻组
user        –用户程序产生的相关信息
uucp        –unix to unix copy, unix主机之间相关的通讯
local 1~7   –自定义的日志设备
连接符号:
.xxx: 表示大于等于xxx级别的信息
.=xxx:表示等于xxx级别的信息
.!xxx:表示在xxx之外的等级的信息
日志级别:
级别从低到高,记录的信息越来越少
debug       –有调式信息的,日志信息最多
info        –一般信息的日志,最常用
notice      –最具有重要性的普通条件的信息
warning     –警告级别
err         –错误级别,阻止某个功能或者模块不能正常工作的信息
crit        –严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert       –需要立刻修改的信息
emerg       –内核崩溃等严重信息
none        –什么都不记录
处理方式:
/var/log/file	发送到日志文件
@@(IP)	发送到TCP server
@(IP)	发送到UDP server
user1,user2	    发送到在线用户user1,user2
~		        丢弃该日志
^/path/script	执行的脚本,^后面跟可以执行的脚本,日志内容可以作为脚本的第一个参数,可以用来触发告警

设置完成后,保存退出,重启服务。

0x03 测试

在客户端输入命令logger,向日志文件写入内容:

logger "Rdrug"

查看日志文件(tail -f表示查看最后十行数据):

tail -f /var/log/messages 

CentOS7 利用rsyslog建立日志备份(同步)服务_第3张图片
服务端:

tail -f /var/log/client/client.log

CentOS7 利用rsyslog建立日志备份(同步)服务_第4张图片


0x04 总结

刚开始自己实验时,忘记开放514端口,导致日志同步一直不成功,而且linux系统在设置完服务之后一定要重启生效。
如果你是在生产环境下,可不能直接关闭防火墙,应根据需要单独放开某个端口。
这里放上防火墙的一些端口配置命令

查看已开放的端口
firewall-cmd --list-ports
 
开放端口(开放后需要要重启防火墙才生效)
firewall-cmd --zone=public --add-port=3338/tcp --permanent
 
关闭端口(关闭后需要要重启防火墙才生效)
firewall-cmd --zone=public --remove-port=3338/tcp --permanent

重启防火墙
firewall-cmd --reload

你可能感兴趣的:(Linux,centos,运维,linux)