支持
 
支持 获取报价
 
 
 
 

什么是 syslog?完整指南

最后更新于:
 

什么是 syslog?

Syslog 是 IT 基础设施事件日志记录的标准化框架。它使各种系统——从网络硬件到应用程序——能够向中央 syslog 服务器 发送事件消息。

它从 RFC 3164(2001 年)到 RFC 5424(2009 年)的演进使标准现代化,引入了结构化数据和分层架构,将事件生成与存储和分析解耦。

syslog 的核心解决了异构环境中的关键问题,提供了一种通用语言,连接不同技术,并在复杂的多厂商环境中实现 集中式日志管理

Syslog 守护进程

虽然 syslog 指的是标准化的协议和消息格式,但该术语也常用于描述 syslog 守护进程,即在 Unix 和 Linux 系统上实现该协议的后台服务。

常见的 syslog 守护进程实现:

  • syslogd: 原始的 BSD syslog 守护进程,仍存在于遗留系统中
  • rsyslog: 现代高性能继任者,具备增强的过滤功能、TCP 和 TLS 支持及数据库集成(大多数 Linux 发行版的默认守护进程)
  • syslog-ng: 另一种高级实现,提供灵活的日志路由和解析能力

这些守护进程在系统上持续运行,监听来自本地进程和远程设备的日志消息,然后根据配置规则(通常位于 /etc/rsyslog.conf 或 /etc/syslog-ng.conf)进行处理。

为什么 syslog 很重要?

除了技术定义外,syslog 还提供了关键的业务价值。它已成为行业首选的事件通信标准,因为它与厂商无关、轻量、实时且集中。它可无缝跨平台工作,从 Cisco 到 Windows;运行开销极小;提供即时事件通知;并将所有日志整合到单一统一视图,实现全面可见性。

  • 集中可见性: 将来自不同来源(如网络设备、应用程序、服务器和安全工具)的日志汇聚到单一视窗中。
  • 故障排除与诊断: 跨系统关联事件,快速识别故障或性能问题的根本原因。
  • 安全与合规: 提供安全事件(如登录失败或策略变更)的审计追踪,帮助满足要求日志收集和保留的法规(如 PCI DSS、HIPAA 和 SOX)。
  • 主动监控: 基于特定日志事件设置警报,使团队能在问题影响用户之前做出响应。
  • 取证分析: 存储历史日志数据,用于调查过去的安全漏洞或运营事件。

Syslog 将孤立的技术事件转化为可操作的情报,推动运营稳定性、安全韧性和法规合规。

syslog 系统的关键组件

每个 syslog 实现都包含四个基本构建块,它们协同工作以创建完整的日志基础设施。主要组件包括:

组件 角色 示例
Syslog 生成者 生成并发送 syslog 消息。任何具备日志功能的设备或应用都可以作为生成者。 Cisco 路由器、Juniper 防火墙、Linux 服务器或 Apache Web 服务器
Syslog收集器 接收、存储并可选择性过滤消息。在 Linux 或 Unix 系统上,通常是作为后台服务运行的 syslog 守护进程(如 rsyslog 或 syslog-ng)。 rsyslog、syslog-ng、syslogd 或 ManageEngine EventLog Analyzer
Syslog 中继 将消息转发给另一个收集器或中继。通常在分段网络架构中执行协议转换(UDP 到 TCP 或 TLS)和聚合。 DMZ中的中继转发,rsyslog的转发模式,或syslog-ng中继配置
Syslog 分析器 解析、关联、丰富并对syslog数据发出警报。将原始日志转换为可操作的安全和运营情报。 日志管理工具,如ManageEngine EventLog Analyzer、Splunk或ELK Stack

了解这些组件——发起者、收集器、中继和分析器——对于设计可扩展且高效的日志管理架构至关重要。

Syslog 传输协议

您为syslog选择的传输协议决定了消息在网络中的传输方式,影响性能、可靠性和安全性。Syslog可以通过UDP、TCP、TLS和RELP传输——每种协议在可靠性、安全性和开销方面各有权衡。UDP是网络设备的历史默认;TCP为服务器和应用程序增加了可靠传输;TLS为合规或不受信任的网络增加了加密;RELP保证了连接中断时的消息传递。有关完整的比较和决策框架,请参见syslog protocols页面。

了解 syslog 消息格式(RFC 3164 与 RFC 5424)

Syslog消息不仅仅是简单的文本条目——它们是为服务器、网络设备和安全工具之间的互操作性设计的结构化事件。所使用的格式标准决定了SIEM解决方案解析、分类和关联这些事件的一致性。如今,组织通常会遇到两种格式:RFC 3164(经典BSD风格格式)和RFC 5424(现代结构化格式)。

PRI值:设施和严重性编码在一起

