himadri2324/AgenticSOC

GitHub: himadri2324/AgenticSOC

一个基于 Splunk 和 n8n 的 SOC 自动化项目,实现了从日志检测、威胁情报富化到自动通知与工单创建的完整安全运营流水线。

Stars: 0 | Forks: 0

# Agentic SOC:智能安全运营中心自动化 **Agentic SOC** 是一个安全自动化项目,旨在简化 SOC 处理告警的方式。它将日志接入 Splunk 进行基于 SIEM 的检测,随后触发 n8n 工作流,利用 AbuseIPDB 和 VirusTotal 等威胁情报 API 对告警进行富化。该系统执行自动化的告警分诊,并在创建 Jira 工单的同时向 Slack 发送通知,从而减轻了分析师的工作量并缩短了响应时间。 ## 🎬 演示

Watch Demo
Click to watch the demonstration video

## 📘 项目概述 Agentic SOC 是安全运营中心 (SOC) 工作流的实际应用实现,可自动化事件检测和响应。日志被接入 Splunk,关联规则在此针对可疑活动生成告警。触发后,n8n 编排工作流,利用 AbuseIPDB 和 VirusTotal 等威胁情报 API 对告警进行富化。 * 执行自动化告警处理与富化。 * 关联威胁情报数据以提供更好的上下文。 * 向 Slack 发送实时告警并创建 Jira 工单。 这提高了运营效率,减少了人工操作,并实现了更快的事件响应。 ## 📘 相关 Medium 文章 - [AI Agents and the Rise of the Agentic SOC](https://medium.com/@himadrisingh061/ai-agents-and-the-rise-of-the-agentic-soc-f19122b4eca3) - [From Zero to Running Server: My Hands-on Journey with Microsoft Azure VM](https://medium.com/@himadrisingh061/from-zero-to-running-server-my-hands-on-journey-with-microsoft-azure-vm-78f6591f24e6) - [Splunk: Turning Raw Logs into Real Security Intelligence](https://medium.com/@himadrisingh061/splunk-turning-raw-logs-into-real-security-intelligence-8245299120fc) - [n8n + AI: Building Smarter Workflows Instead of More Scripts](https://medium.com/@himadrisingh061/n8n-ai-building-smarter-workflows-instead-of-more-scripts-4ee05af77587) - [Slack in a SOC Environment: Turning Alerts into Real-Time Security Action](https://medium.com/@himadrisingh061/slack-in-a-soc-environment-turning-alerts-into-real-time-security-action-4f80e75229e1) - [Jira: The Backbone of Modern Project Management](https://medium.com/@himadrisingh061/jira-the-backbone-of-modern-project-management-74f1b732efb1) ## 🎯 **核心目标:** * **自动化:** 通过高效自动化告警检测、富化、分诊和事件响应工作流,减少 SOC 的手动工作量。 * **威胁检测:** 使用 Splunk 关联规则启用基于实时 SIEM 的检测,以识别可疑活动和异常行为。 * **数据富化:** 集成威胁情报 API,为告警提供如 IP 信誉洞察等上下文数据进行富化。 * **事件响应:** 通过生成 Jira 工单并通过 Slack 通知即时发送告警,自动化响应动作。 * **告警富化与分析:** 将 SIEM 告警与威胁情报数据相关联,生成可操作的安全洞察。 * **工作流编排:** 实施 n8n 工作流,在多个集成的系统间无缝连接检测、富化、分析和响应。 ## 🖥️ **虚拟机 (Azure):** | VM Name | Operating System | Role | | :--- | :--- | :--- | | **SOC-VM** | Ubuntu 22.04 LTS | 托管在 Azure 上的主要环境,用于运行 Splunk、n8n 工作流以及用于日志接入、告警处理和自动化编排的支持服务 | ## 🔧 **组件工具与职责:** | Component | Tools/Services | Purpose | | :--- | :--- | :--- | | **日志生成** | Python | 模拟安全事件和攻击日志,以模拟真实世界的 SOC 场景,用于测试检测管道。 | | **SIEM** | Splunk | 接入和分析日志,应用关联规则,并基于可疑模式或异常触发告警。 | | **工作流自动化** | n8n | 作为编排层,连接不同的工具并自动化告警处理和响应工作流。 | | **威胁情报** | AbuseIPDB API | 检查 IP 信誉并提供有关告警中涉及的潜在恶意来源的上下文。 | | **威胁情报** | VirusTotal API | 利用基于文件、URL 和哈希的威胁情报丰富告警,以进行更深入的分析。 | | **通知系统** | Slack | 向 SOC 团队发送实时告警,实现对事件的快速可见性和响应。 | | **事件管理** | Jira | 自动创建和跟踪事件工单,帮助维护结构化的响应和问责制。 | | **基础设施** | Microsoft Azure | 提供基于云的虚拟机环境,以部署和管理完整的 SOC 设置。 | ### 🖧 **网络架构图:**

 Network Architecture Diagram

