sayysen/N8n-wazuh

GitHub: sayysen/N8n-wazuh

基于 n8n 和 GPT-4o-mini 的自动化工作流,将 Wazuh 告警邮件转化为知识库驱动的事件分析与处置通知。

Stars: 1 | Forks: 1

# Wazuh SOC 事件分析工作流 一个智能的 n8n 工作流,使用 AI 代理自动化 Wazuh 安全告警处理。该工作流会分析安全事件,在知识库中搜索响应程序,在需要时进行网络搜索,并生成可操作的事件报告。 ## 🎯 功能 - **自动化告警处理**:监控 Outlook 收件箱以获取 Wazuh 告警 - **AI 驱动的分析**:使用 GPT-4o-mini 分析安全事件 - **知识库集成**:搜索并更新网络安全手册数据库 - **智能网络搜索**:当缺少知识库条目时,自动搜索 Microsoft 和安全文档 - **动态创建知识库**:根据网络搜索生成新的知识库条目 - **邮件通知**:发送包含可操作建议的格式化事件报告 ## 📋 前置条件 - n8n 实例(自托管或云端) - Microsoft Outlook 账户 - OpenAI API 账户 - Brave Search API 账户 - 用于知识库存储的 n8n 数据表 ## 🔧 配置步骤 ### 1. 凭证设置 您需要在 n8n 中配置以下凭证: #### Microsoft Outlook OAuth2 - **使用此项的节点**:`Microsoft Outlook Trigger`、`Send a message` - **设置**:在 n8n 中为 Microsoft Outlook 创建 OAuth2 凭证 - **在工作流中替换**:`YOUR_OUTLOOK_CREDENTIAL_ID` #### OpenAI API - **使用此项的节点**:`LLM – GPT-4o-mini`、`OpenAI Chat Model1` - **设置**:在 n8n 凭证中添加您的 OpenAI API key - **在工作流中替换**:`YOUR_OPENAI_API_CREDENTIAL_ID` #### Brave Search API - **使用此项的节点**:`Brave Search` - **设置**:从 [Brave Search API](https://brave.com/search/api/) 获取 API key - **在工作流中替换**:`YOUR_BRAVE_SEARCH_API_CREDENTIAL_ID` ### 2. Microsoft Outlook 配置 #### 获取您的文件夹 ID 1. 在 n8n 中,创建一个带有 Microsoft Outlook Trigger 的测试工作流 2. 运行一次以查看可用的文件夹 3. 复制您想要监控的文件夹 ID 4. 在工作流中替换 `YOUR_OUTLOOK_FOLDER_ID_HERE` #### 设置您的电子邮件地址 在以下位置将 `YOUR_EMAIL@example.com` 替换为您的实际电子邮件地址: - **Microsoft Outlook Trigger**(发件人过滤) - **Send a message**(收件人) ### 3. 数据表设置 创建一个包含以下列的 n8n 数据表: | 列名 | 类型 | 描述 | |------------|------|-------------| | kb_id | String | 唯一标识符 | | title | String | 手册标题 | | category | String | 事件类别 | | platform | String | 平台(例如 Windows、Linux) | | attack_type | String | 攻击类型 | | tags | String | 搜索关键字 | | severity_min | String | 最低严重级别 | | triggers | String | 触发此手册的条件 | | summary | String | 简要摘要 | | steps | String | 响应步骤 | | what_to_check | String | 调查清单 | | escalate_if | String | 升级标准 | | references | String | 参考 URL | | event_id | String | 相关事件 ID | | rule_id | String | 相关规则 ID | | severity | String | 严重级别 | | confidence | String | 置信度水平 | | response_actions | String | 立即行动 | | source | String | 条目来源 | | created_at | String | 时间戳 | **在工作流中替换**: - `YOUR_DATATABLE_ID_HERE`(出现两次 - 在 KB_Search_Cybersecurity 和 Update KB 节点中) - `YOUR_PROJECT_ID`(在 cachedResultUrl 字段中) ## 🔄 工作流概述 ![工作流图](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/7aadd16182022213.png) ### 流程描述 ``` 1. Microsoft Outlook Trigger ↓ 2. Edit Fields (Extract email body) ↓ 3. Normalize Wazuh Alert (Parse alert data) ↓ 4. SOC AI Agent (Analyze with KB search) ↓ 5. Code in JavaScript2 (Parse agent output) ↓ 6. If (Check if KB match found) ├─ Match Found → Email Writer AI Agent └─ No Match: ↓ Code in JavaScript1 (Prepare search query) ↓ Brave Search (Research online) ↓ AI Agent ("KB Writer") (Create KB entry) ↓ Code in JavaScript3 (Format KB entry) ↓ Update KB (Save to database) ↓ Email Writer AI Agent ↓ 7. Send a message (Email notification) ``` ## 🚀 使用方法 ### 初始设置 1. 将工作流 JSON 导入 n8n 2. 配置所有凭证 3. 更新电子邮件地址和文件夹 ID 4. 创建并链接您的数据表 5. 激活工作流 ### 运行工作流 工作流在以下情况自动触发: - 监控的 Outlook 文件夹中收到 Wazuh 告警邮件 - 邮件来自指定的发件人 ### 执行流程 #### 场景 1:找到匹配的知识库 1. 告警被规范化和分析 2. AI 搜索知识库 3. 找到匹配的手册 4. 发送包含基于知识库响应的邮件通知 #### 场景 2:未找到匹配的知识库 1. 告警被规范化和分析 2. AI 搜索知识库(未匹配) 3. Brave Search 执行网络搜索 4. AI 根据搜索结果创建新的知识库条目 5. 将知识库条目保存到数据库 6. 发送包含新指南的邮件通知 ## 📧 邮件通知格式 工作流发送结构化的邮件,包含: - **事件摘要**:2-3 行概述 - **建议的立即行动**:以项目符号列出的响应步骤 - **下一步检查内容**:调查清单 - **升级标准**:何时需要升级 - **参考资料**:相关文档 URL ## 🛠️ 自定义 ### 调整搜索范围 在节点参数中修改 Brave Search 查询,以搜索不同的文档来源: ``` "(site:learn.microsoft.com OR site:ultimatewindowssecurity.com) " + $json.brave_query ``` ### 修改 AI 提示词 每个 AI Agent 节点都有可自定义的提示词。需要调整的关键节点: - **SOC AI Agent**:主要事件分析逻辑 - **AI Agent ("KB Writer")**:知识库条目生成 - **Email Writer AI Agent**:邮件格式化 ### 更改轮询频率 在 `Microsoft Outlook Trigger` 中,将 `pollTimes` 从 `everyMinute` 调整为您喜欢的间隔。 ## 🔐 安全注意事项 - 将所有 API key 安全地存储在 n8n 凭证中 - 将 Outlook 文件夹访问权限仅限制为 Wazuh 告警 - 在部署到生产环境之前,审查生成的知识库条目 - 考虑对敏感事件数据进行电子邮件加密 - 在您的 n8n 实例上实施适当的访问控制 ## 📊 监控 通过以下方式监控工作流执行情况: - n8n 执行日志 - 电子邮件送达确认 - 数据表条目计数 - OpenAI API 使用仪表板 ## 🐛 故障排除 ### 工作流未触发 - 验证 Outlook 凭证是否有效 - 检查文件夹 ID 是否正确 - 确认发件人电子邮件与过滤器匹配 ### AI Agent 错误 - 检查 OpenAI API key 和配额 - 验证 agent 节点中的提示词语法 - 查看执行日志以排查 JSON 解析错误 ### 知识库搜索无法正常工作 - 确认数据表存在且可访问 - 验证列名是否与 schema 匹配 - 检查数据表权限 ### 邮件未发送 - 验证 Outlook 发送凭证 - 检查收件人电子邮件地址 - 检查电子邮件内容是否存在格式问题 ## 📝 许可证 本工作流按“原样”提供,用于教育和操作目的。 ## 📞 支持 如有问题或疑问: 1. 检查 n8n 执行日志 2. 查看节点配置 3. 验证所有凭证是否已正确设置 4. 单独测试各个节点 ## 🔄 版本历史 - **v1.0**:初始版本,包含 Wazuh 告警处理、知识库管理和自动化搜索功能
标签:DLL 劫持, n8n, Wazuh, 大语言模型, 安全告警分析, 安全运营中心, 数据可视化, 网络映射, 自动化响应