每条syslog消息都以PRI值开头——一个用尖括号括起来的数字,编码了两个属性:生成消息的子系统(设施)和消息的紧急程度(严重性)。

公式很简单:

PRI = (Facility × 8) + Severity

例如,身份验证错误(设施4,严重性3)产生PRI 35,在线传输时写作<35>。内核紧急(设施0,严重性0)产生PRI 0,写作<0>。

设施值范围从0到23。值0–15保留给标准系统子系统(内核、用户级消息、邮件、身份验证、syslog本身等)。值16–23为local0到local7,供应用程序、网络设备和自定义设备使用。有关完整的设施代码列表及路由示例,请参见syslog facilities页面。

严重性值范围从0(紧急——系统不可用)到7(调试)。数字越低表示紧急程度越高,这对警报阈值配置很重要:设置严重性为3的警报会捕获紧急、警报、严重和错误事件,忽略常规信息噪声。有关完整的严重性级别参考,请参见syslog severity levels页面。

传统syslog格式(RFC 3164,或BSD syslog)

RFC 3164是最早的syslog标准之一,因其轻量且灵活的特性仍然流行。大多数路由器、交换机和遗留设备仍默认使用此格式。然而,由于该RFC定义较为宽松,不同厂商对某些字段的实现略有差异,尤其是时间戳和标签。

结构概览:时间戳 主机名 标签: 消息

组件详情:

  • PRI(优先级): 一个结合了设施和严重性的单一数字。日志管理工具高度依赖PRI来分类事件类型。
  • 时间戳: 使用人类可读的日期格式,但缺少时区信息,这可能在分布式或云环境中引发问题。

  • 主机名: 标识发起设备。不可用时,一些设备会发送IP地址代替。
  • 标签: 表示应用程序或进程,帮助分析人员快速识别事件来源。
  • 消息: 事件的描述文本,有时包括用户名、IP地址或错误详情。

示例:<34>Oct 28 10:15:01 webserver01 sshd[1234]: Failed password for root from 192.168.1.100 port 22 ssh2

尽管较旧,RFC 3164在设备混合或需要广泛兼容性的环境中仍然重要。

结构化syslog格式(RFC 5424)

RFC 5424通过使消息更可预测且更易于自动化系统解析来现代化syslog。它增加了时间戳的精度、明确的版本控制和对UTF-8的支持,非常适合云平台、微服务和现代安全系统。

结构概览: 版本 时间戳 主机名 应用名 进程ID 消息ID [结构化数据] 消息

组件详情:

  • 版本: 标识syslog协议版本,确保解析器知道预期格式。
  • 时间戳: 高精度ISO 8601时间戳(含时区)提升了分布式环境中的事件关联能力。
  • 应用名、进程ID、消息ID: 提供应用程序的一致元数据,使日志更易搜索和扩展。
  • 结构化数据: 最具影响力的增强。它使用标准化的键值对并支持厂商特定扩展,实现无需大量正则表达式即可可靠解析。
  • 消息: 最终的消息正文,支持UTF-8,提升多语言环境下的可读性。

示例: <34>1 2023-10-28T10:15:01.003Z webserver01 sshd 1234 - [exampleSDID@32473 iut="3" eventSource="Application" eventID="1011"] Failed password for root from 192.168.1.100 port 22 ssh2

RFC 5424更可预测且详细,帮助SIEM解决方案更快且更少解析错误地关联事件。

syslog 存储在哪里?

在Linux和Unix系统上,syslog守护进程将消息写入/var/log/下的纯文本日志文件。具体文件名因发行版和守护进程配置而异,但常见默认值足够一致,便于调查时查找。

  • /var/log/syslog: Debian、Ubuntu及其衍生版使用的通用日志文件。捕获大多数设施的消息。
  • /var/log/messages: RHEL、CentOS、Fedora及其他基于Red Hat的发行版的等效通用日志。
  • /var/log/auth.log (Debian/Ubuntu) 或 /var/log/secure (RHEL/CentOS): 认证和授权事件,包括SSH登录、sudo调用和PAM活动。
  • /var/log/kern.log: 内核消息,包括硬件错误、驱动警告和启动时事件。
  • /var/log/mail.log 和 /var/log/cron: 分别为邮件子系统和计划任务事件日志。

哪些消息记录到哪个文件由 syslog 守护进程的配置控制——通常是 rsyslog 的 /etc/rsyslog.conf 和 /etc/rsyslog.d/ 下的文件,或 syslog-ng 的 /etc/syslog-ng/syslog-ng.conf。路由规则根据 facility 和 severity 匹配,然后将匹配的消息定向到相应的文件、远程收集器,或两者兼有。

/var/log/ 下的日志文件由 logrotate 自动轮换,logrotate 会根据 /etc/logrotate.conf 中的策略和 /etc/logrotate.d/ 下的每个应用规则压缩旧日志并最终删除。默认保留时间通常为四周,但应根据合规要求延长——大多数监管框架要求日志保留 1 到 7 年。

