htrap001/Automated-Incident-Response-Pipeline

GitHub: htrap001/Automated-Incident-Response-Pipeline

一个基于 Snort 3 IPS 模式和 NFQ 的自动化事件响应流水线,无需 SIEM 即可实现亚秒级威胁检测、阻断与主机隔离。

Stars: 0 | Forks: 0

# 自动化事件响应流水线 开发了一个无 SIEM 的主动响应网络架构,利用 Inline (IPS) 模式下的 Snort 3 以及 Netfilter Queue (NFQ) DAQ 模块,实现了亚秒级的威胁遏制。 🛠️ 逐步架构说明 你可以在单个虚拟机中运行整个项目,或者将其拆分到微型的轻量级 Docker 容器中,以将 RAM 占用降至最低。 步骤 1:在 Inline (IPS) 模式下运行 Snort 3 大多数人使用 Snort 的 IDS(入侵检测)模式,在该模式下它仅仅监控流量副本。在本项目中,请使用 DAQ(数据采集)NFQ(Netfilter Queue)模块将 Snort 3 配置为 IPS(入侵防御)模式。 这会强制 Linux 内核在决定是否路由网络数据包之前,将其直接传递给 Snort。 配置你的 Linux 防火墙,将目标流量路由至 Snort: Bash sudo iptables -A FORWARD -j NFQUEUE --queue-num 1 运行 Snort 来处理该队列: Bash snort -Q --daq nfq --daq-var queue=1 -c /usr/local/etc/snort/snort.lua 步骤 2:编写“主动阻断”签名 在你的自定义规则中,不要使用标准的 alert 动作,而是使用 drop 动作。 编写针对特定 L1 威胁向量的自定义签名,例如内部主机尝试恶意的横向移动技术(例如,尝试利用 EternalBlue 或对域控进行暴力破解): Plaintext drop tcp $HOME_NET any -> $HONEYPOT_NET 445 (msg:"CRITICAL: Internal Lateral Movement Detected"; flow:to_server,established; content:"|ff|SMB"; sid:1000001; rev:1;) 当 Snort 匹配到该签名时,它会在数据包传输过程中将其丢弃,使其永远无法到达受害机器。 步骤 3:脚本化响应(“无 SIEM”自动化) 为了使这个项目真正独一无二,请配置 Snort,将其原始的高速二进制告警通道(alert_fast 或 unified2)直接 pipe 到作为系统服务运行的后台轻量级 Python 脚本中。 当你的脚本检测到本地主机触发了 drop 规则时: 它会立即调用 Linux 命令,通过本地防火墙完全隔离受感染的内部机器的 MAC/IP 地址: Bash sudo iptables -I INPUT -s [Compromised_Internal_IP] -j DROP 它会向专门用于 L1 告警的 Discord 或 Slack 频道发送包含丰富 payload 的 webhook 通知,其中包含攻击者 IP、触发的规则以及一条确认消息:“Host isolated successfully.” 📝 如何在简历中包装此项 自动化事件响应流水线:开发了一个无 SIEM 的主动响应网络架构,利用 Inline (IPS) 模式下的 Snort 3 以及 Netfilter Queue (NFQ) DAQ 模块,实现了亚秒级的威胁遏制。
标签:Netfilter, PE 加载器, XXE攻击, 入侵防御系统, 威胁拦截, 威胁猎捕, 网络安全, 自动化响应, 请求拦截, 逆向工具, 隐私保护