等保合规 | Rsyslog 高阶玩法:审计日志平移直通 VictoriaLogs 实践指南

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ]
📢 大家好,我是 WeiyiGeek,一名深耕安全运维开发(SecOpsDev)领域的技术从业者,致力于探索DevOps与安全的融合(DevSecOps),自动化运维工具开发与实践,企业网络安全防护,欢迎各位道友一起学习交流、一起进步 🚀,若此文对你有帮助,一定记得倒点个关注⭐与小红星❤️,收藏学习不迷路 😋 。
0x00 前言简述
作为一名不能躺平的IT运维工程师,最近又在折腾了,将企业中原本存储在 Loki 中的 syslog 网络审计日志转发到最新的日志聚合平台 VictoriaLogs 中,为啥将 Loki 存储的审计日志迁移到 VictoriaLogs呢?
主要是因为 VictoriaLogs 相比于 Loki,在日志聚合查询方面更加灵活,性能好,资源相当于Loki耗费少,所以作者将应用日志迁移到 VictoriaLogs 之后,顺便也将网络审计日志迁移过去,本节就如何在 rsyslog 中将网络设备、安全设备、带外设备转发的日志使用 Template 模板进行自定义格式为 RFC5424 标准格式,并通过两种方式转发到 VictoriaLogs 日志服务器中,作者在实践中花费了一些时间踩坑,所以做一个简单的记录,以帮助其他运维工程师参考(闭坑)。
此处,作者就不在赘述 rsyslog、Loki 与 VictoriaLogs 的介绍了,有兴趣的可以查看作者【全栈工程师修炼指南】公众号专栏文章,以及【全栈工程师修炼指南】知识星球或者自行查阅相关官网资料。
【网安合规】Rsyslog 开源日志服务器 - 快速收集企业网络日志,合规利器!
如何使用Grafana+Loki+Promtail日志聚合系统针对Kubernetes集群中Pods应用日志采集搜索展示
比Loki更轻量、更高效!VictoriaLogs日志系统初识与二进制部署指南
作者新思路,在浏览 rsyslog 官方文档的时候,发现 rsyslog 可使用 ClickHouse Output Module 插件模块,支持将日志直接转发到 clickhouse 列式数据中进行实时分析,对于已选型的 clickhouse 来说,作者是极大的推荐,毕竟 clickhouse 可能会成为日志存储分析的主流工具。
文章末尾有 rsyslog 完整配置示例,若有使用方面的疑问,可在文章末尾评论,以及联系作者沟通交流。
原文链接:https://articles.zsxq.com/id_8fhk4x6a0vw2.html
0x01 环境准备
作者实践环境准备如下所示:
# 操作系统环境及服务版本
Kylin Linux Advanced Server V10 SP3 (Lance)-x86_64-Build23/20230324
rsyslogd 8.2506.0 (aka 2025.04)
victoriametrics/victoria-logs:v1.24.0-victorialogs
# 主机规划
192.168.10.135:514 # rsyslog 日志服务器
192.168.10.136:9428 # VictoriaLogs 日志服务 http 接收端口
192.168.10.136:9514 # VictoriaLogs 日志服务 syslog 接收端口
特别提示:这里的 Kylin Linux 国产操作系统已经使用脚本进行安全加固有需要的童鞋可访问【网安等保 | 主机安全之KylinOS银河麒麟服务器配置优化与安全加固基线文档脚本分享】文章获取脚本, 其次是 rsyslog 版本是最新版的,所以大家在实践时可选择升级到最新版,因为 rsyslog 官方文档中提及的很多特性在最新版本中得到支持。
我们如何知道 Linux 中的 rsyslogd 服务是否安装且启动了呢?执行如下三条命令即可。
rsyslogd -v
ps aux | grep "rsyslog" | grep -v "grep"
systemctl list-unit-files rsyslog.service
若系统中未安装 rsyslog,可通过如下操作进行安装。
安装 rsyslog
在 Redhat 以及 Debian 、Ubuntu 主机中安装和配置rsyslog是一个相对直接的过程,因为rsyslog通常作为默认的系统日志守护进程,以下是安装和基本配置rsyslog的步骤。
步骤 1: 安装 rsyslog
常规安装 rsyslog 工具(由于上游软件源可能更新不及时,因此版本可能不是最新)
# Redhat 系列
$ sudo yum install rsyslog
# 或者 CentOS8 使用 dnf 软件包安装工具进行安装
sudo dnf install rsyslog
# Debian 系列
$ sudo apt-get install rsyslog
# Alpine 系列
$ sudo apk add rsyslog
或者,使用 rpm 源安装最新版 rsyslog 工具
# 使用rpm源安装最新版本 rsyslog,需以root用户身份从命令行执行以下命令:
wget http://rpms.adiscon.com/v8-stable/rsyslog.repo -O /etc/yum.repos.d/rsyslog.repo # for CentOS 7,8,9
wget http://rpms.adiscon.com/v8-stable/rsyslog-rhel.repo -O /etc/yum.repos.d/rsyslog-rhel.repo # for RHEL 7,8,9
# 定义 releasever 变量
echo 8 > /etc/yum/vars/releasever
# 查看 rsyslog 源仓库配置
$ cat rsyslog.repo
[rsyslog_v8]
name=Adiscon CentOS-$releasever - local packages for$basearch
baseurl=http://rpms.adiscon.com/v8-stable/epel-$releasever/$basearch
enabled=1
gpgcheck=0
gpgkey=https://rpms.adiscon.com/RPM-GPG-KEY-Adiscon
protect=1
# 安装
yum update && yum install rsyslog
# 更新
yum update && yum update rsyslog
# 查看 rsyslog 版本
rsyslogd 8.2506.0 (aka 2025.04) compiled with:
PLATFORM: x86_64-redhat-linux-gnu
PLATFORM (lsb_release -d):
FEATURE_REGEXP: Yes
GSSAPI Kerberos 5 support: Yes
FEATURE_DEBUG (debug build, slow code): No
32bit Atomic operations supported: Yes
64bit Atomic operations supported: Yes
memory allocator: system default
Runtime Instrumentation (slow code): No
uuid support: Yes
systemd support: Yes
Config file: /etc/rsyslog.conf
PID file: /var/run/syslogd.pid
Number of Bits in RainerScript integers: 64
See https://www.rsyslog.com for more information.
步骤 2: 启动和启用 rsyslog 服务
安装完毕后,您需要启动rsyslog服务,并设置为开机自启:
sudo systemctl start rsyslog
sudo systemctl enable rsyslog
使用以下命令检查rsyslog服务状态,确保它正在运行:
sudo systemctl status rsyslog
Rsyslog 最新版及历史版本下载地址参考:https://www.rsyslog.com/downloads/download-other/
安装 VictoriaLogs
以 docker 环境下安装 VictoriaLogs 日志服务器为例,如下所示:
更多推荐
所有评论(0)