*展示日志从生成到 SIEM 检测及自动化层流转的高级架构。* ### 🏗️ **架构流程图:**

Architecture flow Diagram

*说明整个 SOC 管道中告警处理、富化和自动化响应的端到端流程。* ## ⚙️ **详细设置与实现** 本项目作为实用的 SOC 自动化管道,使用了 **Splunk (SIEM)、n8n (工作流编排)、Python (日志生成) 以及外部威胁情报 API** 进行了实现。该设置侧重于模拟真实世界的告警处理并自动化响应动作。 1. **基础设施设置 (Azure VM):** 部署了 Splunk、n8n 和自动化组件的基于 Ubuntu 的虚拟机。 整个环境部署在一台基于云的虚拟机上。 * 在 **Microsoft Azure** 上创建了一个 VM。 * 操作系统:**Ubuntu 22.04 LTS**。 * 配置了基础网络和 SSH 访问。 * 安装了所需的依赖项: - Python3 - Node.js (用于 n8n) - Splunk Enterprise 此 VM 作为托管和连接所有组件的中央 SOC 实验环境。

*托管 SOC 实验环境的 Azure 资源组。*

*托管 SOC 自动化环境的 Azure 虚拟机。* 2. **Splunk 设置 (SIEM 配置):** Splunk 被用作日志接入和告警生成的核心 SIEM 平台。 **执行的步骤:** * 安装并配置了 Splunk Enterprise。 * 配置了用于实时日志接入的 **HTTP Event Collector (HEC)**。 * 创建了用于存储日志的索引。 * 使用了 **Search Processing Language (SPL)** 来分析日志。 **检测逻辑:** * 定义了用于检测以下情况的关联规则: - 多次失败的登录尝试 - 可疑的 IP 活动 * 配置了在超出阈值时触发的告警。 这些告警作为自动化的入口点。 ### Splunk 日志接入

*通过 Python 生成的结构化 JSON 日志使用 HTTP Event Collector (HEC) 接入 Splunk。* ### Splunk 告警配置

*在 Splunk 中配置的基于关联的告警,用于检测暴力破解、密码喷洒和可疑活动。* 3. **使用 Python 生成日志:** 创建了一个自定义的 Python 脚本来模拟安全事件。 **脚本功能:** * 以 JSON 格式生成结构化的安全日志。 * 使用 **HTTP Event Collector (HEC)** 将事件直接发送到 Splunk。 * 模拟如下事件: - 暴力破解登录尝试 - 未经授权的访问尝试 - 端口扫描活动 这种方法复制了真实的 SOC 环境,而无需依赖外部的攻击流量。 **Python 日志生成器脚本:** 用于模拟 SOC 事件并通过 HEC 将日志发送到 Splunk 的脚本可在下方访问: [查看脚本](./scripts/simulate_attack.py) ### Python 日志生成输出

*该脚本生成大量模拟的安全事件,包括暴力破解攻击、密码喷洒和端口扫描。 这些事件使用 HTTP Event Collector (HEC) 实时发送到 Splunk,从而实现真实的 SOC 测试和检测验证。* 4. **n8n 工作流自动化 (编排层):** n8n 被用作编排引擎,以自动化告警处理和响应动作。 **工作流步骤:** * Webhook 触发器: - 接收来自 Splunk 的告警数据 - 启动自动化管道 * 数据提取: - 解析 IP 地址、用户名和事件类型等关键字段 * 威胁情报富化: - AbuseIPDB → 检查 IP 信誉和滥用置信度分数 - VirusTotal → 分析 IP/域名以查找恶意指标 * 基于规则的分析: - 根据预定义的条件对告警进行分类 - 相应地分配严重性级别 * 响应动作: - 向 Slack 发送告警通知 - 在 Jira 中创建包含富化详情的事件工单 此工作流充当类似 SOAR 的层,连接了检测、富化和响应。 ### 🔄 n8n 自动化工作流

*处理告警接入、使用威胁情报 API 进行富化以及自动化响应动作的工作流。* 5. **威胁情报集成:** 为了改善告警上下文,将外部威胁情报服务集成到了工作流中。 **AbuseIPDB:** * 用于验证源 IP 是否因恶意活动被举报过 * 提供滥用置信度分数和信誉数据 **VirusTotal:** * 用于对照多个安全引擎分析 IP/域名 * 帮助识别活动是恶意的还是可疑的 这一富化步骤将原始告警转化为可操作的洞察,使分析更具意义。 6. **Slack 集成 (实时告警):** 使用 Slack 提供对检测到的即时事件的可见性。 **设置:** * 配置了 Slack Incoming Webhook * 在 n8n 工作流内集成了 webhook **输出:** * 告警消息包括: - 告警类型 - 源 IP - 严重性级别 - 富化结果 这确保了 SOC 团队能收到实时通知,而无需手动检查 SIEM 仪表板。 ### 📩 Slack 告警输出

