rafamss/splunk-automation

GitHub: rafamss/splunk-automation

Splunk自动化工具包,提供多格式日志生成器、安装脚本和最佳实践,用于快速搭建安全培训环境并生成真实训练数据。

Stars: 1 | Forks: 0

# Splunk 自动化工具包 用于 Splunk Enterprise 环境的自动化工具:安装、配置、实验室日志生成以及运维最佳实践。 专为安全专业人员、讲师和 SOC 团队打造,用于快速搭建环境、生成真实的训练数据并标准化部署。 ## 仓库结构 ``` splunk_automation/ ├── tools/ # Ferramentas operacionais │ └── log_generator.py # ✅ Gerador multi-formato de logs ├── scripts/ # Automação de instalação (em desenvolvimento) │ ├── download.sh │ ├── install.sh │ └── configure.sh ├── apps/ # Splunk apps prontas para deploy (em desenvolvimento) │ └── deployment_client/ ├── docs/ # Documentação detalhada (em desenvolvimento) │ ├── prerequisites.md │ ├── installation-guide.md │ └── version-history.md ├── config.example.env # Variáveis de configuração (em desenvolvimento) └── README.md ``` ## 日志生成器 用于 Splunk 实验室、SOC 培训和事件模拟的真实日志生成器。支持六种格式,可注入可配置的可疑事件,并以批量模式或持续流模式运行。 **无外部依赖**——仅使用纯 Python 3.10+ 即可运行。 ### 支持的格式 | 格式 | 标志 | 描述 | |---|---|---| | Windows Event Log | `windows` | XML 格式,包含真实 EventID(4624、4625、4688、4720、1102 等) | | Syslog RFC 3164 | `syslog` | 计算的 PRI、设施/严重性、应用程序如 sshd、cron、sudo | | Fortinet FortiGate | `fortinet` | 原生 key=value 格式,包含 UTM 和 IPS 字段 | | Cisco ASA | `cisco_asa` | 标准消息 ID 的 syslog 格式(%ASA-x-xxxxxx) | | Check Point | `checkpoint` | LEA/Log Exporter 格式,包含安全功能模块 | | Palo Alto Networks | `paloalto` | 原生 CSV 格式(TRAFFIC、THREAT、URL filtering) | ### 快速使用 ``` # 生成 500 个 Windows 日志,含 10% 可疑事件 python3 tools/log_generator.py -t windows -c 500 -s 10 # 持续 Syslog,每秒 20 个事件,每 30 秒爆发一次 python3 tools/log_generator.py -t syslog -m continuous -r 20 --burst --burst-size 100 # 混合防火墙记录到文件 python3 tools/log_generator.py -t fortinet,cisco_asa,checkpoint,paloalto -c 1000 -o logs.txt # 攻击场景:25% 可疑事件,持续流式传输 python3 tools/log_generator.py -t windows,syslog -m continuous -r 15 -s 25 ``` ### 参数 | 参数 | 默认值 | 描述 | |---|---|---| | `-t, --type` | — | 日志类型,逗号分隔 | | `-c, --count` | `100` | 单次模式的事件数量 | | `-m, --mode` | `single` | `single`(批量)或 `continuous`(流式) | | `-r, --rate` | `5` | 持续模式下每秒事件数 | | `--burst` | off | 启用周期性事件峰值 | | `--burst-size` | `50` | 每个 burst 的事件数 | | `--burst-interval` | `30` | burst 之间的间隔(秒) | | `-s, --suspicious-rate` | `5` | 注入的可疑事件百分比 | | `-o, --output` | stdout | 输出文件路径 | ### 注入的可疑事件 恶意事件会注入到正常流中,并标记 `` 或 `[SUSPICIOUS]`,便于在课程中定位。类型包括: **Windows:** 暴力破解尝试(4625)、可疑账户创建(4720)、权限提升(4672)、审计日志清空(1102)、执行攻击性工具如 mimikatz、certutil、powershell encoded、psexec、安装恶意服务(4697)、添加到 Administrators 组(4732)。 **Linux:** 来自恶意 IP 的 SSH 登录失败、未经授权的用户执行 sudo、反弹 shell、侦察命令(nmap, cat /etc/shadow)、通过 crontab 持久化、通过 scp 数据外泄。 **防火墙:** 来自/到威胁情报 IP 的连接、端口扫描、IPS/IDS 签名、C2 通信、数据外泄(高字节量)、访问恶意 URL、检测到恶意软件(Cobalt Strike, Emotet, TrickBot)、URL 过滤策略违规。 ## 路线图 ### 自动化安装(`scripts/`) 重写下载和安装脚本,支持 Splunk 9.x、SHA-512 校验、自动检测发行版和架构(x86_64/ARM64),无硬编码凭据。 - [ ] `download.sh` — 带完整性校验的参数化下载 - [ ] `install.sh` — 安装(创建用户、systemd unit、基础加固) - [ ] `configure.sh` — 安装后配置(SSL、限制、indexes、outputs.conf) ### Splunk 应用(`apps/`) 可直接通过 Deployment Server 部署的应用。 - [ ] `deployment_client` — 参数化的 deploymentclient.conf - [ ] `base_inputs` — Linux 和 Windows 的默认 inputs.conf - [ ] `base_outputs` — 带负载均衡的 outputs.conf ### 文档(`docs/`) - [ ] 前置条件和兼容性矩阵 - [ ] 安装分步指南 - [ ] 版本历史和下载 URL ### CI/CD(`.github/workflows/`) - [ ] ShellCheck 用于脚本验证 - [ ] Python 代码检查(ruff/flake8) - [ ] 日志生成器的自动化测试 ## 要求 - **Python** 3.10+(日志生成器) - **Bash** 4+(安装脚本) - **支持的系统:** RHEL/CentOS 7+、Ubuntu 18.04+、Debian 10+ ## 许可证 GPL-3.0 — 详见 [LICENSE](LICENSE)。
标签:Check Point, Cisco ASA, Fortinet, PB级数据处理, Python, Syslog, Windows事件日志, 事件模拟, 元数据收集, 培训工具, 安全实验室, 安全检查, 安全运维, 安装脚本, 应用安全, 无后门, 日志格式, 日志生成, 最佳实践, 特权提升, 网络调试, 自动化, 自动化部署, 逆向工具, 配置脚本