syslog 通信如何工作:数据流

既然我们了解了组件和消息结构,接下来看看它们在典型日志工作流中的交互方式。

Syslog 遵循简单但高度可扩展的客户端-服务器设计。设备上生成的每条消息都会经过一系列可预测的组件,最终到达存储、解析或分析的目的地。理解此流程对于正确配置、故障排除和安全部署至关重要。

  1. 事件生成: 网络设备上的进程(sshd)检测到事件(例如,登录失败)。
  2. 消息格式化: 设备的 syslog 库将事件格式化为标准 syslog 消息(例如,RFC 3164)。
  3. 传输: 消息通过网络使用 UDP 514(常用、快速但不可靠)、TCP 514(可靠)或 TLS 6514(安全且可靠)发送到配置的 syslog 服务器 IP 地址。
  4. 接收与解析: syslog 服务器监听配置端口,接收消息并解析其组成部分(PRI、主机名、时间戳和消息内容)。
  5. 存储与操作: 服务器将解析后的日志存储在数据库或文件系统中。根据预配置规则,可能触发警报、生成报告或执行实时关联。

从事件生成到传输再到集中处理的标准化流程,使得无论源设备或应用如何,日志管理都保持一致。

syslog 的常见用例

Syslog 的多功能性使其适用于各种 IT 领域。以下是一些最常见的实施场景。

  • 网络设备监控: 跟踪接口状态变化、路由更新以及防火墙上的 ACL 命中。
  • 服务器健康监控: 监控 Linux 或 Unix 服务器的磁盘空间、CPU 峰值、服务故障和用户登录。
  • 在 SIEM 中: 作为安全事件关联和威胁检测的主要数据源。
  • 应用程序日志: 开发人员可以对应用程序进行监控,将日志记录到本地 syslog 守护进程,再转发到中央收集器。
  • 审计与合规: 创建不可篡改的记录,记录谁在何时做了什么,以满足监管审计要求。

从基础系统监控到复杂的安全分析,syslog 作为支持多个关键 IT 功能的基础数据层。

传统 syslog 的限制与注意事项

尽管被广泛采用,传统 syslog 实现存在固有局限,现代管理员必须加以解决。

  • 缺乏可靠性(UDP): 默认的 UDP 传输不保证消息送达;网络拥堵时消息可能丢失。
  • 无身份验证: 消息可能被伪造。攻击者可以伪装成关键设备发送假日志。
  • 无加密(端口 514): 传统 syslog 以明文传输,敏感数据易被网络嗅探。
  • 解析难题(RFC 3164): 非结构化消息和宽松的时间戳标准使自动分析复杂。
  • 消息大小限制: 传统 UDP syslog 通常限制约 1024 字节,导致冗长日志被截断。

这些限制并不使 syslog 过时,但确实需要谨慎规划,并常常在生产环境中实施补充技术。

syslog 记录的最佳实践

为克服传统 syslog 限制同时保持兼容性,出现了多种增强措施和实践。采用以下做法:

  • 使用基于 TLS 的 syslog(端口 6514): 对于任何敏感或合规相关数据,始终使用 RFC 5425(基于 TLS 的 syslog)以确保加密和完整性。
  • 优先使用 TCP 代替 UDP: 对于关键日志,使用 TCP 传输以保证送达,即使是在标准端口 514 上。
  • 采用 RFC 5424 格式: 尽可能配置设备和应用使用结构化数据格式,以便更好地解析和分析。
  • 实施日志过滤和速率限制: 在发送端或中继处过滤掉不必要的噪声(例如调试日志),以减少网络和存储负载。
  • 使用专用的 syslog 管理解决方案: 像 EventLog Analyzer 这样的工具能处理大规模的解析、存储、分析和告警,将原始 syslog 数据转化为可操作的情报。

通过实施这些现代实践,组织可以保持向后兼容,同时显著提升日志基础设施的安全性、可靠性和分析价值。

EventLog Analyzer:全面的日志管理解决方案

ManageEngine EventLog Analyzer 简化了 syslog 管理 以及来自各种来源(包括网络设备(路由器和交换机)、Linux 和 Unix 系统、服务器及应用程序)的 syslog 数据的收集、监控和分析。其用户友好的界面和强大的报告功能使检测威胁、排查问题和满足监管要求变得轻松——所有操作均可在单一集中控制台完成。

