SIEGMA开源项目安装与使用指南
SIEGMA是一个旨在自动化将Sigma规则转换为SIEM可消费格式的工具,支持多种SIEM平台,包括Elastic SIEM、Azure Sentinel以及正在开发中的Splunk。该项目利用Python虚拟环境管理和依赖,确保开发者和安全分析师可以无缝地将自定义检测逻辑部署到他们的监控系统中。
1. 项目目录结构及介绍
SIEGMA的仓库结构组织清晰,便于贡献者和使用者理解其内部机制:
.gitignore
: 控制哪些文件不应被Git版本控制系统跟踪。LICENSE
: 项目遵循AGPL-3.0许可协议,详细描述了软件使用的法律条款。Pipfile
,Pipfile.lock
: 定义项目所需的Python包及其版本,用于pipenv管理依赖。README.md
: 项目的主要说明文件,包含了快速入门、安装步骤、使用方法等关键信息。development-guide.md
: 开发者指南,对想要扩展或贡献代码的人提供指导。requirements.txt
: 简单的Python依赖列表,也可用于安装必需的库。siegma.py
: 核心脚本,实现了Sigma规则转换成特定SIEM平台规则的功能。scripts/rule_file_creator_scripts
: 可能包含了用于创建或处理规则文件的辅助脚本。config
,helpers
等其他文件夹则可能存放着配置模板、帮助函数或特定功能实现的相关文件。
2. 项目的启动文件介绍
主要启动文件是 siegma.py
。通过该脚本,用户可以调用SIEGMA的核心功能,即转化Sigma规则至适用于指定SIEM平台的规则格式。运行前需确保已正确设置虚拟环境并激活它(通过命令 pipenv shell
)。用户通过命令行向此脚本传递参数,比如指定 Sigma 规则文件路径和目标SIEM平台。
3. 项目的配置文件介绍
虽然具体的配置文件名在提供的引用内容中未明确指出,但通常这类项目会在 config
文件夹下存放针对不同SIEM平台的映射和配置文件。这些配置文件至关重要,因为它们允许用户定制化字段映射,确保从Sigma规则转换过来的内容能够适配所选SIEM的具体数据模型和要求。例如,可能会有针对Elastic SIEM、Azure Sentinel和Splunk等各自不同的配置设定,以及通用的或特定场景下的字段映射规则。
在实际操作中,了解每个SIEM的配置细节非常重要,通常需参考每种SIEM平台对应的README
文档,在这些文档中会有警告提示哪些字段在执行前需要被填充或调整,以确保正确的转换和兼容性。
为了全面使用SIEGMA,还需关注项目中的开发指南(development-guide.md
),特别是当你意图进行二次开发或添加对新SIEM平台的支持时。此外,记得在Windows环境下启用Powershell的命令执行,以及适时咨询项目文档关于自动导入和自定义字段添加的信息。