• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

防火墙日志缓冲区问题

16小时前提问
  • 0关注
  • 0收藏,54浏览
粉丝:0人 关注:0人

问题描述:

防火墙配置将日志输出值日志缓冲区后,上限是1024条,如果我一秒的日志大于1024条是不是就会被覆盖丢弃,我目前发现安全策略日志有丢失记录不全,是不是这个原因导致的

Log buffer: Enabled

    Max buffer size 1024, current buffer size 1024

    Current messages 1024, dropped messages 0, overwritten messages 58961

Log file: Enabled

Security log file: Enabled

Information timestamp format:

    Log host: Date

    Other output destination: Date

 

 

4 个回答
粉丝:133人 关注:11人

是的

超了就覆盖最早的 

暂无评论

粉丝:13人 关注:9人

是。日志缓冲区上限1024条,若每秒日志量超过1024条,新日志会覆盖旧日志(overwritten messages增长),导致旧日志丢失。当前overwritten messages为58961,说明已有大量日志被覆盖,这是安全策略日志丢失的原因之一。
排查步骤:
1. 查看日志缓冲区状态:display logbuffer
2. 查看日志文件配置:display logfile
3. 若需保留更多日志,建议配置日志文件存储(增大文件大小或数量)或发送到日志服务器。
关键配置命令(以日志文件为例):
配置日志文件存储
logfile enable
logfile size 10240 # 增大日志文件大小(单位:KB)
logfile number 5 # 保留5个日志文件
配置日志服务器(推荐)
log host ip-address 192.168.1.100
log host facility local7
log host level informational

暂无评论

粉丝:23人 关注:2人

一、先回答你的核心疑问

缓冲区上限 1024 条,如果一秒产生日志大于 1024 条,会发生什么?
  1. logbuffer 是内存循环环形缓冲区
    满 1024 条之后,新日志直接覆盖缓冲区里最古老日志,对应字段:overwritten messages 58961
    overwritten messages = 被覆盖旧日志数量
    dropped messages = 内存分配失败、极端拥塞直接丢弃日志数量
    你现场 dropped messages=0,说明没有发生内存层面直接丢弃,丢失是【旧日志被循环覆盖】造成
你观察到「安全策略日志记录不全」很大概率就是这个原因
重点区分:
Web 界面看到的实时日志,读取的就是内存 logbuffer;一旦流量高峰日志爆发,缓冲区迅速填满,较早的策略日志直接被新日志覆盖,你在页面就查不到历史记录。
⚠️ 重要限制:多数 SecPath 防火墙通用 logbuffer 最大上限就是 1024 条,无法继续调大,不能通过命令扩容到更大。

二、容易混淆的两套日志存储(关键区分)

  1. logbuffer(内存缓冲区)
    • 存放位置:内存,重启全部清空
    • 上限:最多 1024 条
    • 用途:Web 页面实时查看日志、display logbuffer查询
    • 风险:流量风暴下极易覆盖丢失
  2. logfile /security log file(本地 Flash / 硬盘日志文件)
    • 持久化存储,不受 1024 条限制,支持滚动文件
    • 注意:日志先写入 logbuffer,再异步刷入日志文件;刷写存在时延
    • 极端日志爆发场景,缓冲区日志来不及落盘就被覆盖 → 本地文件同样缺失部分记录

三、安全策略日志丢失完整根因排查清单

1)首要:内存缓冲区覆盖(你当前现象)

overwritten messages 58961 数值持续上涨,证明长期处于写满覆盖状态。
流量高峰,会话 / 策略命中日志大量产生,1024 条缓存很快打满,早期日志被覆盖。

2)次要:日志输出通道与级别过滤

安全策略命中日志(POLICY 模块)默认级别为 informational,核查信息中心是否允许 POLICY 日志输出到 buffer、日志文件:
plaintext
display current-configuration | include info-center source POLICY

3)会话统计开关(必查!很多人遗漏)

安全策略流量日志依赖会话统计开启,未开启则不会产生大量策略日志:
plaintext
display current-configuration | include session statistics enable

4)日志落盘异步延迟

日志先驻留内存 buffer,定时批量写入本地文件;峰值大量日志涌入,来不及写入就被覆盖,本地日志文件同样缺记录。

四、落地整改方案(按优先级)

✅方案 1:部署外置 Syslog 服务器【根治方案,审计场景强制推荐】

