luna-mandela/Autonomous-incident-response-system-soc
GitHub: luna-mandela/Autonomous-incident-response-system-soc
基于 Splunk SOAR 社区版和自定义 REST API 构建的自主事件响应系统,旨在自动化 SOC Tier 1 分析师的告警分类、威胁丰富和事件响应工作流。
Stars: 0 | Forks: 0
# Autonomous-incident-response-system-soc
基于 Splunk SOAR/Phantom 的自主事件响应系统 SOC
---
***入门项目:Python、SOAR、安全自动化、REST API、JSON***
## 设置与使用说明 1. 在这个 GitHub 仓库中,有一个名为 `setup.sh` 的文件——请将该文件下载到您的 SOAR 虚拟机中。确保将其放置在 Phantom 社区版 VM 的 `/home/phantom` 目录下。 2. 通过 SSH 连接到 Phantom 社区版 VM,并将目录更改为 `/home/phantom`(如果使用 root 登录,`setup.sh` 也位于 `/home/phantom`)。使用 `sudo chmod +x setup.sh` 更改文件权限,并使用 `./setup.sh` 执行脚本。这将安装运行 playbook 所需的 Python 依赖项。完成后,脚本将自动重启虚拟机。 3. 重启完成后,以 `phantom` 用户身份(通过 SSH 或直接在虚拟机上)重新登录到 Phantom 社区版 VM。导航至 `/home/phantom` 目录并执行 `app_rest_api.py` Python 脚本,以启动 REST API 服务器。 ```shell phantom@phantom-vm:~$ python app_rest_api.py ``` 您应该在端口 `5000` 上看到服务器正在运行。 4. 登录到 Splunk SOAR (Phantom) UI Web 控制台 -> 点击顶部的 **Playbooks** -> 点击右上角的 **+ ADD PLAYBOOK** -> 将 **Source** 选项卡切换为 **Advanced Editor**,然后粘贴 playbook JSON 代码,根据您要导入的 playbook 选择 `main_enrichment_playbook.json` 或 `main_response_playbook.json`。最后点击 **Save Changes**。
## 关于此项目的所有信息
### 免责声明 本项目旨在用于教育和网络安全防御目的。它用于演示自主安全编排、自动化和响应 (SOAR) 能力。本项目中提供的自动化 playbook 和脚本仅作示例提供,应针对特定环境进行配置,并在部署到生产系统之前进行全面的测试。未经授权将本项目的任何组件用于攻击性或恶意活动是严格禁止的。用户需全权负责确保遵守所有适用的法律法规以及组织的安全策略。创建者和贡献者对因使用或误用本项目而导致的任何损害或法律违规概不负责。务必在适当授权的测试环境中运行任何自动化操作之前获得必要的许可。您对任何自动化 playbook 或脚本的部署和使用承担全部责任。
### 项目灵感 此 SOC 自主事件响应系统的想法来自于我使用 Splunk SOAR (Phantom) 社区版的个人经验。我想弄清楚如何将手动 SOC 分析师流程转变为自主流程,因此这个项目诞生了。该项目涵盖了一个自主事件响应系统,该系统在具有自定义 REST API 和集成脚本环境的环境中利用 Splunk SOAR (Phantom) 社区版,以自动化标准 SOC Tier 1 分析师工作流的威胁丰富和事件响应过程。
### 概述 自主事件响应系统 SOC 项目旨在自动化响应网络安全事件所涉及的繁琐手动流程。在当今的威胁环境中,SOC 团队每天被成千上万的警报淹没。自主事件响应系统通过自动化标准 Tier 1 SOC 分析师工作流,对传入警报进行分类、调查和响应来缓解这一问题。自主事件响应系统使用 Splunk SOAR (Phantom) 社区版作为 SOAR 平台来编排自动化工作流。此外,自主事件响应系统具有一个自定义的 REST API,在 Phantom 社区版 VM 上本地运行,它充当枢纽和通信网关,允许从外部脚本环境向 SOAR 平台提供威胁情报数据。外部脚本环境(例如运行自定义脚本的 Linux 机器)可以访问公开的 REST API 端点,从而实现高级别的定制和可扩展性。
### 架构 自主事件响应系统由以下三个核心组件构成: - **Splunk SOAR (Phantom) 社区版**:此事件响应系统的 SOAR 平台。它充当编排器,包含决定事件如何分类、丰富和响应的逻辑规则。 - **REST API**:位于 SOAR 平台和外部脚本环境之间。它提供了 SOAR 平台可以调用的端点,以检索威胁情报数据和采取行动。 - **外部脚本环境**:这可以是运行自定义脚本的任何机器,例如 Python 脚本、PowerShell 脚本等。脚本环境与 REST API 交互以提供情报信息,或在需要时使用外部工具采取行动。 #### 概览图表
### 前置条件 - Splunk SOAR (Phantom) 社区版 VM 5.3.x 或更高版本 - SOAR VM 至少需要 8GB RAM 和 4 个 vCPU - 有关更多信息,请参阅 Splunk SOAR 文档:[Splunk SOAR (Phantom) 硬件要求](https://docs.splunk.com/Documentation/SOARonprem/5.3.1/Admin/HardwareRequirements) - 运行自定义脚本的 Linux 机器(外部脚本环境)
### 工作原理 自主事件响应系统通过两个主要 playbook 运行: 1. **主丰富 Playbook**:此 playbook 负责获取警报并使用威胁情报对其进行丰富。该 playbook 对警报执行多种操作,例如: - 在本地 VM REST API 上查找警报的 IP 地址,以检查它是否在威胁情报源中 - 通过本地 VM REST API 查找警报的 IP 地址以获取 IP 声誉(如果适用) - 通过本地 VM REST API 查找警报的域名以进行威胁情报匹配(如果适用) - 提供一个总结丰富数据(威胁情报、IP 声誉等)的摘要 2. **主响应 Playbook**:此 playbook 负责接收已丰富的警报并对其执行响应行动。该 playbook 将根据严重程度级别决定要采取的响应行动。此 playbook 执行的操作示例包括: - 向 SOC 团队发送摘要报告 - 根据严重程度级别,对参与事件的 IP 地址采取行动,例如隔离主机或阻止 IP 地址 - 关闭并解决事件
### REST API 该事件响应系统使用一个在 Splunk SOAR (Phantom) 社区版 VM 上本地运行的自定义 REST API。REST API 是使用 Python 和 Flask 构建的,它提供了 SOAR 平台可以调用的端点,以从外部脚本环境检索威胁情报数据。当 REST API 收到请求时,它将处理该请求,执行外部脚本环境中相应的脚本,并将结果返回给 SOAR 平台。自定义 REST API 支持的端点包括: - **获取威胁情报数据**:根据提供的指标(如 IP 地址、域名、文件哈希)返回威胁情报数据 - **获取 IP 声誉**:根据提供的 IP 地址返回 IP 声誉数据 - **采取响应行动**:对外部脚本环境采取行动,例如阻止 IP 地址、隔离主机等
### 结论 此 SOC 自主事件响应系统项目旨在提供一个切实有效的示例,说明如何使用 SOAR 平台自动化网络安全事件响应中繁琐的手动流程。该项目涵盖了自主事件响应系统的设计、实施和测试,该系统利用 Splunk SOAR (Phantom) 社区版作为 SOAR 平台来编排自动化工作流。
## 设置与使用说明 1. 在这个 GitHub 仓库中,有一个名为 `setup.sh` 的文件——请将该文件下载到您的 SOAR 虚拟机中。确保将其放置在 Phantom 社区版 VM 的 `/home/phantom` 目录下。 2. 通过 SSH 连接到 Phantom 社区版 VM,并将目录更改为 `/home/phantom`(如果使用 root 登录,`setup.sh` 也位于 `/home/phantom`)。使用 `sudo chmod +x setup.sh` 更改文件权限,并使用 `./setup.sh` 执行脚本。这将安装运行 playbook 所需的 Python 依赖项。完成后,脚本将自动重启虚拟机。 3. 重启完成后,以 `phantom` 用户身份(通过 SSH 或直接在虚拟机上)重新登录到 Phantom 社区版 VM。导航至 `/home/phantom` 目录并执行 `app_rest_api.py` Python 脚本,以启动 REST API 服务器。 ```shell phantom@phantom-vm:~$ python app_rest_api.py ``` 您应该在端口 `5000` 上看到服务器正在运行。 4. 登录到 Splunk SOAR (Phantom) UI Web 控制台 -> 点击顶部的 **Playbooks** -> 点击右上角的 **+ ADD PLAYBOOK** -> 将 **Source** 选项卡切换为 **Advanced Editor**,然后粘贴 playbook JSON 代码,根据您要导入的 playbook 选择 `main_enrichment_playbook.json` 或 `main_response_playbook.json`。最后点击 **Save Changes**。
## 关于此项目的所有信息
### 免责声明 本项目旨在用于教育和网络安全防御目的。它用于演示自主安全编排、自动化和响应 (SOAR) 能力。本项目中提供的自动化 playbook 和脚本仅作示例提供,应针对特定环境进行配置,并在部署到生产系统之前进行全面的测试。未经授权将本项目的任何组件用于攻击性或恶意活动是严格禁止的。用户需全权负责确保遵守所有适用的法律法规以及组织的安全策略。创建者和贡献者对因使用或误用本项目而导致的任何损害或法律违规概不负责。务必在适当授权的测试环境中运行任何自动化操作之前获得必要的许可。您对任何自动化 playbook 或脚本的部署和使用承担全部责任。
### 项目灵感 此 SOC 自主事件响应系统的想法来自于我使用 Splunk SOAR (Phantom) 社区版的个人经验。我想弄清楚如何将手动 SOC 分析师流程转变为自主流程,因此这个项目诞生了。该项目涵盖了一个自主事件响应系统,该系统在具有自定义 REST API 和集成脚本环境的环境中利用 Splunk SOAR (Phantom) 社区版,以自动化标准 SOC Tier 1 分析师工作流的威胁丰富和事件响应过程。
### 概述 自主事件响应系统 SOC 项目旨在自动化响应网络安全事件所涉及的繁琐手动流程。在当今的威胁环境中,SOC 团队每天被成千上万的警报淹没。自主事件响应系统通过自动化标准 Tier 1 SOC 分析师工作流,对传入警报进行分类、调查和响应来缓解这一问题。自主事件响应系统使用 Splunk SOAR (Phantom) 社区版作为 SOAR 平台来编排自动化工作流。此外,自主事件响应系统具有一个自定义的 REST API,在 Phantom 社区版 VM 上本地运行,它充当枢纽和通信网关,允许从外部脚本环境向 SOAR 平台提供威胁情报数据。外部脚本环境(例如运行自定义脚本的 Linux 机器)可以访问公开的 REST API 端点,从而实现高级别的定制和可扩展性。
### 架构 自主事件响应系统由以下三个核心组件构成: - **Splunk SOAR (Phantom) 社区版**:此事件响应系统的 SOAR 平台。它充当编排器,包含决定事件如何分类、丰富和响应的逻辑规则。 - **REST API**:位于 SOAR 平台和外部脚本环境之间。它提供了 SOAR 平台可以调用的端点,以检索威胁情报数据和采取行动。 - **外部脚本环境**:这可以是运行自定义脚本的任何机器,例如 Python 脚本、PowerShell 脚本等。脚本环境与 REST API 交互以提供情报信息,或在需要时使用外部工具采取行动。 #### 概览图表
### 前置条件 - Splunk SOAR (Phantom) 社区版 VM 5.3.x 或更高版本 - SOAR VM 至少需要 8GB RAM 和 4 个 vCPU - 有关更多信息,请参阅 Splunk SOAR 文档:[Splunk SOAR (Phantom) 硬件要求](https://docs.splunk.com/Documentation/SOARonprem/5.3.1/Admin/HardwareRequirements) - 运行自定义脚本的 Linux 机器(外部脚本环境)
### 工作原理 自主事件响应系统通过两个主要 playbook 运行: 1. **主丰富 Playbook**:此 playbook 负责获取警报并使用威胁情报对其进行丰富。该 playbook 对警报执行多种操作,例如: - 在本地 VM REST API 上查找警报的 IP 地址,以检查它是否在威胁情报源中 - 通过本地 VM REST API 查找警报的 IP 地址以获取 IP 声誉(如果适用) - 通过本地 VM REST API 查找警报的域名以进行威胁情报匹配(如果适用) - 提供一个总结丰富数据(威胁情报、IP 声誉等)的摘要 2. **主响应 Playbook**:此 playbook 负责接收已丰富的警报并对其执行响应行动。该 playbook 将根据严重程度级别决定要采取的响应行动。此 playbook 执行的操作示例包括: - 向 SOC 团队发送摘要报告 - 根据严重程度级别,对参与事件的 IP 地址采取行动,例如隔离主机或阻止 IP 地址 - 关闭并解决事件
### REST API 该事件响应系统使用一个在 Splunk SOAR (Phantom) 社区版 VM 上本地运行的自定义 REST API。REST API 是使用 Python 和 Flask 构建的,它提供了 SOAR 平台可以调用的端点,以从外部脚本环境检索威胁情报数据。当 REST API 收到请求时,它将处理该请求,执行外部脚本环境中相应的脚本,并将结果返回给 SOAR 平台。自定义 REST API 支持的端点包括: - **获取威胁情报数据**:根据提供的指标(如 IP 地址、域名、文件哈希)返回威胁情报数据 - **获取 IP 声誉**:根据提供的 IP 地址返回 IP 声誉数据 - **采取响应行动**:对外部脚本环境采取行动,例如阻止 IP 地址、隔离主机等
### 结论 此 SOC 自主事件响应系统项目旨在提供一个切实有效的示例,说明如何使用 SOAR 平台自动化网络安全事件响应中繁琐的手动流程。该项目涵盖了自主事件响应系统的设计、实施和测试,该系统利用 Splunk SOAR (Phantom) 社区版作为 SOAR 平台来编排自动化工作流。
标签:Apex, CISA项目, CSV导出, Cutter, Homebrew安装, PB级数据处理, Python, SOAR, 威胁情报, 安全事件管理, 安全脚本, 安全运维, 安全运营中心, 应急响应系统, 开发者工具, 异常检测, 无后门, 机器学习, 网络安全, 网络安全审计, 网络安全监控, 网络映射, 自主应急响应, 自动化防御, 自定义脚本, 逆向工具, 隐私保护, 驱动开发