*包含富化威胁情报和严重性分类的实时告警通知。* 7. **Jira 集成 (事件管理):** 集成了 Jira 以维护结构化的事件跟踪。 **设置:** * 将 Jira API 与 n8n 连接 * 配置了问题创建工作流 **工作流行为:** * 当触发告警时自动创建工单 * 包括: - 告警详情 - 严重性 - 威胁情报数据 这实现了适当的事件生命周期管理和跟踪。 ### 🧾 Jira 事件工单

*自动生成的事件工单,包含告警详情、严重性和富化数据。* 8. **端到端工作流总结:** * Python 脚本生成模拟的安全日志。 * 日志被接入 Splunk。 * Splunk 应用关联规则并触发告警。 * 告警通过 webhook 发送到 n8n。 * n8n 使用 AbuseIPDB 和 VirusTotal 富化数据。 * 基于规则的逻辑对严重性进行分类。 * 发送 Slack 通知。 * 创建 Jira 工单。 这完成了自动化的 SOC 检测和响应管道。 ## 🔍 **检测** * **日志接入:** 安全事件通过 Python 脚本生成,并使用 HTTP Event Collector 接入 Splunk。 * **关联规则:** Splunk 使用预定义的 SPL 查询来识别可疑模式,如失败的登录和异常行为。 * **基于阈值的告警:** 当事件频率超出指示潜在恶意活动的定义阈值时,会触发告警。 * **事件分类:** 检测到的事件根据类型进行分类,如暴力破解、未经授权的访问或扫描。 * **SIEM 监控:** 对接入日志的持续监控能够实时检测环境内的安全事件。 ## 🛠️ **响应** 在触发告警后: * **Webhook 触发:** Splunk 告警通过 webhook 转发到 n8n,以启动自动化的响应工作流执行。 * **数据富化:** 使用 AbuseIPDB 和 VirusTotal API 对告警数据进行富化,以获取上下文威胁情报洞察。 * **严重性分配:** 基于规则的逻辑根据 IP 信誉和攻击行为模式分配严重性级别。 * **通知处理:** 处理后的告警被发送到 Slack 频道,以确保 SOC 团队的实时可见性。 * **事件创建:** 自动生成包含富化告警详情的 Jira 工单,用于结构化的事件跟踪。 ## 🧠 **MITRE ATT&CK 映射** | Tactic | Technique | ID | | :--- | :--- | :--- | | Credential Access | **Brute Force** | T1110.001 | | Credential Access | **Password Spraying** | T1110.003 | | Initial Access | **Valid Accounts** | T1078 | | Execution | **Remote Service Access (SMB/RDP)** | T1021 | | Discovery | **Network Service Scanning** | T1046 | 这些 MITRE ATT&CK 技术作为元数据包含在模拟事件中,并未在 Splunk 中进行完整映射或可视化。 ## 🚀 未来增强功能 * **AI 集成:** 添加基于 LLM 的分析,用于在各工作流中自动化告警总结和上下文事件理解。 * **EDR 集成:** 集成如 Wazuh 等端点检测工具,以实现更深层次的主机级别可见性和威胁检测能力。 * **MITRE 映射:** 在 Splunk SIEM 中带有仪表板和基于技术的关联的完整 MITRE ATT&CK 映射。 * **真实流量模拟:** 使用 Kali Linux 生成真实的攻击流量,而不是仅依赖于模拟日志。 * **仪表板可视化:** 在 Splunk 中构建 SOC 仪表板,以更好地可视化告警、趋势和事件指标。 ## 🔚 结论 Agentic SOC 通过将 Splunk、n8n、Python 和威胁情报 API 集成到一个统一的工作流中,展示了 SOC 自动化的实际应用。该项目成功模拟了真实世界的安全事件,使用 SIEM 关联规则检测异常,并通过富化、通知和工单系统自动化了事件响应。通过减少人工操作和缩短响应时间,它突出了自动化如何提升 SOC 效率,同时为未来 AI 驱动的增强功能奠定了坚实的基础。
标签:AbuseIPDB, Agentic SOC, AI Agents, AI安全代理, Ask搜索, Cybersecurity, IT运维, Jira工单, n8n, SecOps, Slack集成, SOAR, Socks5代理, SOC自动化, VirusTotal, 云安全架构, 告警富化, 威胁情报, 安全告警分诊, 安全告警通知, 安全工作流, 安全运营, 开发者工具, 恶意IP检测, 扫描框架, 智能安全运营中心, 网络安全, 自动化响应, 自动化防御, 逆向工具, 隐私保护