不要依赖本地 buffer / 本地文件,实时转发日志到远端 Syslog 服务器
plaintext
system-view info-center loghost x.x.x.x # 日志服务器IP # 确保POLICY策略日志允许向loghost输出 info-center source POLICY channel loghost log level informational
原理:日志产生同时一份进内存 buffer,一份实时 UDP 发往远端服务器,不受本地 1024 条缓冲区限制,不会被覆盖丢失。

✅方案 2:优化本地持久化(辅助补充)

plaintext
# 开启安全日志文件 security logfile enable # 缩短日志缓冲区落盘间隔,加快写入硬盘 info-center logbuffer save interval 3
仅缓解,不能根治;极端爆发流量依然存在来不及落盘被覆盖风险。

✅方案 3:日志过滤,精简无用日志(减轻缓冲区压力)

区分审计需求:
  • 只保留必要策略命中日志;
  • 屏蔽大量重复的无关日志(端口 UP/DOWN、调试类日志),降低日志产生速率。

✅方案 4:不要依靠 Web 页面回看历史日志

Web 读取的是内存 logbuffer,只能看近期少量日志;历史审计必须以外置 syslog 服务器日志为准。

五、关键误区澄清

  1. ❌ 不要误以为开启logfile就不会丢日志
    日志是异步刷盘,缓冲区满、写入不及时依然丢失;外置 syslog 实时转发可靠性远高于本地文件。
  2. ❌ 不要尝试调大 logbuffer size
    该款防火墙通用缓冲区上限硬限制 1024,info-center logbuffer size最大只能设置 1024,无法扩容。
  3. overwritten messages ≠ dropped messages
  • overwritten:缓冲区满,旧日志被覆盖(你当前场景)
  • dropped:系统内存不足,新日志直接丢弃(你现场目前没有发生)

六、极简总结

  1. 当前overwritten messages 58961持续增长,安全策略日志不全主要就是 logbuffer 1024 条上限循环覆盖导致
  2. Web 界面日志来源为内存缓冲区,不适合做长期审计;
  3. 审计场景最优方案:配置外置 Syslog 服务器实时接收日志
  4. 本地日志文件仅作为辅助备份,无法彻底解决峰值日志覆盖丢失问题。

暂无评论

粉丝:26人 关注:1人

是的,你的判断完全正确。日志丢失就是因为每秒产生的日志量(>1024条)远超缓冲区的容量(1024条),导致旧日志被迅速覆盖。

你日志信息中的 overwritten messages: 58961 这个数字,就是问题的直接证据。它表明自系统启动以来,已有 58,961 条日志因缓冲区满而被新日志覆盖。安全策略日志通常产生量大,正是这种“覆盖”的主要受害者。

📝 为什么会出现这种情况?

H3C防火墙的日志管理遵循以下机制:

  1. 内存缓冲区(Log Buffer):这是日志的第一站,容量最大为 1024条。Web界面显示的安全策略日志,正是从这里读取的。由于其容量固定且有限,当日志产生速度超过写入速度时,新日志会直接覆盖旧日志。

  2. 日志文件(Log File):这是日志的第二站。系统会定期(通常是每天凌晨12点)将缓冲区中的日志转储到硬盘上的日志文件中。日志文件大小通常为 10MB,且存满后也会循环覆盖。

你的情况是,日志产生速度太快,在系统还没能将它们写入日志文件之前,旧日志就已经在缓冲区中被新日志覆盖掉了。

🛠️ 解决方案

针对你的情况,有几种解决方案,你可以根据需求和资源来选择:

  • 方案一:配置日志服务器(最推荐)
    这是最根本、最有效的解决方案。将日志实时发送到外部专门的日志服务器(如Syslog服务器或H3C iMC等网管平台),实现长期、完整的存储和备份。

  • 方案二:调整日志文件存储(临时缓解)
    如果暂时无法配置日志服务器,可以通过调整日志文件参数来留存更多日志。例如,增大单个日志文件的大小或增加保留的文件数量:

    text
    <H3C> system-view [H3C] logfile size 10240 # 将日志文件大小调整为10240 KB (10MB) [H3C] logfile number 5 # 保留5个日志文件

    注意:这仅是缓解措施,当日志文件存满后,旧的日志文件依然会被覆盖。

  • 方案三:限制不必要的日志输出(辅助手段)
    如果某些模块(如安全策略)日志量过大,且非必须,可以考虑关闭其日志记录功能,以减少日志总量。

  • 方案四:调整日志缓冲区大小(效果有限)
    虽然可以将缓冲区从默认的512条调整到最大1024条,但鉴于你每秒的日志量已远超此容量,这仅能争取到极其有限的时间,无法从根本上解决问题。

暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明