meetpandya19/apptrana-siem-log-collector

GitHub: meetpandya19/apptrana-siem-log-collector

一套 Python 脚本工具,通过 REST API 自动化采集 Indusface AppTrana WAF 的攻击日志并存储到本地,便于后续 SIEM 集成与分析。

Stars: 0 | Forks: 0

# apptrana-siem-log-collector 一个基于 Python 的自动化工具包,通过 REST API 从 Indusface AppTrana WAF 门户获取攻击日志,并将其存储在本地,以便进行 SIEM 集成或分析。 📌 概述 本项目由两个协同工作的脚本组成: [1] Generate_AuthToken.py:与 AppTrana API 进行身份验证,并在本地保存 Bearer token。 [2] Fetch_AttackLogs.py:使用保存的 token 获取过去 5 分钟的攻击日志,并将其写入每日日志文件中。 这些脚本旨在通过计划任务(例如,通过 Windows 任务计划程序或 cron)进行调度,以持续将 WAF 攻击数据拉取到本地 SIEM pipeline 中。 🗂️ 项目结构 ``` apptrana-siem-log-collector ├── Generate_AuthToken.py # Step 1: Generate and store auth token ├── Fetch_AttackLogs.py # Step 2: Fetch and log attack data ├── README.md └── logs/ # Auto-created folder for output logs ├── Indusface.ini # Stores the active Bearer token ├── indusface-YYYY-MM-DD.log # Daily attack log files └── Error.log # Error tracking ``` ⚙️ 前置条件 ``` Python 3.7+ requests library ``` 安装依赖项: ``` pip install requests ``` 🔧 配置说明 在运行之前,请更新 "Generate_AuthToken.py" 中的以下变量: ``` pythonLog_Folder = r'path\to\your\log\folder' # Where logs and token will be stored API_ID = 'your_api_id' API_Key = 'your_api_key' And update Log_Folder in Fetch_AttackLogs.py to match the same path. ``` ⚠️ 重要提示:切勿将您的真实 API_ID 或 API_Key 提交到公共仓库。在生产环境中,请使用环境变量或 .env 文件。 🚀 用法 第 1 步 — 生成 Auth Token 首先运行此命令进行身份验证并保存 token: ``` python Generate_AuthToken.py ``` 这将会创建或更新 Indusface.ini,并写入一个新的 Bearer token。 第 2 步 — 获取攻击日志 运行此命令从 AppTrana 拉取最新的攻击数据: ``` python Fetch_AttackLogs.py ``` 日志将保存到您配置的日志文件夹中的 indusface-YYYY-MM-DD.log 文件中。 🕐 通过任务计划程序实现自动化 要每 24 小时 5 分钟运行一次这两个脚本: ``` Open Task Scheduler → Create Basic Task Set trigger: Every 24 hour & 5 minutes Action: Run python Generate_AuthToken.py for every 24 hour & Fetch_AttackLogs.py for every 5 mins. ``` 请确保工作目录已设置为该项目的文件夹 📄 日志格式 每日日志文件中的每一行代表一条由 AppTrana API 返回的攻击记录: ``` {'attack_type': 'SQLi', 'src_ip': '1.2.3.4', 'timestamp': ..., ...} ``` 错误信息及其时间戳将被记录到 Error.log 中: ``` 14:32:01 ConnectionError: ... ``` 🔒 安全提示 本项目使用基于 API key 的身份验证。为了在生产环境中获得更好的安全性: ``` Store credentials in environment variables Add Indusface.ini and *.log to .gitignore ``` 👤 作者 Meet Pandya MSS Engineer — Indusface Private Limited [LinkedIn](https://www.linkedin.com/in/meet-pandya-soc/) 📃 许可证 本项目仅供内部或个人使用。不附属于 Indusface Pvt. Ltd.,也未获得其官方认可。
标签:Python, REST API, SIEM集成, WAF日志, 数字取证, 无后门, 日志采集, 自动化脚本, 运维工具, 逆向工具