首页/安全/取证与溯源速查/远端日志转发与缺口核查
Linux 取证135 条

远端日志转发与缺口核查

把日志转发到集中平台可在主机被清理后保留副本;核查转发配置与远端文件的连续性,是判断日志完整性的关键。

取证与溯源速查安全更新于 2026-10-13

日志远端转发

把日志实时转发到远端服务器,是应对本地日志被删除或系统被重装最有效的办法。rsyslog 的转发语法很简洁:一个 @ 表示 UDP,两个 @@ 表示 TCP。看懂这一行,就能判断现有配置是否真的把日志送了出去。

基本信息

配置文件/etc/rsyslog.conf 与 /etc/rsyslog.d/*.conf
UDP 语法*.* @主机:514
TCP 语法*.* @@主机:514
可靠性队列参数可缓解断链期间的日志丢失
加密方式通过 TLS 相关模块与证书实现
验证方式用 logger 生成测试消息并核对远端是否收到

典型使用场景

  • 判断日志是否已转发到集中平台
  • 排查转发中断导致的日志缺失
  • 评估本地日志被清理后的可恢复性
  • 核对转发范围是否覆盖关键设施
  • 为集中审计与合规检查提供配置依据

最小示例

最小示例
grep -Rn -E '^\s*[^#].*\s@{1,2}' /etc/rsyslog.conf /etc/rsyslog.d/ 2>/dev/null | head
logger -p authpriv.notice 'forward-test'          # 生成一条测试日志
tail -5 /var/log/auth.log                          # 确认本地写入
grep -Rn 'imudp\|imtcp\|omfwd' /etc/rsyslog.d/ 2>/dev/null | head
ss -tunp 2>/dev/null | grep -E ':(514|6514)' | head  # 观察转发连接
systemctl status rsyslog --no-pager | head -8      # 服务运行状态

要素与注意

要素含义注意
单个 @UDP 转发不保证送达,网络拥塞会丢包
双 @@TCP 转发可确认连接状态,可靠性更高
目标端口默认 514,加密常用其它端口需确认远端监听端口
队列配置断链时暂存消息未配置队列则断链即丢日志
过滤规则决定转发哪些设施范围过窄会漏掉关键日志
UDP 转发在网络拥塞时会丢包,重要环境建议使用 TCP 并配置队列,把断链期间的日志暂存下来。
转发中断期间本地日志仍在写入,采集时要把本地文件作为兜底来源,不能只依赖远端平台的数据。
加密转发需要先部署证书并加载相应模块,仅把端口改成常见加密端口不会自动启用加密。
修改转发配置会即时改变日志流向,可能造成证据链中断;变更前记录现有配置与文件哈希。

易错点

  • 把 @ 与 @@ 混用:UDP 与 TCP 的可靠性差异很大,误配会在关键时刻丢日志
  • 只看配置不看实际连接:配置存在不代表转发成功,需要生成测试消息并核对远端落地
  • 忽略队列设置:链路中断时没有队列就无法补发,缺失日志永久丢失
  • 改配置前不记录现状:变更后无法说明原始转发范围,证据链出现断点

数据来源与参考

  • rsyslog 官方文档(转发与队列配置)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