分析 Linux/Unix 系统及其他网络设备生成的系统日志(Syslog),是IT管理员的核心工作内容之一。为提升日志分析的效率,管理员通常会采用日志集中采集的方式。
本文详细介绍将 CentOS 系统配置为 rsyslog 集中采集服务器的具体步骤。
Rsyslog 服务在 CentOS 8 系统中为默认预装状态。你可在终端执行以下命令,检查服务运行状态:
$ systemctl status rsyslog
若命令返回的服务状态不为 Active: active (running)(运行中),请在终端执行以下命令安装 rsyslog:
$ sudo yum install rsyslog
如需通过 UDP 和 TCP 协议接收来自其他设备的系统日志,需编辑配置文件 /etc/rsyslog.conf,取消对应配置项的注释,以启用 TCP 和 UDP 监听功能。
•启用 UDP 协议:取消以下配置行的注释
module(load="imudp") #needs to be done just once
input(type="imudp" port="514")
•启用 TCP 协议:取消以下配置行的注释
module(load="imtcp") #needs to be done just once
input(type="imtcp" port="514")
注意
514 是 UDP 和 TCP 协议的默认监听端口,你可根据实际需求修改端口号。
保存配置并退出编辑界面。
确保客户端主机能够识别并与已配置的 rsyslog 服务器通信。为开放通信端口,需在防火墙中放行 514 端口,执行以下命令:
$ sudo firewall-cmd --add-port=514/tcp --zone=public --permanent
重新加载防火墙配置,使规则生效:
$ sudo firewall-cmd --reload
重启 rsyslog 服务,并执行以下命令,检查服务器是否已在 514 端口监听:
$ sudo netstat -pnltu
若配置成功,你会看到 514 端口的状态显示为 LISTEN(监听中)。
至此,基于 CentOS 系统的集中式 Syslog 采集服务器已配置完成。如需实时查看已采集的日志,可在服务器端执行以下命令:
$ tail -f /var/log/messages
如何监控 rsyslog 日志文件
监控系统日志文件至关重要,这些日志可直观反映网络活动的详细情况,包括事件涉及的 IP 地址、时间戳、具体操作行为,以及对系统执行的关键配置变更等信息。
但手动监控 rsyslog 日志文件耗时费力,且难以实现高效的日志分析。通过专业的日志管理解决方案监控 rsyslog 日志,能够对日志数据进行深度解析。
EventLog Analyzer 是一款功能完善的日志管理工具,它可实现海量 rsyslog 数据的采集、解析、索引与分析,并生成可视化的统计报告。
工具会自动将检测到的恶意行为标记为安全威胁,并通过短信或邮件触发实时告警,及时通知 IT 安全管理员防范潜在的网络攻击。