千家信息网

CentOS7系统怎么配置rsyslog服务发送和接收日志

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要介绍"CentOS7系统怎么配置rsyslog服务发送和接收日志",在日常操作中,相信很多人在CentOS7系统怎么配置rsyslog服务发送和接收日志问题上存在疑惑,小编查阅了各式资料,
千家信息网最后更新 2024年11月23日CentOS7系统怎么配置rsyslog服务发送和接收日志

这篇文章主要介绍"CentOS7系统怎么配置rsyslog服务发送和接收日志",在日常操作中,相信很多人在CentOS7系统怎么配置rsyslog服务发送和接收日志问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"CentOS7系统怎么配置rsyslog服务发送和接收日志"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、操作目的和应用场景

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

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

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

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

二、平台及工具版本

软件:rsyslog

日志客户端(发送端):CentOS 7

日志服务器(接收端):CentOS 7

三、操作步骤

(一)日志客户端配置

1、 发送认证和计划任务日志(auth、authpriv、cron)

vi /etc/rsyslog.conf //编辑rsyslog服务配置文件,文件末尾加入一行

auth.*;authpriv.*;cron.* @@192.168.43.234:514

一个@代表通过UDP协议发送日志,这里是两个@,代表以tcp方式传送日志。与UDP相比,TCP传输的方式更加稳定一些。

保存退出。这样,认证和计划任务日志在本地保存的同时,还会保存到远程日志服务器。

2、 发送历史命令

(1)配置发送root账户的历史命令

vi /root/.bashrc //编辑root的配置文件,在文件末尾加入下面的内容

function log2syslog
{
declare command
command=$(fc -ln -0)
logger -p local1.notice -t bash -i - $USER : "$command"

}
trap log2syslog DEBUG

保存退出

fc是shell的内置命令,作用是获取命令历史,$(fc -ln -0)返回最近执行的一条命令。

logger命令将消息发送到系统日志,-p设置消息的设施名为local1,优先级为notice。

注意在$command两端需要有双引号。

(2)配置发送普通用户的历史命令

vi /home/sec/.bashrc //编辑sec用户的配置文件,在文件末尾加入下面的内容

function log2syslog

{

declare command

command=$(fc -ln -0)

logger -p local1.notice -t bash -i - $USER : "$command"

}

trap log2syslog DEBUG

保存退出

(3)修改用户配置模板

vi /etc/skel/.bashrc //编辑用户配置模板目录中的.bashrc文件,加入下面的内容

function log2syslog

{

declare command

command=$(fc -ln -0)

logger -p local1.notice -t bash -i - $USER : "$command"

}

trap log2syslog DEBUG

保存退出。该文件修改后,系统所创建的新用户,其.bashrc文件中都会含有上述发送历史命令的的指令。

3、 配置rsyslog服务

vi /etc/rsyslog.conf //编辑配置文件

//将local1.none加入下面的行

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

//local1.none的意思是,设施名为local1的消息不写入本行指定的文件。这样,messages文件中就不会保存本地用户的历史命令了。(命令历史默认已经保存到用户的.bash_history文件中了)

//文档末尾加入一行,将历史命令发往日志服务器

local1.notice @@192.168.43.234:514

保存退出。

systemctl restart rsyslog //重启服务,使配置更改生效

(二)日志服务器配置

1、 rsyslog服务配置

vi /etc/rsyslog.conf //取消下面两行的注释

$ModLoad imtcp

$InputTCPServerRun 514

//注释掉原有的ActionFileDefaultTemplate指令(使用传统的格式)

#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

//使用自定义的时间格式

$template myformat,"%$NOW% %TIMESTAMP:8:15% %hostname% %syslogtag% %msg%\n"

$ActionFileDefaultTemplate myformat

//在RULES段的前面写入下面的行

$template local1_path, "/var/log/%FROMHOST-IP%/bash_history/%$YEAR%%$MONTH%.log"

$template remote_path, "/var/log/%FROMHOST-IP%/%syslogfacility-text%/%$YEAR%%$MONTH%.log"

if $fromhost-ip != '127.0.0.1' and $syslogfacility-text == 'local1' then ?local1_path

& ~

if $fromhost-ip != '127.0.0.1' then ?remote_path

& ~

保存退出。

$template定义了两个模板,名称分别为local1_path和remote_path,模板名称后面指定了将消息保存到的日志文件的路径。

if开头的指令是基于表达式的过滤器。第一条if指令的意思是,如果日志消息的来源IP地址不是本机,且消息的syslogfacility-text为local1,那么将这条消息写入由模板local1_path对应的文件。

& ~的含义是让满足上面过滤器条件的消息不再匹配后续的规则。默认情况下,日志消息会按顺序匹配rsyslog.conf中的每条规则。& ~在这里会让消息跳过后面的规则,这样这条消息就不会再被写入其他的日志文件了。

第二条if开头的指令将来自于本机之外的所有日志消息(由于前面的& ~,满足这个条件的只有auth、authpriv和cron消息)写入remote_path所对应的文件。

systemctl restart rsyslog //重启服务

2、 防火墙配置

firewall-cmd --zone=public --add-port=514/tcp

四、总结

通过以上的配置,不同日志客户端发来的日志可以分开保存,在出现安全事件时可以快速找到相应日志。另外,rsyslog服务器也可以配置为中继转发,方法也很简单,就是将日志服务器作为rsyslog的客户端进行配置。这样,rsyslog服务器接收日志后在本地保留一份,同时还将日志发送出去,例如发给审计设备或日志显示平台如graylog、ELK等。

到此,关于"CentOS7系统怎么配置rsyslog服务发送和接收日志"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

日志 服务 配置 文件 消息 命令 服务器 历史 系统 用户 客户 客户端 面的 指令 模板 末尾 学习 任务 内容 方式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 阿里云数据库修改密码 财务软件开发用什么 数据库复合索引名词解释 北京it软件开发 为什么要建设成本数据库 软件开发培训学校湖 看片服务器是什么样子的 计算机网络技术人员职业定义 软件开发的首页 曙光服务器默认管理地址多少 如何提升职工网络安全意识 计算机网络安全技术... sql批量导出数据库名 服务器硬盘名称和槽位号关系 图书馆数据库订购调研 苹果服务器为什么在贵州安全了 凤凰模拟器联机连不上主服务器 财税大数据软件开发公司 数据库远程备份软件中文免费版 小学生要注意的哪些网络安全示例 学网络技术专业技术怎么样 数据库服务无法停止 信宜佳峰网络技术服务部 生命科学文摘数据库 16g服务器内存 阿里云1核2g的云服务器能干嘛 数据库原理及应用随堂测试 主修课程有计算机网络技术英语 qt web服务器 数据库原理介绍
0