dracangelo/cyber-threat-intel-dash

GitHub: dracangelo/cyber-threat-intel-dash

聚合多个主流威胁情报源数据的实时可视化仪表板,提供统一检索、态势展示和告警功能。

Stars: 0 | Forks: 0

# 🛡️ 网络威胁情报仪表板 一个实时网络威胁情报仪表板,聚合来自多个威胁情报源(包括 AbuseIPDB、AlienVault OTX 和 VirusTotal)的数据。该仪表板通过可视化和实时监控提供可操作的情报。 ## 🚀 功能 - **多源集成**:聚合来自 AbuseIPDB、AlienVault OTX 和 VirusTotal 的威胁数据 - **实时更新**:每 30 秒自动刷新数据 - **交互式可视化**:用于威胁分析的图表和图形 - **告警系统**:针对高优先级威胁的实时告警 - **指标搜索**:跨所有源搜索 IP、域名、URL 和哈希值 - **威胁时间线**:7 天威胁活动时间线 - **源状态监控**:所有数据源的实时状态 - **响应式设计**:支持桌面和移动设备 ## 📋 前置条件 - Python 3.8 或更高版本 - 威胁情报源的 API 密钥(见设置部分) - Git(用于克隆) ## 🛠️ 安装说明 ### 1. 克隆仓库 ``` git clone cd cyber-threat-dashboard ``` ### 2. 创建虚拟环境 ``` python -m venv venv # 在 Windows 上 venv\Scripts\activate # 在 macOS/Linux 上 source venv/bin/activate ``` ### 3. 安装依赖 ``` pip install -r requirements.txt ``` ### 4. 配置环境变量 1. 复制示例环境文件: ``` cp .env.example .env ``` 2. 使用你的 API 密钥编辑 `.env` 文件: ``` # Threat Intelligence Feeds 的 API Keys ABUSEIPDB_API_KEY=your_abuseipdb_api_key_here VIRUSTOTAL_API_KEY=your_virustotal_api_key_here ALIENVAULT_API_KEY=your_alienvault_api_key_here # Flask 配置 FLASK_ENV=development SECRET_KEY=your_secret_key_here # Dashboard 配置 REFRESH_INTERVAL=30000 # Refresh interval in milliseconds (30 seconds) ``` ## 🔑 获取 API 密钥 ### AbuseIPDB 1. 访问 [AbuseIPDB](https://abuseipdb.com/) 2. 创建一个免费账户 3. 进入你的账户设置并生成 API 密钥 4. 将密钥复制到你的 `.env` 文件中 ### AlienVault OTX 1. 访问 [AlienVault OTX](https://otx.alienvault.com/) 2. 创建一个免费账户 3. 进入你的个人资料设置找到你的 API 密钥 4. 将密钥复制到你的 `.env` 文件中 ### VirusTotal 1. 访问 [VirusTotal](https://www.virustotal.com/) 2. 创建一个免费账户 3. 进入你的个人资料并请求 API 密钥 4. 将密钥复制到你的 `.env` 文件中 ## 🚀 运行仪表板 ### 方法 1:开发模式 ``` python app.py ``` 仪表板将可以通过 `http://localhost:8050` 访问 ### 方法 2:使用 Gunicorn 的生产模式 ``` gunicorn -w 4 -b 0.0.0.0:8050 app:server ``` ## 📊 仪表板组件 ### 关键指标卡片 - **威胁总数**:来自所有源的综合威胁计数 - **高风险指标**:高优先级威胁的数量 - **活跃活动**:当前活跃的威胁活动 - **数据源**:已连接的威胁情报源数量 ### 可视化 - **按来源划分的威胁分布**:显示威胁分布的饼图 - **趋势威胁**:热门趋势威胁的条形图 - **威胁时间线**:7 天威胁活动时间线 - **威胁类别**:威胁类型的细分 ### 告警系统 针对以下情况的实时告警: - 高滥用活动 - 新威胁活动 - 恶意软件检测 ### 搜索功能 跨所有源搜索: - IP 地址 - 域名 - URL - 文件哈希 ## 🔧 配置 ### 环境变量 | 变量 | 描述 | 默认值 | |----------|-------------|---------| | `ABUSEIPDB_API_KEY` | AbuseIPDB API 密钥 | 必需 | | `ALIENVAULT_API_KEY` | AlienVault OTX API 密钥 | 必需 | | `VIRUSTOTAL_API_KEY` | VirusTotal API 密钥 | 必需 | | `FLASK_ENV` | Flask 环境 | `development` | | `SECRET_KEY` | Flask 密钥 | 自动生成 | | `REFRESH_INTERVAL` | 仪表板刷新间隔 (ms) | `30000` | ### 速率限制 - **AbuseIPDB**:1,000 次请求/天(免费层) - **AlienVault OTX**:30 次请求/分钟(免费层) - **VirusTotal**:4 次请求/分钟(免费层) ## 🐛 故障排除 ### 常见问题 1. **API 密钥错误** - 验证 `.env` 文件中的 API 密钥是否正确 - 检查 API 密钥是否已过期 - 确保未超过速率限制 2. **连接问题** - 检查你的网络连接 - 验证防火墙设置是否允许出站连接 - 检查 API 端点是否可访问 3. **仪表板无法加载** - 确保已安装所有依赖项 - 检查端口 8050 是否可用 - 验证 Python 版本兼容性 4. **数据缺失** - 检查“数据源状态”部分 - 验证 API 密钥配置是否正确 - 检查控制台中的错误消息 ### 调试模式 通过以下设置启用调试模式: ``` FLASK_ENV=development ``` 这将提供详细的错误消息并在代码更改时自动重载。 ## 📁 项目结构 ``` cyber-threat-dashboard/ ├── app.py # Main dashboard application ├── config.py # Configuration settings ├── data_aggregator.py # Data aggregation logic ├── requirements.txt # Python dependencies ├── .env.example # Environment variables template ├── .gitignore # Git ignore file ├── README.md # This file └── threat_integrations/ # API integration modules ├── __init__.py ├── abuseipdb.py # AbuseIPDB integration ├── alienvault.py # AlienVault OTX integration └── virustotal.py # VirusTotal integration ``` ## 🤝 贡献 1. Fork 该仓库 2. 创建一个功能分支 3. 进行更改 4. 如果适用,添加测试 5. 提交 Pull Request ## 📝 许可证 本项目采用 MIT 许可证授权 - 详见 LICENSE 文件。 ## 🔒 安全注意事项 - 切勿将你的 `.env` 文件提交到版本控制 - 使用强大且唯一的 API 密钥 - 监控 API 使用情况以避免速率限制 - 考虑在生产环境中使用反向代理 - 在生产环境中启用 HTTPS ## 📈 性能优化 - 数据缓存 5 分钟以减少 API 调用 - 仪表板默认每 30 秒刷新一次 - 考虑在生产环境中使用 Redis 进行分布式缓存 - 监控 API 速率限制并实施退避策略 ## 🆘 支持 如果你遇到问题: 1. 查看故障排除部分 2. 检查控制台输出中的错误消息 3. 验证你的 API 密钥和速率限制 4. 创建包含详细信息的 Issue ## 🎯 使用案例 该仪表板非常适合: - **SOC 团队**:实时威胁监控 - **安全分析师**:威胁情报研究 - **CISO**:高管威胁报告 - **渗透测试人员**:指标研究 - **安全研究人员**:威胁趋势分析 ## 🔄 未来增强 - 更多威胁情报源 - 基于机器学习的威胁评分 - 自定义告警规则和通知 - 历史数据分析 - 报告导出功能 - 与 SIEM 系统集成 - 移动应用伴侣 **⚠️ 免责声明**:本仪表板仅用于教育和研究目的。在采取行动之前,务必从多个来源验证威胁情报。
标签:AbuseIPDB, API集成, Ask搜索, DAST, Flask, IP信誉检测, Python, SOC工具, VirusTotal, WSL, 仪表盘, 可观测性, 威胁情报, 安全运营, 开发者工具, 开源安全, 恶意软件分析, 扫描框架, 数据聚合, 无后门, 漏洞发现, 网络安全, 调试辅助, 逆向工具, 隐私保护