从0到1:基于 Linux 打造企业级集中日志审计系统

随着企业对安全合规要求的提升,日志审计已成为信息系统不可或缺的一环。本实践指南将带你从零搭建一个高性能、可视化的集中日志审计系统,基于:

o Rsyslog:高性能日志收集转发器

o Elasticsearch:日志索引和存储引擎

o Grafana:日志审计与可视化界面

o Logstash(可选):日志解析与过滤处理器




二、系统架构设计图


(生成图见后方)


系统采用以下架构:

o 所有 Linux 服务器通过 Rsyslog 将日志发送至日志中心

o 日志中心通过 Rsyslog + Elasticsearch 存储日志

o Grafana 对接 Elasticsearch,提供图形化界面进行日志检索和告警




三、部署环境准备

组件

说明

操作系统

CentOS 7 或 Ubuntu 20+

Rsyslog

>= 8.2001

Elasticsearch

7.x / 8.x

Grafana

>= 8.x

1. 关闭防火墙与 SELinux(仅测试环境)

# CentOS 示例

systemctl stop firewalld && systemctl disable firewalld

setenforce 0

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config





四、安装 Rsyslog 服务(客户端与服务器)


1. 安装 Rsyslog

yum install rsyslog -y

# 或 Ubuntu

apt-get install rsyslog -y

2. 启用远程日志发送(客户端)


编辑 /etc/rsyslog.conf,添加:

*.* @192.168.10.10:514 # UDP 方式

# 或

*.* @@192.168.10.10:514 # TCP 方式

重启服务:

systemctl restart rsyslog





五、Rsyslog 服务端配置


1. 启用 Rsyslog 监听端口


编辑 /etc/rsyslog.conf:

# 启用 UDP/TCP 接收功能

module(load="imudp")

input(type="imudp" port="514")


module(load="imtcp")

input(type="imtcp" port="514")

2. 将日志输出到文件或 Elasticsearch(推荐)


使用文件方式:

$template RemoteLogs,"/var/log/remote/%HOSTNAME%/%PROGRAMNAME%.log"

*.* ?RemoteLogs

使用 Elasticsearch:

module(load="omelasticsearch")

action(type="omelasticsearch"

server="127.0.0.1"

serverport="9200"

template="RSYSLOG_Elasticsearch"

dynSearchIndex="on"

searchIndex="syslog-%$YEAR%-%$MONTH%"

)





六、部署 Elasticsearch

# 安装 OpenJDK

yum install java-1.8.0-openjdk -y


# 下载并安装 Elasticsearch

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.0-x86_64.rpm

rpm -ivh elasticsearch-7.17.0-x86_64.rpm


# 修改配置文件

vim /etc/elasticsearch/elasticsearch.yml

# 配置监听地址、集群名称等


systemctl enable elasticsearch --now





七、部署 Grafana 进行日志可视化

# 安装

yum install grafana -y

systemctl enable grafana-server --now


# 浏览器访问 http://<IP>:3000

# 默认用户:admin / admin

在 Grafana 添加 Elasticsearch 作为数据源,创建日志仪表盘。





八、实战演示:查看某台服务器登录日志


使用如下 Kibana 查询语法(或在 Grafana 设置查询):

programname:sshd AND message:"Accepted password"

可视化登录日志次数、IP 分布等安全事件。





九、总结与加分项

o 支持多租户、日志归档、鉴权认证可进一步集成 Graylog

o 可结合 Filebeat 进一步优化性能

o 可配合 OSS、Ceph、MinIO 进行长期日志归档

原文链接:,转发请注明来源!