以下是 EventLog Analyzer 如何将基础 syslog 收集提升为可操作情报的方式:

  • 通用收集器和 syslog 服务器: 作为高性能 syslog 服务器,支持 UDP、TCP、TLS 和 RELP,监听端口 514 和 6514,准备接收任何设备的日志。
  • 智能解析: 自动解析并规范化来自 1000 多种预定义设备类型(例如 Cisco、Palo Alto、Fortinet 和 Linux)的日志,无论其使用 RFC 3164 还是 RFC 5424 格式。
  • 集中存储与分析: 集中存储和管理来自多个来源的 syslog,实现有效的关联和分析。
  • 开箱即用的关联和实时告警: 应用内置关联规则检测多步骤攻击模式(例如,暴力破解攻击后跟权限提升)。
  • 合规与报告: 提供针对 PCI DSS、HIPAA、FISMA 及其他法规的预置报告。
  • 安全加固: 通过对来自未知来源的 syslog 流量发出警报并提供防篡改的 日志归档,帮助实施最佳实践。

Syslog 是 IT 运营数据不可或缺的动脉。通过理解其组件,从 facility 和 severity 级别到 RFC 3164 到 5424 的演进,您可以设计出不仅功能完善且安全、可靠且富有洞察力的日志管理策略。借助 EventLog Analyzer 等工具,将基础收集提升为智能分析,是释放日志数据在安全、合规和运营卓越方面全部价值的关键。

准备好集中管理并解析您的 syslog 数据了吗?

探索 ManageEngine EventLog Analyzer 如何成为您强大的一体化 syslog 服务器和分析平台。

常见问题解答。

syslog 的主要用途是提供一个标准化框架,用于生成、传输和收集来自各种网络设备、服务器和应用程序的日志消息,集中存放以便监控、分析和日志归档。

Syslog 是一种消息日志标准。SIEM 解决方案是一种综合软件解决方案,使用 syslog 及其他方法收集日志,同时还具备高级关联、分析、威胁检测和事件响应功能。

Windows 没有原生的 syslog 守护进程。但可以使用专用代理(如 EventLog Analyzer 代理)或第三方软件将 Windows 事件日志格式转换为 syslog 格式并转发到 syslog 服务器。

syslog 守护进程是 Unix 和 Linux 系统上的后台服务,实现了 syslog 协议。它监听来自本地应用和远程设备的日志消息,根据配置规则处理这些消息,路由到文件、转发到远程服务器,或按设施和严重性过滤。

常见实现包括 rsyslog(RHEL、CentOS 和 Ubuntu 的默认)、syslog-ng(企业环境中流行)和 syslogd(原始 BSD 实现)。配置通常通过 /etc/rsyslog.conf 或类似文件管理。

结构化数据是 RFC 5424 syslog 消息中的一个部分,包含以 key=value 格式定义良好、机器可解析的数据块。它允许在日志消息中包含一致且丰富的元数据,如特定应用事件 ID、会话 ID 或文件哈希,极大增强自动化分析能力。

绝对重要。虽然云平台有自己的日志服务(例如 AWS CloudWatch logs),syslog 依然关键。许多云应用、虚拟设备和容器化应用(输出到 stdout 或 stderr,可被日志驱动捕获)配置为发送数据到集中 syslog 服务器或支持 syslog 的云收集器,实现统一可观测性。

传统 syslog 是基本守护进程。rsyslog 和 syslog-ng 是现代功能丰富的实现,提供增强的过滤、TCP 和 TLS 支持、数据库存储及高级处理能力。

通过 EventLog Analyzer 对所有主要 syslog 协议的强大支持,确保安全且合规的日志收集。

EventLog Analyzer 受信赖于

洛斯阿拉莫斯国家银行 密歇根州立大学
松下 Comcast
俄克拉荷马州立大学 IBM
埃森哲 美国银行
印孚瑟斯
安永

客户评价

  • 丹佛信用合作社使用 EventLog Analyzer 超过四年,用于内部用户活动监控。EventLog Analyzer 作为网络取证工具和合规尽职调查工具提供了极大价值。该产品可快速扩展以满足我们动态的业务需求。
    Benjamin Shumaker
    IT / ISO 副总裁
    丹佛信用合作社
  • 我最喜欢这个应用程序的是结构良好的 GUI 和自动化报告。这对网络工程师在单一仪表板上监控所有设备非常有帮助。预设报告设计巧妙。
    Joseph Graziano,MCSE CCA VCP
    高级网络工程师
    Citadel
  • EventLog Analyzer 是我们信息技术需求中一个优秀的事件日志报告和警报解决方案。它减少了我们在筛选事件日志上花费的时间,并几乎提供了接近实时的管理定义警报通知。
    Joseph E. Veretto
    运营审查专家
    信息系统办公室
    佛罗里达交通部
  • Windows 事件日志和设备 Syslogs 是计算机或网络上发生情况的实时摘要。EventLog Analyzer 是一款经济实用且易于使用的工具,通过推送实时和定时的警报及报告,让我了解网络动态。它是一款高级软件入侵检测系统应用。
    Jim Lloyd
    信息系统经理
    First Mountain 银行

奖项与认可

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
全面日志管理的单一视窗