ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Suricata IPS 模式(Inline 入侵防御)深入解析:从概念、TCP 流引擎到异常策略

Suricata IPS 模式(Inline 入侵防御)深入解析:从概念、TCP 流引擎到异常策略 网络安全【免费下载链接】suricataSuricata is a network Intrusion Detection System, Intrusion Prevention System and Network Security Monitoring engine developed by the OISF and the Suricata community.项目地址https://gitcode.com/gh_mirrors/su/suricata点击查看免费下载Suricata 的 IPSIntrusion Prevention System入侵防御模式是其作为流量过滤器运行的核心模式默认放行全部流量再通过drop/reject规则精准拦截恶意流量。本文以官方文档《IPS Concept》为骨架结合仓库源码src/stream-tcp.c、src/app-layer-htp.c等深入讲解 IPS 与被动 IDS、防火墙模式的本质差异以及stream.inline、http-body-inline、异常策略等关键配置的底层实现。读完本文你将能理解 IPS 模式下 TCP 流引擎与 HTTP body 检查的滑动窗口机制、重叠数据重写逻辑并能在真实部署中正确配置与排查 IPS 行为。什么是 Suricata IPS 模式Suricata 有三种主要运行模式被动 IDS默认、IPS入侵防御和防火墙模式。IPS 模式是让 Suricata 充当流量过滤器traffic filter的运行模式。它的核心行为准则是默认放行所有流量与防火墙模式的默认丢弃截然相反IPS 模式对未知流量采取宽容策略用规则来阻断通过规则中的drop或reject动作来阻止不需要的流量实现默认允许、按需拦截通常以内联inline方式部署威胁检测规则被用来丢弃已知的恶意流量而不是仅仅告警。Inline 部署的两种层次文档明确指出inline 操作可以发生在两个网络层次层次典型部署方式说明二层Layer 2桥接bridge例如使用AF_PACKET或DPDKSuricata 作为透明网桥串接在链路上对经过的帧直接做转发/丢弃决策三层Layer 3路由routing例如使用NFQueue或IPFW数据包被内核队列移交到 Suricata 判定后再决定放行或丢弃两种方式的共同点是流量必须经过Suricata 才能继续前进这正是inline的含义——引擎直接站在数据通路上而不是像 IDS 模式那样旁路监听。IPS 与被动 IDS 模式的差异IPS 模式与默认的被动 IDS 模式在流量检查时机上存在根本性差异主要体现在 TCP 流引擎、HTTP body 检查以及file.data三个方面。TCP 流引擎从等 ACK到立即检查在 IDS 模式下TCP 流量只有在对应的确认包ACK到达之后才会被检查以保证检查的数据已经被对端稳定接收。而在 IPS 模式下默认行为完全不同新数据立即被检查并且在可能的情况下与之前的数据一起检查检查在一个**滑动窗口sliding window**内进行该行为由stream.inline配置项控制。从源码看stream.inline的解析逻辑位于 src/stream-tcp.c它支持auto与布尔值yes/no两种写法其中auto在 IPS 模式下自动启用 inline 标志STREAMTCP_INIT_FLAG_INLINE布尔值写法则是为了向后兼容如果配置缺失则默认按auto处理/* checking for auto and falling back to boolean to provide * backward compatibility */ if (strcmp(temp_stream_inline_str, auto) 0) { if (EngineModeIsIPS()) { stream_config.flags | STREAMTCP_INIT_FLAG_INLINE; } } else if (SCConfGetBool(stream.inline, inl) 1) { if (inl) { stream_config.flags | STREAMTCP_INIT_FLAG_INLINE; } }也就是说只要引擎以 IPS 模式启动且stream.inline为auto默认TCP 流引擎就会进入 inline 检查模式无需手动干预。重叠数据的处理以先到者为准inline 模式下TCP 段segment的重叠数据遵循先到先得原则第一个被 Suricata 接收的数据被接受后续与此重叠的数据会被拿来与第一个数据比对如果两者不同线路上的流量会被重写以匹配第一个数据。这意味着 Suricata 在 IPS 模式下不仅看流量必要时还会主动改写流量从源头消除歧义防止攻击者利用重叠数据绕过检测。滑动窗口检查的可视化原文档用一个直观的示意图展示了滑动窗口的推进过程每个[segment data N]代表一个 TCP 段的数据Packet 1: [hdr][segment data 1 ] Segments: [segment data 1 ] Window: [ inspection window ] Packet 2: [hdr][segment data 2] Segments: [segment data 1 ][segment data 2] Window: [ inspection window ] Packet 3: [hdr][segment data 3] Segments: [segment data 1 ][segment data 2][segment data 3] Window: [ inspection window ] Packet 4: [hdr][segment data 2][segment data 3][segment data 4] Window: [ inspection window ]要点是**每一个段的数赞分享网络安全【免费下载链接】suricataSuricata is a network Intrusion Detection System, Intrusion Prevention System and Network Security Monitoring engine developed by the OISF and the Suricata community.项目地址https://gitcode.com/gh_mirrors/su/suricata点击查看免费下载相关推荐Wazuh规则引擎自定义安全检测策略的完整指南Wazuh规则引擎自定义安全检测策略的完整指南 引言为什么需要自定义安全检测规则 在当今复杂的网络安全环境中预定义的安全规则往往无法完全覆盖组织的特定需网络安全IDS日志分析应用安全漏洞扫描3个隐藏技巧用Mousecape彻底改变你的Mac鼠标指针体验3个隐藏技巧用Mousecape彻底改变你的Mac鼠标指针体验 你是否已经厌倦了每天面对那个单调的白色箭头光标想象一下当你沉浸在设计工作中时一个富有创意桌面应用Suricata完整配置教程从零开始构建企业级入侵防御系统Suricata是一款功能强大的开源网络入侵检测系统IDS和入侵防御系统IPS由OISF和社区共同开发。作为企业级网络安全监控引擎它能实时检测和阻止网络安全上一篇Awesome n8n Templates 完全指南280 免费 n8n 工作流模板的下载、导入与实战应用下一篇Beads bd edit 命令详解用 $EDITOR 编辑 Issue 字段的完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表